From 9c60f0e1e5cd5a60d5a057193611aa0c38894cc7 Mon Sep 17 00:00:00 2001 From: Philip Herron Date: Tue, 27 Sep 2022 11:36:35 +0100 Subject: [PATCH] gccrs: Make constexpr constructors type-checking more permissive gcc/rust/ChangeLog: * backend/rust-constexpr.cc (eval_store_expression): Remove invalid assertion on constexpr constructors. --- gcc/rust/backend/rust-constexpr.cc | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gcc/rust/backend/rust-constexpr.cc b/gcc/rust/backend/rust-constexpr.cc index 8efb430..8623816 100644 --- a/gcc/rust/backend/rust-constexpr.cc +++ b/gcc/rust/backend/rust-constexpr.cc @@ -2953,14 +2953,14 @@ eval_store_expression (const constexpr_ctx *ctx, tree t, bool lval, TREE_SIDE_EFFECTS (*valp) = TREE_SIDE_EFFECTS (init); CONSTRUCTOR_NO_CLEARING (*valp) = CONSTRUCTOR_NO_CLEARING (init); } - else if (TREE_CODE (init) == CONSTRUCTOR - && !same_type_ignoring_top_level_qualifiers_p (TREE_TYPE (init), - type)) - { - /* See above on initialization of empty bases. */ - gcc_assert (is_empty_class (TREE_TYPE (init)) && !lval); - return init; - } + // else if (TREE_CODE (init) == CONSTRUCTOR + // && !same_type_ignoring_top_level_qualifiers_p (TREE_TYPE (init), + // type)) + // { + // /* See above on initialization of empty bases. */ + // // gcc_assert (is_empty_class (TREE_TYPE (init)) && !lval); + // return init; + // } else *valp = init; -- 2.7.4