[PATCH] c++: ICE with noexcept in class in member function [PR96623]

2021-01-21 Thread Marek Polacek via Gcc-patches
I discovered very strange code in inject_parm_decls: if (args && is_this_parameter (args)) { gcc_checking_assert (current_class_ptr == NULL_TREE); current_class_ptr = NULL_TREE; We are tripping up on the assert because when we call inject_parm_decls, current_class_ptr is set

Re: [PATCH] c++: ICE with noexcept in class in member function [PR96623]

2021-01-21 Thread Jason Merrill via Gcc-patches
On 1/21/21 5:45 PM, Marek Polacek wrote: I discovered very strange code in inject_parm_decls: if (args && is_this_parameter (args)) { gcc_checking_assert (current_class_ptr == NULL_TREE); current_class_ptr = NULL_TREE; We are tripping up on the assert because when we c

Re: [PATCH] c++: ICE with noexcept in class in member function [PR96623]

2021-01-22 Thread Marek Polacek via Gcc-patches
On Thu, Jan 21, 2021 at 09:47:35PM -0500, Jason Merrill via Gcc-patches wrote: > On 1/21/21 5:45 PM, Marek Polacek wrote: > > I discovered very strange code in inject_parm_decls: > > > > if (args && is_this_parameter (args)) > > { > > gcc_checking_assert (current_class_ptr == NUL

Re: [PATCH] c++: ICE with noexcept in class in member function [PR96623]

2021-01-22 Thread Jason Merrill via Gcc-patches
On 1/22/21 4:01 PM, Marek Polacek wrote: On Thu, Jan 21, 2021 at 09:47:35PM -0500, Jason Merrill via Gcc-patches wrote: On 1/21/21 5:45 PM, Marek Polacek wrote: I discovered very strange code in inject_parm_decls: if (args && is_this_parameter (args)) { gcc_checking_assert

Re: [PATCH] c++: ICE with noexcept in class in member function [PR96623]

2021-01-22 Thread Marek Polacek via Gcc-patches
On Fri, Jan 22, 2021 at 04:44:42PM -0500, Jason Merrill wrote: > On 1/22/21 4:01 PM, Marek Polacek wrote: > > On Thu, Jan 21, 2021 at 09:47:35PM -0500, Jason Merrill via Gcc-patches > > wrote: > > > On 1/21/21 5:45 PM, Marek Polacek wrote: > > > > I discovered very strange code in inject_parm_decl