aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-arc.c
diff options
context:
space:
mode:
authorKazu Hirata <kazu@codesourcery.com>2001-01-14 20:36:41 +0000
committerKazu Hirata <kazu@codesourcery.com>2001-01-14 20:36:41 +0000
commit1e07b820d1e84de555260d1c4ee45f155a37d902 (patch)
treea9e90aca643d94bb5416c812eab5d2f4f4b135c1 /gas/config/tc-arc.c
parentbfb32b5207ace0393bdab29a2c1d832597fd74b5 (diff)
downloadgdb-1e07b820d1e84de555260d1c4ee45f155a37d902.zip
gdb-1e07b820d1e84de555260d1c4ee45f155a37d902.tar.gz
gdb-1e07b820d1e84de555260d1c4ee45f155a37d902.tar.bz2
2001-01-14 Kazu Hirata <kazu@hxi.com>
* config/tc-arc.c: Fix formatting.
Diffstat (limited to 'gas/config/tc-arc.c')
-rw-r--r--gas/config/tc-arc.c752
1 files changed, 376 insertions, 376 deletions
diff --git a/gas/config/tc-arc.c b/gas/config/tc-arc.c
index 30e5bb1..20e1230 100644
--- a/gas/config/tc-arc.c
+++ b/gas/config/tc-arc.c
@@ -177,7 +177,7 @@ md_parse_option (c, arg)
char *arg ATTRIBUTE_UNUSED;
{
switch (c)
- {
+ {
case OPTION_ARC:
case OPTION_ARC5:
arc_mach_type = bfd_mach_arc_5;
@@ -201,7 +201,7 @@ md_parse_option (c, arg)
break;
default:
return 0;
- }
+ }
return 1;
}
@@ -409,8 +409,8 @@ md_assemble (str)
for (opcode = (ext_opcode ? ext_opcode : std_opcode) ;
opcode != NULL;
opcode = (ARC_OPCODE_NEXT_ASM (opcode)
- ? ARC_OPCODE_NEXT_ASM (opcode)
- : (ext_opcode ? ext_opcode = NULL, std_opcode : NULL)))
+ ? ARC_OPCODE_NEXT_ASM (opcode)
+ : (ext_opcode ? ext_opcode = NULL, std_opcode : NULL)))
{
int past_opcode_p, fc, num_suffixes;
int fix_up_at = 0;
@@ -483,25 +483,25 @@ md_assemble (str)
if (operand->insert)
{
insn = (*operand->insert) (insn, operand, mods, NULL, 0, &errmsg);
- if (errmsg != (const char *) NULL)
- {
- last_errmsg = errmsg;
- if (operand->flags & ARC_OPERAND_ERROR)
- {
- as_bad (errmsg);
- return;
- }
- else if (operand->flags & ARC_OPERAND_WARN)
- as_warn (errmsg);
- break;
- }
+ if (errmsg != (const char *) NULL)
+ {
+ last_errmsg = errmsg;
+ if (operand->flags & ARC_OPERAND_ERROR)
+ {
+ as_bad (errmsg);
+ return;
+ }
+ else if (operand->flags & ARC_OPERAND_WARN)
+ as_warn (errmsg);
+ break;
+ }
if(limm_reloc_p
- && (operand->flags && operand->flags & ARC_OPERAND_LIMM)
- && (operand->flags &
- (ARC_OPERAND_ABSOLUTE_BRANCH | ARC_OPERAND_ADDRESS)))
- {
- fixups[fix_up_at].opindex = arc_operand_map[operand->fmt];
- }
+ && (operand->flags && operand->flags & ARC_OPERAND_LIMM)
+ && (operand->flags &
+ (ARC_OPERAND_ABSOLUTE_BRANCH | ARC_OPERAND_ADDRESS)))
+ {
+ fixups[fix_up_at].opindex = arc_operand_map[operand->fmt];
+ }
}
++syn;
}
@@ -549,63 +549,63 @@ md_assemble (str)
continue;
c = *t;
*t = '\0';
- if ((suf = get_ext_suffix(s)))
- ext_suffix_p = 1;
- else
- suf = hash_find (arc_suffix_hash, s);
+ if ((suf = get_ext_suffix(s)))
+ ext_suffix_p = 1;
+ else
+ suf = hash_find (arc_suffix_hash, s);
if (!suf)
{
/* This can happen in "blle foo" and we're currently using
the template "b%q%.n %j". The "bl" insn occurs later in
the table so "lle" isn't an illegal suffix. */
- *t = c;
+ *t = c;
break;
}
/* Is it the right type? Note that the same character is used
- several times, so we have to examine all of them. This is
+ several times, so we have to examine all of them. This is
relatively efficient as equivalent entries are kept
together. If it's not the right type, don't increment `str'
so we try the next one in the series. */
found = 0;
- if (ext_suffix_p && arc_operands[suf->type].fmt == *syn)
- {
- /* Insert the suffix's value into the insn. */
- *t = c;
- if (operand->insert)
- insn = (*operand->insert) (insn, operand,
- mods, NULL, suf->value,
- NULL);
- else
- insn |= suf->value << operand->shift;
-
- str = t;
- found = 1;
- }
- else
- {
- *t = c;
- suffix_end = arc_suffixes + arc_suffixes_count;
- for (suffix = suf;
- suffix < suffix_end && strcmp (suffix->name, suf->name) == 0;
- ++suffix)
- {
- if (arc_operands[suffix->type].fmt == *syn)
- {
- /* Insert the suffix's value into the insn. */
- if (operand->insert)
- insn = (*operand->insert) (insn, operand,
- mods, NULL, suffix->value,
- NULL);
- else
- insn |= suffix->value << operand->shift;
-
- str = t;
- found = 1;
- break;
- }
- }
- }
+ if (ext_suffix_p && arc_operands[suf->type].fmt == *syn)
+ {
+ /* Insert the suffix's value into the insn. */
+ *t = c;
+ if (operand->insert)
+ insn = (*operand->insert) (insn, operand,
+ mods, NULL, suf->value,
+ NULL);
+ else
+ insn |= suf->value << operand->shift;
+
+ str = t;
+ found = 1;
+ }
+ else
+ {
+ *t = c;
+ suffix_end = arc_suffixes + arc_suffixes_count;
+ for (suffix = suf;
+ suffix < suffix_end && strcmp (suffix->name, suf->name) == 0;
+ ++suffix)
+ {
+ if (arc_operands[suffix->type].fmt == *syn)
+ {
+ /* Insert the suffix's value into the insn. */
+ if (operand->insert)
+ insn = (*operand->insert) (insn, operand,
+ mods, NULL, suffix->value,
+ NULL);
+ else
+ insn |= suffix->value << operand->shift;
+
+ str = t;
+ found = 1;
+ break;
+ }
+ }
+ }
++syn;
if (!found)
; /* Wrong type. Just go on to try next insn entry. */
@@ -655,23 +655,23 @@ md_assemble (str)
}
#define IS_REG_DEST_OPERAND(o) ((o) == 'a')
else if (IS_REG_DEST_OPERAND (*syn))
- as_bad("symbol as destination register");
- else
+ as_bad("symbol as destination register");
+ else
{
- if(!strncmp(str,"@h30",4))
- {
- arc_code_symbol(&exp);
- str += 4;
- }
+ if(!strncmp(str,"@h30",4))
+ {
+ arc_code_symbol(&exp);
+ str += 4;
+ }
/* We need to generate a fixup for this expression. */
if (fc >= MAX_FIXUPS)
as_fatal ("too many fixups");
fixups[fc].exp = exp;
- /* We don't support shimm relocs. break here to force
- the assembler to output a limm */
+ /* We don't support shimm relocs. break here to force
+ the assembler to output a limm */
#define IS_REG_SHIMM_OFFSET(o) ((o) == 'd')
- if(IS_REG_SHIMM_OFFSET(*syn))
- break;
+ if(IS_REG_SHIMM_OFFSET(*syn))
+ break;
/* If this is a register constant (IE: one whose
register value gets stored as 61-63) then this
must be a limm. */
@@ -682,8 +682,8 @@ md_assemble (str)
{
const char *junk;
limm_reloc_p = 1;
- /* save this, we don't yet know what reloc to use */
- fix_up_at = fc;
+ /* save this, we don't yet know what reloc to use */
+ fix_up_at = fc;
/* Tell insert_reg we need a limm. This is
needed because the value at this point is
zero, a shimm. */
@@ -703,18 +703,18 @@ md_assemble (str)
const char *errmsg = NULL;
insn = (*operand->insert) (insn, operand, mods,
reg, (long) value, &errmsg);
- if (errmsg != (const char *) NULL)
- {
- last_errmsg = errmsg;
- if (operand->flags & ARC_OPERAND_ERROR)
- {
- as_bad (errmsg);
- return;
- }
- else if (operand->flags & ARC_OPERAND_WARN)
- as_warn (errmsg);
- break;
- }
+ if (errmsg != (const char *) NULL)
+ {
+ last_errmsg = errmsg;
+ if (operand->flags & ARC_OPERAND_ERROR)
+ {
+ as_bad (errmsg);
+ return;
+ }
+ else if (operand->flags & ARC_OPERAND_WARN)
+ as_warn (errmsg);
+ break;
+ }
}
else
insn |= (value & ((1 << operand->bits) - 1)) << operand->shift;
@@ -779,10 +779,10 @@ md_assemble (str)
be legal, but let's warn the user anyway. Ditto for 8 byte
jumps with delay slots. */
if (in_delay_slot_p && limm_p)
- as_warn ("8 byte instruction in delay slot");
+ as_warn ("8 byte instruction in delay slot");
if (delay_slot_type != ARC_DELAY_NONE
&& limm_p && arc_insn_not_jl(insn)) /* except for jl addr */
- as_warn ("8 byte jump instruction with delay slot");
+ as_warn ("8 byte jump instruction with delay slot");
in_delay_slot_p = (delay_slot_type != ARC_DELAY_NONE) && !limm_p;
/* Warn when a conditional branch immediately follows a set of
@@ -790,11 +790,11 @@ md_assemble (str)
insn that sets the condition codes uses a limm. */
if (cond_branch_p && conditional != 0 /* 0 = "always" */
&& prev_insn_needs_cc_nop_p && arc_mach_type == bfd_mach_arc_5)
- as_warn ("conditional branch follows set of flags");
+ as_warn ("conditional branch follows set of flags");
prev_insn_needs_cc_nop_p =
- /* FIXME: ??? not required:
- (delay_slot_type != ARC_DELAY_NONE) && */
- cc_set_p && !limm_p;
+ /* FIXME: ??? not required:
+ (delay_slot_type != ARC_DELAY_NONE) && */
+ cc_set_p && !limm_p;
}
/* Write out the instruction.
@@ -838,14 +838,14 @@ md_assemble (str)
if (arc_operands[fixups[i].opindex].flags & ARC_OPERAND_LIMM)
{
- /* modify the fixup addend as required by the cpu */
- fixups[i].exp.X_add_number += arc_limm_fixup_adjust(insn);
+ /* modify the fixup addend as required by the cpu */
+ fixups[i].exp.X_add_number += arc_limm_fixup_adjust(insn);
op_type = fixups[i].opindex;
/* FIXME: can we add this data to the operand table? */
if (op_type == arc_operand_map['L']
- || op_type == arc_operand_map['s']
- || op_type == arc_operand_map['o']
- || op_type == arc_operand_map['O'])
+ || op_type == arc_operand_map['s']
+ || op_type == arc_operand_map['o']
+ || op_type == arc_operand_map['O'])
reloc_type = BFD_RELOC_32;
else if (op_type == arc_operand_map['J'])
reloc_type = BFD_RELOC_ARC_B26;
@@ -906,16 +906,16 @@ arc_extoper (opertype)
name = xstrdup(name);
if (NULL == name)
{
- ignore_rest_of_line();
- return;
+ ignore_rest_of_line();
+ return;
}
p = name;
while (*p)
{
- if (isupper(*p))
- *p = tolower(*p);
- p++;
+ if (isupper(*p))
+ *p = tolower(*p);
+ p++;
}
/* just after name is now '\0' */
@@ -936,10 +936,10 @@ arc_extoper (opertype)
if(number < 0)
{
- as_bad ("negative operand number %d",number);
- ignore_rest_of_line();
- free(name);
- return;
+ as_bad ("negative operand number %d",number);
+ ignore_rest_of_line();
+ free(name);
+ return;
}
if (opertype)
@@ -947,120 +947,120 @@ arc_extoper (opertype)
SKIP_WHITESPACE();
if (*input_line_pointer != ',')
- {
- as_bad ("expected comma after register-number");
- ignore_rest_of_line ();
- free(name);
- return;
- }
+ {
+ as_bad ("expected comma after register-number");
+ ignore_rest_of_line ();
+ free(name);
+ return;
+ }
input_line_pointer++; /* skip ',' */
mode = input_line_pointer;
if (!strncmp(mode, "r|w",3))
- {
- imode = 0;
- input_line_pointer += 3;
- }
- else
- {
- if (!strncmp(mode,"r",1))
- {
- imode = ARC_REGISTER_READONLY;
- input_line_pointer += 1;
- }
- else
- {
- if (strncmp(mode,"w",1))
- {
- as_bad ("invalid mode");
- ignore_rest_of_line();
- free(name);
- return;
- }
- else
- {
- imode = ARC_REGISTER_WRITEONLY;
- input_line_pointer += 1;
- }
- }
- }
- SKIP_WHITESPACE();
- if (1 == opertype)
- {
- if (*input_line_pointer != ',')
- {
- as_bad ("expected comma after register-mode");
- ignore_rest_of_line ();
- free(name);
- return;
- }
-
- input_line_pointer++; /* skip ',' */
-
- if(!strncmp(input_line_pointer,"cannot_shortcut",15))
- {
- imode |= arc_get_noshortcut_flag();
- input_line_pointer += 15;
- }
+ {
+ imode = 0;
+ input_line_pointer += 3;
+ }
else
- {
- if(strncmp(input_line_pointer,"can_shortcut",12))
- {
- as_bad ("shortcut designator invalid");
- ignore_rest_of_line();
- free(name);
- return;
- }
- else
- {
- input_line_pointer += 12;
- }
- }
- }
- }
+ {
+ if (!strncmp(mode,"r",1))
+ {
+ imode = ARC_REGISTER_READONLY;
+ input_line_pointer += 1;
+ }
+ else
+ {
+ if (strncmp(mode,"w",1))
+ {
+ as_bad ("invalid mode");
+ ignore_rest_of_line();
+ free(name);
+ return;
+ }
+ else
+ {
+ imode = ARC_REGISTER_WRITEONLY;
+ input_line_pointer += 1;
+ }
+ }
+ }
+ SKIP_WHITESPACE();
+ if (1 == opertype)
+ {
+ if (*input_line_pointer != ',')
+ {
+ as_bad ("expected comma after register-mode");
+ ignore_rest_of_line ();
+ free(name);
+ return;
+ }
+
+ input_line_pointer++; /* skip ',' */
+
+ if(!strncmp(input_line_pointer,"cannot_shortcut",15))
+ {
+ imode |= arc_get_noshortcut_flag();
+ input_line_pointer += 15;
+ }
+ else
+ {
+ if(strncmp(input_line_pointer,"can_shortcut",12))
+ {
+ as_bad ("shortcut designator invalid");
+ ignore_rest_of_line();
+ free(name);
+ return;
+ }
+ else
+ {
+ input_line_pointer += 12;
+ }
+ }
+ }
+ }
if ((opertype == 1) && number > 60)
- {
- as_bad("core register value (%d) too large", number);
- ignore_rest_of_line();
- free(name);
- return;
- }
+ {
+ as_bad("core register value (%d) too large", number);
+ ignore_rest_of_line();
+ free(name);
+ return;
+ }
if ((opertype == 0) && number > 31)
- {
- as_bad("condition code value (%d) too large", number);
- ignore_rest_of_line();
- free(name);
- return;
- }
+ {
+ as_bad("condition code value (%d) too large", number);
+ ignore_rest_of_line();
+ free(name);
+ return;
+ }
ext_oper = (struct arc_ext_operand_value *) \
- xmalloc(sizeof (struct arc_ext_operand_value));
+ xmalloc(sizeof (struct arc_ext_operand_value));
if(opertype)
{
/* if the symbol already exists, point it at the new definition */
if ((symbolP = symbol_find (name)))
- {
- if (S_GET_SEGMENT(symbolP) == reg_section)
- S_SET_VALUE(symbolP,(int)&ext_oper->operand);
- else
- {
- as_bad("attempt to override symbol: %s",name);
- ignore_rest_of_line();
- free(name);
- free(ext_oper);
- return;
- }
- }
+ {
+ if (S_GET_SEGMENT(symbolP) == reg_section)
+ S_SET_VALUE(symbolP,(int)&ext_oper->operand);
+ else
+ {
+ as_bad("attempt to override symbol: %s",name);
+ ignore_rest_of_line();
+ free(name);
+ free(ext_oper);
+ return;
+ }
+ }
else
- {
- /* If its not there, add it */
- symbol_table_insert (symbol_create (name, reg_section,
- (int) &ext_oper->operand, &zero_address_frag));
- }
+ {
+ /* If its not there, add it */
+ symbol_table_insert (symbol_create (name, reg_section,
+ (int) &ext_oper->operand, &zero_address_frag));
+ }
}
ext_oper->operand.name = name;
@@ -1071,8 +1071,8 @@ arc_extoper (opertype)
ext_oper->next = arc_ext_operands;
arc_ext_operands = ext_oper;
-/* ok, now that we know what this operand is, put a description
- in the arc extension section of the output file */
+ /* ok, now that we know what this operand is, put a description
+ in the arc extension section of the output file */
old_sec = now_seg;
old_subsec = now_subseg;
@@ -1080,54 +1080,54 @@ arc_extoper (opertype)
arc_set_ext_seg();
switch (opertype)
- {
- case 0:
- p = frag_more(1);
- *p = 3 + strlen(name) + 1;
- p = frag_more(1);
- *p = EXT_COND_CODE;
- p = frag_more(1);
- *p = number;
- p = frag_more(strlen(name) + 1);
- strcpy(p,name);
- break;
- case 1:
- p = frag_more(1);
- *p = 3 + strlen(name) + 1;
- p = frag_more(1);
- *p = EXT_CORE_REGISTER;
- p = frag_more(1);
- *p = number;
- p = frag_more(strlen(name) + 1);
- strcpy(p,name);
- break;
- case 2:
- p = frag_more(1);
- *p = 6 + strlen(name) + 1;
- p = frag_more(1);
- *p = EXT_AUX_REGISTER;
- p = frag_more(1);
- *p = number >> 24 & 0xff;
- p = frag_more(1);
- *p = number >> 16 & 0xff;
- p = frag_more(1);
- *p = number >> 8 & 0xff;
- p = frag_more(1);
- *p = number & 0xff;
- p = frag_more(strlen(name) + 1);
- strcpy(p,name);
- break;
- default:
- as_bad("invalid opertype");
- ignore_rest_of_line();
- free(name);
- return;
- break;
- }
+ {
+ case 0:
+ p = frag_more(1);
+ *p = 3 + strlen(name) + 1;
+ p = frag_more(1);
+ *p = EXT_COND_CODE;
+ p = frag_more(1);
+ *p = number;
+ p = frag_more(strlen(name) + 1);
+ strcpy(p,name);
+ break;
+ case 1:
+ p = frag_more(1);
+ *p = 3 + strlen(name) + 1;
+ p = frag_more(1);
+ *p = EXT_CORE_REGISTER;
+ p = frag_more(1);
+ *p = number;
+ p = frag_more(strlen(name) + 1);
+ strcpy(p,name);
+ break;
+ case 2:
+ p = frag_more(1);
+ *p = 6 + strlen(name) + 1;
+ p = frag_more(1);
+ *p = EXT_AUX_REGISTER;
+ p = frag_more(1);
+ *p = number >> 24 & 0xff;
+ p = frag_more(1);
+ *p = number >> 16 & 0xff;
+ p = frag_more(1);
+ *p = number >> 8 & 0xff;
+ p = frag_more(1);
+ *p = number & 0xff;
+ p = frag_more(strlen(name) + 1);
+ strcpy(p,name);
+ break;
+ default:
+ as_bad("invalid opertype");
+ ignore_rest_of_line();
+ free(name);
+ return;
+ break;
+ }
subseg_set (old_sec, old_subsec);
-/* enter all registers into the symbol table */
+ /* enter all registers into the symbol table */
demand_empty_rest_of_line();
}
@@ -1155,8 +1155,8 @@ arc_extinst (ignore)
name = xstrdup(name);
if (NULL == name)
{
- ignore_rest_of_line();
- return;
+ ignore_rest_of_line();
+ return;
}
strcpy(syntax,name);
name_len = strlen(name);
@@ -1191,28 +1191,28 @@ arc_extinst (ignore)
if(subopcode < 0)
{
- as_bad ("negative subopcode %d",subopcode);
- ignore_rest_of_line();
- return;
+ as_bad ("negative subopcode %d",subopcode);
+ ignore_rest_of_line();
+ return;
}
if(subopcode)
{
- if(3 != opcode)
- {
- as_bad ("subcode value found when opcode not equal 0x03");
- ignore_rest_of_line();
- return;
- }
- else
- {
- if (subopcode < 0x09 || subopcode == 0x3f)
- {
- as_bad ("invalid subopcode %d", subopcode);
- ignore_rest_of_line();
- return;
- }
- }
+ if(3 != opcode)
+ {
+ as_bad ("subcode value found when opcode not equal 0x03");
+ ignore_rest_of_line();
+ return;
+ }
+ else
+ {
+ if (subopcode < 0x09 || subopcode == 0x3f)
+ {
+ as_bad ("invalid subopcode %d", subopcode);
+ ignore_rest_of_line();
+ return;
+ }
+ }
}
SKIP_WHITESPACE ();
@@ -1228,12 +1228,12 @@ arc_extinst (ignore)
for(i = 0; i < (int) MAXSUFFIXCLASS; i++)
{
- if(!strncmp(suffixclass[i].name,input_line_pointer, suffixclass[i].len))
- {
- suffixcode = i;
- input_line_pointer += suffixclass[i].len;
- break;
- }
+ if(!strncmp(suffixclass[i].name,input_line_pointer, suffixclass[i].len))
+ {
+ suffixcode = i;
+ input_line_pointer += suffixclass[i].len;
+ break;
+ }
}
if(-1 == suffixcode)
@@ -1256,12 +1256,12 @@ arc_extinst (ignore)
for(i = 0; i < (int) MAXSYNTAXCLASS; i++)
{
- if(!strncmp(syntaxclass[i].name,input_line_pointer, syntaxclass[i].len))
- {
- class = syntaxclass[i].class;
- input_line_pointer += syntaxclass[i].len;
- break;
- }
+ if(!strncmp(syntaxclass[i].name,input_line_pointer, syntaxclass[i].len))
+ {
+ class = syntaxclass[i].class;
+ input_line_pointer += syntaxclass[i].len;
+ break;
+ }
}
if(0 == (SYNTAX_VALID & class))
@@ -1279,25 +1279,25 @@ arc_extinst (ignore)
}
switch (suffixcode)
- {
- case 0:
- strcat(syntax,"%.q%.f ");
- break;
- case 1:
- strcat(syntax,"%.f ");
- break;
- case 2:
- strcat(syntax,"%.q ");
- break;
- case 3:
- strcat(syntax," ");
- break;
- default:
- as_bad("unknown suffix class");
- ignore_rest_of_line();
- return;
- break;
- };
+ {
+ case 0:
+ strcat(syntax,"%.q%.f ");
+ break;
+ case 1:
+ strcat(syntax,"%.f ");
+ break;
+ case 2:
+ strcat(syntax,"%.q ");
+ break;
+ case 3:
+ strcat(syntax," ");
+ break;
+ default:
+ as_bad("unknown suffix class");
+ ignore_rest_of_line();
+ return;
+ break;
+ };
strcat(syntax,((opcode == 0x3) ? "%a,%b" : ((class & SYNTAX_3OP) ? "%a,%b,%c" : "%b,%c")));
if(suffixcode < 2)
@@ -1307,15 +1307,15 @@ arc_extinst (ignore)
ext_op = (struct arc_opcode *) xmalloc(sizeof (struct arc_opcode));
if(NULL == ext_op)
{
- ignore_rest_of_line ();
- return;
+ ignore_rest_of_line ();
+ return;
}
ext_op->syntax = xstrdup(syntax);
if (NULL == ext_op->syntax)
{
- ignore_rest_of_line ();
- return;
+ ignore_rest_of_line ();
+ return;
}
ext_op->mask = I(-1) | ((0x3 == opcode) ? C(-1) : 0 );
@@ -1325,8 +1325,8 @@ arc_extinst (ignore)
ext_op->next_dis = arc_ext_opcodes;
arc_ext_opcodes = ext_op;
-/* ok, now that we know what this inst is, put a description in
- the arc extension section of the output file */
+ /* ok, now that we know what this inst is, put a description in
+ the arc extension section of the output file */
old_sec = now_seg;
old_subsec = now_subseg;
@@ -1634,32 +1634,32 @@ arc_code_symbol(expressionP)
expressionS *expressionP;
{
if (expressionP->X_op == O_symbol && expressionP->X_add_number == 0
- /* I think this test is unnecessary but just as a sanity check... */
- && expressionP->X_op_symbol == NULL)
+ /* I think this test is unnecessary but just as a sanity check... */
+ && expressionP->X_op_symbol == NULL)
{
- expressionS two;
- expressionP->X_op = O_right_shift;
- two.X_op = O_constant;
- two.X_add_symbol = two.X_op_symbol = NULL;
- two.X_add_number = 2;
- expressionP->X_op_symbol = make_expr_symbol (&two);
+ expressionS two;
+ expressionP->X_op = O_right_shift;
+ two.X_op = O_constant;
+ two.X_add_symbol = two.X_op_symbol = NULL;
+ two.X_add_number = 2;
+ expressionP->X_op_symbol = make_expr_symbol (&two);
}
- /* allow %st(sym1-sym2) */
+ /* allow %st(sym1-sym2) */
else if (expressionP->X_op == O_subtract && expressionP->X_add_symbol != NULL
- && expressionP->X_op_symbol != NULL && expressionP->X_add_number == 0)
+ && expressionP->X_op_symbol != NULL && expressionP->X_add_number == 0)
{
- expressionS two;
- expressionP->X_add_symbol = make_expr_symbol (expressionP);
- expressionP->X_op = O_right_shift;
- two.X_op = O_constant;
- two.X_add_symbol = two.X_op_symbol = NULL;
- two.X_add_number = 2;
- expressionP->X_op_symbol = make_expr_symbol (&two);
+ expressionS two;
+ expressionP->X_add_symbol = make_expr_symbol (expressionP);
+ expressionP->X_op = O_right_shift;
+ two.X_op = O_constant;
+ two.X_add_symbol = two.X_op_symbol = NULL;
+ two.X_add_number = 2;
+ expressionP->X_op_symbol = make_expr_symbol (&two);
}
else
{
- as_bad ("expression too complex code symbol");
- return;
+ as_bad ("expression too complex code symbol");
+ return;
}
}
@@ -1682,46 +1682,46 @@ md_operand (expressionP)
if (*p == '%')
if(strncmp (p, "%st(", 4) == 0)
{
- input_line_pointer += 4;
- expression (expressionP);
- if (*input_line_pointer != ')')
- {
- as_bad ("missing ')' in %%-op");
- return;
- }
- ++input_line_pointer;
- arc_code_symbol(expressionP);
+ input_line_pointer += 4;
+ expression (expressionP);
+ if (*input_line_pointer != ')')
+ {
+ as_bad ("missing ')' in %%-op");
+ return;
+ }
+ ++input_line_pointer;
+ arc_code_symbol(expressionP);
}
- else
- { /* it could be a register */
- int i,l;
- struct arc_ext_operand_value *ext_oper = arc_ext_operands;
- p++;
+ else
+ { /* it could be a register */
+ int i,l;
+ struct arc_ext_operand_value *ext_oper = arc_ext_operands;
+ p++;
- while (ext_oper)
- {
- l = strlen(ext_oper->operand.name);
- if(!strncmp(p,ext_oper->operand.name,l) && !isalnum(*(p + l)))
- {
- input_line_pointer += l + 1;
- expressionP->X_op = O_register;
- expressionP->X_add_number = (int) &ext_oper->operand;
- return;
- }
- ext_oper = ext_oper->next;
- }
- for (i = 0; i < arc_reg_names_count; i++)
- {
- l = strlen(arc_reg_names[i].name);
- if(!strncmp(p,arc_reg_names[i].name,l) && !isalnum(*(p + l)))
- {
- input_line_pointer += l + 1;
- expressionP->X_op = O_register;
- expressionP->X_add_number = (int) &arc_reg_names[i];
- break;
- }
+ while (ext_oper)
+ {
+ l = strlen(ext_oper->operand.name);
+ if(!strncmp(p,ext_oper->operand.name,l) && !isalnum(*(p + l)))
+ {
+ input_line_pointer += l + 1;
+ expressionP->X_op = O_register;
+ expressionP->X_add_number = (int) &ext_oper->operand;
+ return;
+ }
+ ext_oper = ext_oper->next;
+ }
+ for (i = 0; i < arc_reg_names_count; i++)
+ {
+ l = strlen(arc_reg_names[i].name);
+ if(!strncmp(p,arc_reg_names[i].name,l) && !isalnum(*(p + l)))
+ {
+ input_line_pointer += l + 1;
+ expressionP->X_op = O_register;
+ expressionP->X_add_number = (int) &arc_reg_names[i];
+ break;
+ }
+ }
}
- }
}
/* We have no need to default values of symbols.
@@ -1751,17 +1751,17 @@ arc_parse_cons_expression (exp, nbytes)
int code_symbol_fix = 0;
for (;! is_end_of_line[(unsigned char) *p]; p++)
- if (*p == '@' && !strncmp(p,"@h30",4))
- {
- code_symbol_fix = 1;
- strcpy(p,"; ");
- }
- expr (0, exp);
- if (code_symbol_fix)
+ if (*p == '@' && !strncmp(p,"@h30",4))
{
- arc_code_symbol(exp);
- input_line_pointer = p;
+ code_symbol_fix = 1;
+ strcpy(p,"; ");
}
+ expr (0, exp);
+ if (code_symbol_fix)
+ {
+ arc_code_symbol(exp);
+ input_line_pointer = p;
+ }
}
/* Record a fixup for a cons expression. */