aboutsummaryrefslogtreecommitdiff
path: root/include/opcode
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@redhat.com>2000-05-16 19:28:07 +0000
committerFrank Ch. Eigler <fche@redhat.com>2000-05-16 19:28:07 +0000
commit0bf4b1e8abcbac5b8fd7dceb8b0f203161effd71 (patch)
tree117072b43dd4ee426099fab3a85b25793a99b9b0 /include/opcode
parent00ca312564e3f0e09f9dcf2a70ace1537285346e (diff)
downloadnewlib-0bf4b1e8abcbac5b8fd7dceb8b0f203161effd71.zip
newlib-0bf4b1e8abcbac5b8fd7dceb8b0f203161effd71.tar.gz
newlib-0bf4b1e8abcbac5b8fd7dceb8b0f203161effd71.tar.bz2
* cgen/opcodes fix
* 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.
Diffstat (limited to 'include/opcode')
-rw-r--r--include/opcode/ChangeLog7
-rw-r--r--include/opcode/cgen.h24
2 files changed, 27 insertions, 4 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 <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.
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
{