* cgen/opcodes fix
authorFrank Ch. Eigler <fche@redhat.com>
Tue, 16 May 2000 19:28:07 +0000 (19:28 +0000)
committerFrank Ch. Eigler <fche@redhat.com>
Tue, 16 May 2000 19:28:07 +0000 (19:28 +0000)
* approved by nickc

[opcodes/ChangeLog]
2000-05-16  Frank Ch. Eigler  <fche@redhat.com>

* fr30-desc.h: Partially regenerated to account for changed
CGEN_MAX_* -> CGEN_ACTUAL_MAX_* macros.
* m32r-desc.h: Ditto.

[include/opcode/ChangeLog]
2000-05-16  Frank Ch. Eigler  <fche@redhat.com>

* cgen.h (CGEN_MAX_SYNTAX_BYTES): Increase to 32.  Check that
it exceeds CGEN_ACTUAL_MAX_SYNTAX_BYTES, if set.
(CGEN_MAX_IFMT_OPERANDS): Increase to 16.  Check that it exceeds
CGEN_ACTUAL_MAX_IFMT_OPERANDS, if set.

include/opcode/ChangeLog
include/opcode/cgen.h
opcodes/ChangeLog
opcodes/fr30-desc.h
opcodes/m32r-desc.h

index 3e53ace..0f30a7a 100644 (file)
@@ -1,3 +1,10 @@
+2000-05-16  Frank Ch. Eigler  <fche@redhat.com>
+
+       * cgen.h (CGEN_MAX_SYNTAX_BYTES): Increase to 32.  Check that
+       it exceeds CGEN_ACTUAL_MAX_SYNTAX_BYTES, if set.
+       (CGEN_MAX_IFMT_OPERANDS): Increase to 16.  Check that it exceeds
+       CGEN_ACTUAL_MAX_IFMT_OPERANDS, if set.
+
 2000-05-13  Alan Modra  <alan@linuxcare.com.au>,
 
        * i386.h (i386_optab): Cpu686 for sysenter,sysexit,fxsave,fxrestore.
index 0cff7c8..1db272b 100644 (file)
@@ -735,9 +735,17 @@ typedef struct
    into the operand table.  The operand table doesn't exist in C, per se, as
    the data is recorded in the parse/insert/extract/print switch statements. */
 
-#ifndef CGEN_MAX_SYNTAX_BYTES
-#define CGEN_MAX_SYNTAX_BYTES 16
+/* This should be at least as large as necessary for any target. */
+#define CGEN_MAX_SYNTAX_BYTES 32
+
+/* A target may know its own precise maximum.  Assert that it falls below
+   the above limit. */
+#ifdef CGEN_ACTUAL_MAX_SYNTAX_BYTES
+#if CGEN_ACTUAL_MAX_SYNTAX_BYTES > CGEN_MAX_SYNTAX_BYTES
+#error "CGEN_ACTUAL_MAX_SYNTAX_BYTES too high - enlarge CGEN_MAX_SYNTAX_BYTES"
 #endif
+#endif
+
 
 typedef struct
 {
@@ -824,9 +832,17 @@ typedef struct {
 #define CGEN_IFMT_IFLD_IFLD(ii) ((ii)->ifld)
 } CGEN_IFMT_IFLD;
 
-#ifndef CGEN_MAX_IFMT_OPERANDS
-#define CGEN_MAX_IFMT_OPERANDS 1
+/* This should be at least as large as necessary for any target. */
+#define CGEN_MAX_IFMT_OPERANDS 16
+
+/* A target may know its own precise maximum.  Assert that it falls below
+   the above limit. */
+#ifdef CGEN_ACTUAL_MAX_IFMT_OPERANDS
+#if CGEN_ACTUAL_MAX_IFMT_OPERANDS > CGEN_MAX_IFMT_OPERANDS
+#error "CGEN_ACTUAL_MAX_IFMT_OPERANDS too high - enlarge CGEN_MAX_IFMT_OPERANDS"
 #endif
+#endif
+
 
 typedef struct
 {
index 199e30f..68ae62f 100644 (file)
@@ -1,3 +1,9 @@
+2000-05-16  Frank Ch. Eigler  <fche@redhat.com>
+
+       * fr30-desc.h: Partially regenerated to account for changed
+       CGEN_MAX_* -> CGEN_ACTUAL_MAX_* macros.
+       * m32r-desc.h: Ditto.
+
 2000-05-15  Nick Clifton  <nickc@cygnus.com>
 
        * arm-opc.h: Use upper case for flasg in MSR and MRS
index 97e29cd..9d59219 100644 (file)
@@ -43,18 +43,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #define CGEN_INT_INSN_P 0
 
-/* FIXME: Need to compute CGEN_MAX_SYNTAX_BYTES.  */
+/* Maximum number of syntax bytes in an instruction.  */
+#define CGEN_ACTUAL_MAX_SYNTAX_BYTES 15
 
 /* CGEN_MNEMONIC_OPERANDS is defined if mnemonics have operands.
    e.g. In "b,a foo" the ",a" is an operand.  If mnemonics have operands
    we can't hash on everything up to the space.  */
 #define CGEN_MNEMONIC_OPERANDS
 
-/* Maximum number of operands any insn or macro-insn has.  */
-#define CGEN_MAX_INSN_OPERANDS 16
-
 /* Maximum number of fields in an instruction.  */
-#define CGEN_MAX_IFMT_OPERANDS 7
+#define CGEN_ACTUAL_MAX_IFMT_OPERANDS 7
 
 /* Enums.  */
 
index 7d42807..32ea2f7 100644 (file)
@@ -44,18 +44,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #define CGEN_INT_INSN_P 1
 
-/* FIXME: Need to compute CGEN_MAX_SYNTAX_BYTES.  */
+/* Maximum number of syntax bytes in an instruction.  */
+#define CGEN_ACTUAL_MAX_SYNTAX_BYTES 15
 
 /* CGEN_MNEMONIC_OPERANDS is defined if mnemonics have operands.
    e.g. In "b,a foo" the ",a" is an operand.  If mnemonics have operands
    we can't hash on everything up to the space.  */
 #define CGEN_MNEMONIC_OPERANDS
 
-/* Maximum number of operands any insn or macro-insn has.  */
-#define CGEN_MAX_INSN_OPERANDS 16
-
 /* Maximum number of fields in an instruction.  */
-#define CGEN_MAX_IFMT_OPERANDS 7
+#define CGEN_ACTUAL_MAX_IFMT_OPERANDS 7
 
 /* Enums.  */