This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.

Hmm. If recursion is problematic, we shouldn't do it. If it isn't problematic, we can do away with defer_mark_used_calls. It doesn't make sense to me to allow recursion some of the time.

I tried disabling defer_mark_used_calls, and the only new testsuite failure turned out to be fixing a bug on variadic122.C: we were deferring a mark_used call in unevaluated context and then calling it in evaluated context.

Jakub, you added defer_mark_used_calls for BZ 37189, do you think it's still needed? The testcase passes without it now.

Jason


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]