aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/gimple.c5
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gnat.dg/string_comparison.adb10
4 files changed, 22 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 19d56b0..b530d25 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2008-12-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple.c (recalculate_side_effects) <tcc_constant>: New case.
+
2008-12-07 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38405
diff --git a/gcc/gimple.c b/gcc/gimple.c
index c0f8f1d..90de9b3 100644
--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -3108,8 +3108,11 @@ recalculate_side_effects (tree t)
}
break;
+ case tcc_constant:
+ /* No side-effects. */
+ return;
+
default:
- /* Can never be used with non-expressions. */
gcc_unreachable ();
}
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 098e662..696d82a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2008-12-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/string_comparison.adb: New test.
+
2008-12-07 H.J. Lu <hongjiu.lu@intel.com>
PR tree-optimization/38405
diff --git a/gcc/testsuite/gnat.dg/string_comparison.adb b/gcc/testsuite/gnat.dg/string_comparison.adb
new file mode 100644
index 0000000..22e6c9e
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/string_comparison.adb
@@ -0,0 +1,10 @@
+-- { dg-do compile }
+
+with Ada.Text_IO; use Ada.Text_IO;
+
+procedure String_Comparison is
+ package Bool_IO is new Enumeration_IO (Boolean);
+ use Bool_IO;
+begin
+ Put (Boolean'Image (True) = "True");
+end;