From f660ee8b2e52289529edf71cfb2ba21b1fb9eff3 Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Tue, 16 May 2000 19:28:07 +0000 Subject: * cgen/opcodes fix * approved by nickc [opcodes/ChangeLog] 2000-05-16 Frank Ch. Eigler * 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 * 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 | 7 +++++++ include/opcode/cgen.h | 24 ++++++++++++++++++++---- opcodes/ChangeLog | 6 ++++++ opcodes/fr30-desc.h | 8 +++----- opcodes/m32r-desc.h | 8 +++----- 5 files changed, 39 insertions(+), 14 deletions(-) diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index 3e53ace..0f30a7a 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,10 @@ +2000-05-16 Frank Ch. Eigler + + * 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 , * i386.h (i386_optab): Cpu686 for sysenter,sysexit,fxsave,fxrestore. diff --git a/include/opcode/cgen.h b/include/opcode/cgen.h index 0cff7c8..1db272b 100644 --- a/include/opcode/cgen.h +++ b/include/opcode/cgen.h @@ -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 { diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 199e30f..68ae62f 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2000-05-16 Frank Ch. Eigler + + * fr30-desc.h: Partially regenerated to account for changed + CGEN_MAX_* -> CGEN_ACTUAL_MAX_* macros. + * m32r-desc.h: Ditto. + 2000-05-15 Nick Clifton * arm-opc.h: Use upper case for flasg in MSR and MRS diff --git a/opcodes/fr30-desc.h b/opcodes/fr30-desc.h index 97e29cd..9d59219 100644 --- a/opcodes/fr30-desc.h +++ b/opcodes/fr30-desc.h @@ -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. */ diff --git a/opcodes/m32r-desc.h b/opcodes/m32r-desc.h index 7d42807..32ea2f7 100644 --- a/opcodes/m32r-desc.h +++ b/opcodes/m32r-desc.h @@ -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. */ -- cgit v1.1