aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/sh/ChangeLog5
-rw-r--r--sim/sh/gencode.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/sim/sh/ChangeLog b/sim/sh/ChangeLog
index 8a6d6ff..5d6a146 100644
--- a/sim/sh/ChangeLog
+++ b/sim/sh/ChangeLog
@@ -1,3 +1,8 @@
+2005-06-16 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * gencode.c (tab): Avoid lvalue casts. Suggested by
+ Ralf Corsepius <ralf.corsepius@rtems.org>.
+
2005-04-12 Jonathan Larmour <jifl@eCosCentric.com>
* gencode.c (tab): Avoid inserting code before variables all declared.
diff --git a/sim/sh/gencode.c b/sim/sh/gencode.c
index c3c8c05..e86bd29 100644
--- a/sim/sh/gencode.c
+++ b/sim/sh/gencode.c
@@ -215,7 +215,9 @@ op tab[] =
"RAISE_EXCEPTION_IF_IN_DELAY_SLOT ();",
"if (R0 == 0)",
" R[n] = 0xffffffff;",
- "else (unsigned int) R[n] = (unsigned int) R[n] / (unsigned int) R0;",
+ "/* FIXME: The result may be implementation-defined if it is outside */",
+ "/* the range of signed int (i.e. if R[n] was negative and R0 == 1). */",
+ "else R[n] = R[n] / (unsigned int) R0;",
"L (n);",
},
{ "n", "0n", "mulr R0,<REG_N>", "0100nnnn10000000",