Re: [PATCH] c++: constexpr and copy elision within mem init [PR100368]

2021-05-25 Thread Jason Merrill via Gcc-patches
manip to not call this function, I think this function should reject void init. I see, thanks. How does the following look for trunk? Bootstrapped and regetested on x86_64-pc-linux-gnu. -- >8 -- Subject: [PATCH] c++: constexpr and copy elision within mem init [PR100368] In the testcase belo

Re: [PATCH] c++: constexpr and copy elision within mem init [PR100368]

2021-05-25 Thread Patrick Palka via Gcc-patches
g that initialization apply to the new > TARGET_EXPR_SLOT (and bot_manip does). If we change bot_manip to not call this > function, I think this function should reject void init. I see, thanks. How does the following look for trunk? Bootstrapped and regetested on x86_64-pc-linux-gnu. -- >

Re: [PATCH] c++: constexpr and copy elision within mem init [PR100368]

2021-05-24 Thread Jason Merrill via Gcc-patches
On 5/24/21 1:48 PM, Patrick Palka wrote: In the testcase below, the initializer for C::b inside C's default constructor is encoded as a TARGET_EXPR wrapping the CALL_EXPR f() in C++17 mode. During massaging of this constexpr constructor, build_target_expr_with_type called from bot_manip ends up

[PATCH] c++: constexpr and copy elision within mem init [PR100368]

2021-05-24 Thread Patrick Palka via Gcc-patches
In the testcase below, the initializer for C::b inside C's default constructor is encoded as a TARGET_EXPR wrapping the CALL_EXPR f() in C++17 mode. During massaging of this constexpr constructor, build_target_expr_with_type called from bot_manip ends up trying to use B's implicitly deleted copy