This is the mail archive of the cgen@sources.redhat.com mailing list for the CGEN project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

decoder bug fix


I am committing the following patch (written by Graydon Hoare last
year) that fixes an edge condition in the (-gen-decoder-switch) logic.

Ben

2003-01-09  Ben Elliston  <bje@redhat.com>

        From Graydon Hoare <graydon@redhat.com>:
        * utils-sim.scm (-gen-decoder-switch): Fix edge condition 
        empty ISAs.

Index: utils-sim.scm
===================================================================
RCS file: /cvs/src/src/cgen/utils-sim.scm,v
retrieving revision 1.8
diff -u -p -r1.8 utils-sim.scm
--- utils-sim.scm       20 Dec 2002 07:58:32 -0000      1.8
+++ utils-sim.scm       9 Jan 2003 03:05:01 -0000
@@ -938,9 +938,11 @@
                        ";\n"
                        indent "  val = "))
        (string-append indent "  unsigned int val = "))
-   (-gen-decode-bits (dtable-guts-bitnums table-guts)
-                    (dtable-guts-startbit table-guts)
-                    (dtable-guts-bitsize table-guts) "insn" lsb0?)
+   (if (< (length (dtable-guts-bitnums table-guts)) 1)
+       "0"
+       (-gen-decode-bits (dtable-guts-bitnums table-guts)
+                        (dtable-guts-startbit table-guts)
+                        (dtable-guts-bitsize table-guts) "insn" lsb0?))
    ";\n"
    indent "  switch (val)\n"
    indent "  {\n"
<


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]