From 276a52d5566487fa53bcf34f24290362a10ac316 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 3 Oct 2019 00:31:58 +0200 Subject: [PATCH] constexpr.c (cxx_eval_store_expression): Formatting fix. * constexpr.c (cxx_eval_store_expression): Formatting fix. Handle const_object_being_modified with array type. From-SVN: r276493 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/constexpr.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 275fc9f..f2c1aa2 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2019-10-03 Jakub Jelinek + + * constexpr.c (cxx_eval_store_expression): Formatting fix. Handle + const_object_being_modified with array type. + 2019-10-02 Jason Merrill * typeck2.c (store_init_value): Only clear_cv_and_fold_caches if the diff --git a/gcc/cp/constexpr.c b/gcc/cp/constexpr.c index 06672a2..a6a55b9 100644 --- a/gcc/cp/constexpr.c +++ b/gcc/cp/constexpr.c @@ -3895,7 +3895,7 @@ cxx_eval_store_expression (const constexpr_ctx *ctx, tree t, bool no_zero_init = true; releasing_vec ctors; - while (!refs->is_empty()) + while (!refs->is_empty ()) { if (*valp == NULL_TREE) { @@ -4036,7 +4036,9 @@ cxx_eval_store_expression (const constexpr_ctx *ctx, tree t, if (const_object_being_modified) { bool fail = false; - if (!CLASS_TYPE_P (TREE_TYPE (const_object_being_modified))) + tree const_objtype + = strip_array_types (TREE_TYPE (const_object_being_modified)); + if (!CLASS_TYPE_P (const_objtype)) fail = true; else { -- 2.7.4