[COMMITTED] gccrs: Make constexpr constructors type-checking more permissive
Checks
Commit Message
From: Philip Herron <philip.herron@embecosm.com>
gcc/rust/ChangeLog:
* backend/rust-constexpr.cc (eval_store_expression): Remove invalid
assertion on constexpr constructors.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/rust/backend/rust-constexpr.cc | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
@@ -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;