summaryrefslogtreecommitdiff
path: root/cpu/iq2000.opc
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2005-07-01 11:16:33 +0000
committerNick Clifton <nickc@redhat.com>2005-07-01 11:16:33 +0000
commit3dab4ae989818bdf66191ec925eb7853d2540d82 (patch)
tree3bb738a6b161ddff067f17a6999294b9721c58aa /cpu/iq2000.opc
parent110107edc3240d21acd2b8d4f55090eeb4c9972e (diff)
downloadbinutils-redhat-3dab4ae989818bdf66191ec925eb7853d2540d82.tar.gz
Update function declarations to ISO C90 formatting
Diffstat (limited to 'cpu/iq2000.opc')
-rw-r--r--cpu/iq2000.opc138
1 files changed, 66 insertions, 72 deletions
diff --git a/cpu/iq2000.opc b/cpu/iq2000.opc
index 0bc16b5921..5da6911a1c 100644
--- a/cpu/iq2000.opc
+++ b/cpu/iq2000.opc
@@ -1,6 +1,6 @@
/* IQ2000 opcode support. -*- C -*-
- Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2002, 2005 Free Software Foundation, Inc.
Contributed by Red Hat Inc; developed under contract from Fujitsu.
@@ -18,9 +18,8 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
-
-*/
+ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+ MA 02110-1301, USA. */
/* This file is an addendum to iq2000.cpu. Heavy use of C code isn't
appropriate in .cpu files, so it resides here. This especially applies
@@ -35,8 +34,7 @@
<arch>-opc.c additions use: "-- opc.c"
<arch>-asm.c additions use: "-- asm.c"
<arch>-dis.c additions use: "-- dis.c"
- <arch>-ibd.h additions use: "-- ibd.h"
-*/
+ <arch>-ibd.h additions use: "-- ibd.h". */
/* -- opc.h */
@@ -52,30 +50,30 @@
instructions have same mnemonics but different functionality. */
#define CGEN_VALIDATE_INSN_SUPPORTED
-extern int iq2000_cgen_insn_supported (CGEN_CPU_DESC cd, const CGEN_INSN *insn);
+extern int iq2000_cgen_insn_supported (CGEN_CPU_DESC, const CGEN_INSN *);
/* -- asm.c */
-static const char * parse_mimm PARAMS ((CGEN_CPU_DESC, const char **, int, long *));
-static const char * parse_imm PARAMS ((CGEN_CPU_DESC, const char **, int, unsigned long *));
-static const char * parse_hi16 PARAMS ((CGEN_CPU_DESC, const char **, int, unsigned long *));
-static const char * parse_lo16 PARAMS ((CGEN_CPU_DESC, const char **, int, long *));
+
+#include "safe-ctype.h"
+
+static const char * MISSING_CLOSING_PARENTHESIS = N_("missing `)'");
/* Special check to ensure that instruction exists for given machine. */
+
int
-iq2000_cgen_insn_supported (cd, insn)
- CGEN_CPU_DESC cd;
- const CGEN_INSN *insn;
+iq2000_cgen_insn_supported (CGEN_CPU_DESC cd, const CGEN_INSN *insn)
{
int machs = cd->machs;
- return ((CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_MACH) & machs) != 0);
+ return (CGEN_INSN_ATTR_VALUE (insn, CGEN_INSN_MACH) & machs) != 0;
}
-static int iq2000_cgen_isa_register (strp)
- const char **strp;
+static int
+iq2000_cgen_isa_register (const char **strp)
{
int len;
int ch1, ch2;
+
if (**strp == 'r' || **strp == 'R')
{
len = strlen (*strp);
@@ -95,7 +93,9 @@ static int iq2000_cgen_isa_register (strp)
return 1;
}
}
- if (**strp == '%' && tolower((*strp)[1]) != 'l' && tolower((*strp)[1]) != 'h')
+ if (**strp == '%'
+ && TOLOWER ((*strp)[1]) != 'l'
+ && TOLOWER ((*strp)[1]) != 'h')
return 1;
return 0;
}
@@ -103,16 +103,14 @@ static int iq2000_cgen_isa_register (strp)
/* Handle negated literal. */
static const char *
-parse_mimm (cd, strp, opindex, valuep)
- CGEN_CPU_DESC cd;
- const char **strp;
- int opindex;
- long *valuep;
+parse_mimm (CGEN_CPU_DESC cd,
+ const char **strp,
+ int opindex,
+ unsigned long *valuep)
{
const char *errmsg;
- long value;
- /* Verify this isn't a register */
+ /* Verify this isn't a register. */
if (iq2000_cgen_isa_register (strp))
errmsg = _("immediate value cannot be register");
else
@@ -123,7 +121,8 @@ parse_mimm (cd, strp, opindex, valuep)
if (errmsg == NULL)
{
long x = (-value) & 0xFFFF0000;
- if (x != 0 && x != 0xFFFF0000)
+
+ if (x != 0 && x != (long) 0xFFFF0000)
errmsg = _("immediate value out of range");
else
*valuep = (-value & 0xFFFF);
@@ -135,14 +134,12 @@ parse_mimm (cd, strp, opindex, valuep)
/* Handle signed/unsigned literal. */
static const char *
-parse_imm (cd, strp, opindex, valuep)
- CGEN_CPU_DESC cd;
- const char **strp;
- int opindex;
- unsigned long *valuep;
+parse_imm (CGEN_CPU_DESC cd,
+ const char **strp,
+ int opindex,
+ unsigned long *valuep)
{
const char *errmsg;
- long value;
if (iq2000_cgen_isa_register (strp))
errmsg = _("immediate value cannot be register");
@@ -154,7 +151,8 @@ parse_imm (cd, strp, opindex, valuep)
if (errmsg == NULL)
{
long x = value & 0xFFFF0000;
- if (x != 0 && x != 0xFFFF0000)
+
+ if (x != 0 && x != (long) 0xFFFF0000)
errmsg = _("immediate value out of range");
else
*valuep = (value & 0xFFFF);
@@ -166,23 +164,23 @@ parse_imm (cd, strp, opindex, valuep)
/* Handle iq10 21-bit jmp offset. */
static const char *
-parse_jtargq10 (cd, strp, opindex, reloc, type_addr, valuep)
- CGEN_CPU_DESC cd;
- const char **strp;
- int opindex;
- int reloc;
- enum cgen_parse_operand_result *type_addr;
- bfd_vma *valuep;
+parse_jtargq10 (CGEN_CPU_DESC cd,
+ const char **strp,
+ int opindex,
+ int reloc ATTRIBUTE_UNUSED,
+ enum cgen_parse_operand_result *type_addr ATTRIBUTE_UNUSED,
+ bfd_vma *valuep)
{
const char *errmsg;
bfd_vma value;
enum cgen_parse_operand_result result_type = CGEN_PARSE_OPERAND_RESULT_NUMBER;
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_IQ2000_OFFSET_21,
- &result_type, &value);
+ & result_type, & value);
if (errmsg == NULL && result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
{
- /* Check value is within 23-bits (remembering that 2-bit shift right will occur). */
+ /* Check value is within 23-bits
+ (remembering that 2-bit shift right will occur). */
if (value > 0x7fffff)
return _("21-bit offset out of range");
}
@@ -193,11 +191,10 @@ parse_jtargq10 (cd, strp, opindex, reloc, type_addr, valuep)
/* Handle high(). */
static const char *
-parse_hi16 (cd, strp, opindex, valuep)
- CGEN_CPU_DESC cd;
- const char **strp;
- int opindex;
- unsigned long *valuep;
+parse_hi16 (CGEN_CPU_DESC cd,
+ const char **strp,
+ int opindex,
+ unsigned long *valuep)
{
if (strncasecmp (*strp, "%hi(", 4) == 0)
{
@@ -207,17 +204,17 @@ parse_hi16 (cd, strp, opindex, valuep)
*strp += 4;
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_HI16,
- &result_type, &value);
+ & result_type, & value);
if (**strp != ')')
- return _("missing `)'");
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
{
- /* if value has top-bit of %lo on, then it will
+ /* If value has top-bit of %lo on, then it will
sign-propagate and so we compensate by adding
- 1 to the resultant %hi value */
+ 1 to the resultant %hi value. */
if (value & 0x8000)
value += 0x10000;
value >>= 16;
@@ -227,8 +224,8 @@ parse_hi16 (cd, strp, opindex, valuep)
return errmsg;
}
- /* we add %uhi in case a user just wants the high 16-bits or is using
- an insn like ori for %lo which does not sign-propagate */
+ /* We add %uhi in case a user just wants the high 16-bits or is using
+ an insn like ori for %lo which does not sign-propagate. */
if (strncasecmp (*strp, "%uhi(", 5) == 0)
{
enum cgen_parse_operand_result result_type;
@@ -237,16 +234,15 @@ parse_hi16 (cd, strp, opindex, valuep)
*strp += 5;
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_IQ2000_UHI16,
- &result_type, &value);
+ & result_type, & value);
if (**strp != ')')
- return _("missing `)'");
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
- {
- value >>= 16;
- }
+ value >>= 16;
+
*valuep = value;
return errmsg;
@@ -260,11 +256,10 @@ parse_hi16 (cd, strp, opindex, valuep)
handles the case where %lo() isn't present. */
static const char *
-parse_lo16 (cd, strp, opindex, valuep)
- CGEN_CPU_DESC cd;
- const char **strp;
- int opindex;
- long *valuep;
+parse_lo16 (CGEN_CPU_DESC cd,
+ const char **strp,
+ int opindex,
+ long *valuep)
{
if (strncasecmp (*strp, "%lo(", 4) == 0)
{
@@ -274,9 +269,9 @@ parse_lo16 (cd, strp, opindex, valuep)
*strp += 4;
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_LO16,
- &result_type, &value);
+ & result_type, & value);
if (**strp != ')')
- return _("missing `)'");
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)
@@ -293,11 +288,10 @@ parse_lo16 (cd, strp, opindex, valuep)
handles the case where %lo() isn't present. */
static const char *
-parse_mlo16 (cd, strp, opindex, valuep)
- CGEN_CPU_DESC cd;
- const char **strp;
- int opindex;
- long *valuep;
+parse_mlo16 (CGEN_CPU_DESC cd,
+ const char **strp,
+ int opindex,
+ long *valuep)
{
if (strncasecmp (*strp, "%lo(", 4) == 0)
{
@@ -307,9 +301,9 @@ parse_mlo16 (cd, strp, opindex, valuep)
*strp += 4;
errmsg = cgen_parse_address (cd, strp, opindex, BFD_RELOC_LO16,
- &result_type, &value);
+ & result_type, & value);
if (**strp != ')')
- return _("missing `)'");
+ return MISSING_CLOSING_PARENTHESIS;
++*strp;
if (errmsg == NULL
&& result_type == CGEN_PARSE_OPERAND_RESULT_NUMBER)