Re: C++ PATCH for c++/88337 - Implement P1327R1: Allow dynamic_cast in constexpr

2019-12-29 Thread Marek Polacek
think let's leave that for a follow-on patch. Let's drop this hunk > and reverse the bases in constexpr-dynamic17.C as I mentioned above so we > still get an error. OK with that change. Agreed; I've opened PR93096. Here's what I've committed after another bootstrap/regtest: commit 9d3f2

Re: C++ PATCH for c++/88337 - Implement P1327R1: Allow dynamic_cast in constexpr

2019-12-21 Thread Jason Merrill
On 12/17/19 5:34 PM, Marek Polacek wrote: On Mon, Dec 16, 2019 at 04:00:14PM -0500, Jason Merrill wrote: On 12/16/19 3:55 PM, Jason Merrill wrote: On 12/14/19 4:25 PM, Marek Polacek wrote: On Fri, Dec 13, 2019 at 05:56:57PM -0500, Jason Merrill wrote: On 12/13/19 3:20 PM, Marek Polacek

Re: C++ PATCH for c++/88337 - Implement P1327R1: Allow dynamic_cast in constexpr

2019-12-17 Thread Marek Polacek
On Mon, Dec 16, 2019 at 04:00:14PM -0500, Jason Merrill wrote: > On 12/16/19 3:55 PM, Jason Merrill wrote: > > On 12/14/19 4:25 PM, Marek Polacek wrote: > > > On Fri, Dec 13, 2019 at 05:56:57PM -0500, Jason Merrill wrote: > > > > On 12/13/19 3:20 PM, Marek Polacek wrote: > > > > > +  /* Given

Re: C++ PATCH for c++/88337 - Implement P1327R1: Allow dynamic_cast in constexpr

2019-12-16 Thread Jason Merrill
On 12/16/19 3:55 PM, Jason Merrill wrote: On 12/14/19 4:25 PM, Marek Polacek wrote: On Fri, Dec 13, 2019 at 05:56:57PM -0500, Jason Merrill wrote: On 12/13/19 3:20 PM, Marek Polacek wrote: +  /* Given dynamic_cast(v), + + [expr.dynamic.cast] If C is the class type to which T points or

Re: C++ PATCH for c++/88337 - Implement P1327R1: Allow dynamic_cast in constexpr

2019-12-16 Thread Jason Merrill
On 12/14/19 4:25 PM, Marek Polacek wrote: On Fri, Dec 13, 2019 at 05:56:57PM -0500, Jason Merrill wrote: On 12/13/19 3:20 PM, Marek Polacek wrote: + /* Given dynamic_cast(v), + + [expr.dynamic.cast] If C is the class type to which T points or refers, + the runtime check logically

Re: C++ PATCH for c++/88337 - Implement P1327R1: Allow dynamic_cast in constexpr

2019-12-14 Thread Marek Polacek
On Fri, Dec 13, 2019 at 05:56:57PM -0500, Jason Merrill wrote: > On 12/13/19 3:20 PM, Marek Polacek wrote: > > + /* Given dynamic_cast(v), > > + > > + [expr.dynamic.cast] If C is the class type to which T points or > > refers, > > + the runtime check logically executes as follows: > > +

Re: C++ PATCH for c++/88337 - Implement P1327R1: Allow dynamic_cast in constexpr

2019-12-13 Thread Jason Merrill
On 12/13/19 3:20 PM, Marek Polacek wrote: On Thu, Dec 12, 2019 at 02:38:29PM -0500, Jason Merrill wrote: On 12/11/19 5:50 PM, Marek Polacek wrote: On Fri, Nov 22, 2019 at 04:11:53PM -0500, Jason Merrill wrote: On 11/8/19 4:24 PM, Marek Polacek wrote: 2) [class.cdtor] says that when a

Re: C++ PATCH for c++/88337 - Implement P1327R1: Allow dynamic_cast in constexpr

2019-12-13 Thread Marek Polacek
On Thu, Dec 12, 2019 at 02:38:29PM -0500, Jason Merrill wrote: > On 12/11/19 5:50 PM, Marek Polacek wrote: > > On Fri, Nov 22, 2019 at 04:11:53PM -0500, Jason Merrill wrote: > > > On 11/8/19 4:24 PM, Marek Polacek wrote: > > > > > 2) [class.cdtor] says that when a dynamic_cast is used in a

Re: C++ PATCH for c++/88337 - Implement P1327R1: Allow dynamic_cast in constexpr

2019-12-12 Thread Jason Merrill
On 12/11/19 5:50 PM, Marek Polacek wrote: On Fri, Nov 22, 2019 at 04:11:53PM -0500, Jason Merrill wrote: On 11/8/19 4:24 PM, Marek Polacek wrote: 2) [class.cdtor] says that when a dynamic_cast is used in a constructor or destructor and the operand of the dynamic_cast refers to the object

Re: C++ PATCH for c++/88337 - Implement P1327R1: Allow dynamic_cast in constexpr

2019-12-11 Thread Marek Polacek
On Fri, Nov 22, 2019 at 04:11:53PM -0500, Jason Merrill wrote: > On 11/8/19 4:24 PM, Marek Polacek wrote: > > After much weeping and gnashing of teeth, here's a patch to handle > > dynamic_cast > > in constexpr evaluation. While the change in the standard is trivial (see > >

Re: C++ PATCH for c++/88337 - Implement P1327R1: Allow dynamic_cast in constexpr

2019-11-22 Thread Jason Merrill
On 11/8/19 4:24 PM, Marek Polacek wrote: After much weeping and gnashing of teeth, here's a patch to handle dynamic_cast in constexpr evaluation. While the change in the standard is trivial (see ), the change in the compiler

C++ PATCH for c++/88337 - Implement P1327R1: Allow dynamic_cast in constexpr

2019-11-08 Thread Marek Polacek
After much weeping and gnashing of teeth, here's a patch to handle dynamic_cast in constexpr evaluation. While the change in the standard is trivial (see ), the change in the compiler is less so. When build_dynamic_cast