summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfjahanian <fjahanian@138bc75d-0d04-0410-961f-82ee72b054a4>2006-06-13 19:02:49 +0000
committerfjahanian <fjahanian@138bc75d-0d04-0410-961f-82ee72b054a4>2006-06-13 19:02:49 +0000
commitd0911b8e51368780d4f63f7fcac6e36bb6b3fc3b (patch)
tree5d9ecb1652c877b19d7065b578b34d4af77a4779
parent2b2f5cfbdd0e559f9062c294bceb7f486b9cb9da (diff)
downloadppe42-gcc-d0911b8e51368780d4f63f7fcac6e36bb6b3fc3b.tar.gz
ppe42-gcc-d0911b8e51368780d4f63f7fcac6e36bb6b3fc3b.zip
Check for Objective-C++ in deciding certain COND_EXPR
folding. OKed by Geoff Keating. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114619 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/fold-const.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b8a49a4c1d3..4af751eab9f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2006-06-13 Fariborz Jahanian <fjahanian@apple.com>
+
+ * fold-const.c (fold_cond_expr_with_comparison): Check for
+ Objective-C++ as language in deciding COND_EXPR transformation.
+
2006-06-06 J"orn Rennecke <joern.rennecke@st.com>
PR target/28014:
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 3e9ccbe4f66..5bf3ade27d8 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -4531,7 +4531,8 @@ fold_cond_expr_with_comparison (tree type, tree arg0, tree arg1, tree arg2)
/* Avoid these transformations if the COND_EXPR may be used
as an lvalue in the C++ front-end. PR c++/19199. */
&& (in_gimple_form
- || strcmp (lang_hooks.name, "GNU C++") != 0
+ || (strcmp (lang_hooks.name, "GNU C++") != 0
+ && strcmp (lang_hooks.name, "GNU Objective-C++") != 0)
|| ! maybe_lvalue_p (arg1)
|| ! maybe_lvalue_p (arg2)))
{
OpenPOWER on IntegriCloud