Re: [PR69315] enable finish_function to recurse for constexpr functions

2016-03-23 Thread Jason Merrill
OK. Jason

Re: [PR69315] enable finish_function to recurse for constexpr functions

2016-03-23 Thread Jakub Jelinek
On Wed, Mar 23, 2016 at 02:57:36PM +0100, Jakub Jelinek wrote: > On Tue, Mar 22, 2016 at 05:28:10PM -0400, Jason Merrill wrote: > > Jakub, you added defer_mark_used_calls for BZ 37189, do you think it's still > > needed? The testcase passes without it now. > > That's a question. Digging through

Re: [PR69315] enable finish_function to recurse for constexpr functions

2016-03-23 Thread Jakub Jelinek
On Tue, Mar 22, 2016 at 05:28:10PM -0400, Jason Merrill wrote: > Jakub, you added defer_mark_used_calls for BZ 37189, do you think it's still > needed? The testcase passes without it now. That's a question. Digging through history, I found: 1) r149750 aka gimplification unit-at-a-time 2) PR48869

Re: [PR69315] enable finish_function to recurse for constexpr functions

2016-03-22 Thread Jason Merrill
On 01/26/2016 12:11 PM, Alexandre Oliva wrote: We don't want finish_function to be called recursively from mark_used. However, it's desirable and necessary to call itself recursively when performing delayed folding, because that may have to instantiate and evaluate constexpr template functions.

Re: [PR69315] enable finish_function to recurse for constexpr functions

2016-02-24 Thread Alexandre Oliva
On Feb 10, 2016, Alexandre Oliva wrote: > On Jan 26, 2016, Alexandre Oliva wrote: >> We don't want finish_function to be called recursively from mark_used. >> However, it's desirable and necessary to call itself recursively when >> performing delayed folding, because that may have to instantiate

Re: [PR69315] enable finish_function to recurse for constexpr functions

2016-02-10 Thread Alexandre Oliva
On Jan 26, 2016, Alexandre Oliva wrote: > We don't want finish_function to be called recursively from mark_used. > However, it's desirable and necessary to call itself recursively when > performing delayed folding, because that may have to instantiate and > evaluate constexpr template functions.