aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2006-06-13 19:02:49 +0000
committerFariborz Jahanian <fjahanian@gcc.gnu.org>2006-06-13 19:02:49 +0000
commit6b4e957600594a0f13dc0dfb744dfa9654c34660 (patch)
tree5d9ecb1652c877b19d7065b578b34d4af77a4779
parent31b6f0aee8fc46282f06ceadc057e1b623f54872 (diff)
downloadgcc-6b4e957600594a0f13dc0dfb744dfa9654c34660.zip
gcc-6b4e957600594a0f13dc0dfb744dfa9654c34660.tar.gz
gcc-6b4e957600594a0f13dc0dfb744dfa9654c34660.tar.bz2
Check for Objective-C++ in deciding certain COND_EXPR folding.
Check for Objective-C++ in deciding certain COND_EXPR folding. OKed by Geoff Keating. From-SVN: r114619
-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 b8a49a4..4af751e 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 3e9ccbe..5bf3ade 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)))
{