From c2465daec4df2d1a03be26a1fa9147382964a16e Mon Sep 17 00:00:00 2001
From: Jason Merrill <jason@redhat.com>
Date: Fri, 24 May 2019 10:38:44 -0400
Subject: [PATCH] Revert "* gimplify.c (gimplify_cond_expr): Don't check
 TREE_ADDRESSABLE."

This reverts commit ac0f04360cc04e5b80a7d74f7edc47e395d2e744.

From-SVN: r271604
---
 gcc/ChangeLog  | 5 +++++
 gcc/gimplify.c | 6 ++----
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d731bed21a39..6bc4d1a39963 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2019-05-24  Jason Merrill  <jason@redhat.com>
+
+	Revert:
+	* gimplify.c (gimplify_cond_expr): Don't check TREE_ADDRESSABLE.
+
 2019-05-24  Richard Biener  <rguenther@suse.de>
 
 	PR testsuite/90607
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 8337b36c4115..e5713dd4e8c1 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -3990,12 +3990,10 @@ gimplify_cond_expr (tree *expr_p, gimple_seq *pre_p, fallback_t fallback)
       tree result;
 
       /* If either an rvalue is ok or we do not require an lvalue, create the
-	 temporary.  We cannot do that if the type is addressable, but
-	 that should have been avoided before we got here.  */
+	 temporary.  But we cannot do that if the type is addressable.  */
       if (((fallback & fb_rvalue) || !(fallback & fb_lvalue))
-	  && (flag_checking || !TREE_ADDRESSABLE (type)))
+	  && !TREE_ADDRESSABLE (type))
 	{
-	  gcc_assert (!TREE_ADDRESSABLE (type));
 	  if (gimplify_ctxp->allow_rhs_cond_expr
 	      /* If either branch has side effects or could trap, it can't be
 		 evaluated unconditionally.  */
-- 
GitLab