On 10/2/18 5:32 PM, Jeff Law wrote:
On 9/12/18 6:39 AM, Martin Liška wrote:
Hi.

This is follow-up of:
https://gcc.gnu.org/ml/gcc/2018-08/msg00007.html

I've chosen to implement that with new DECL_CXX_LAMBDA_FUNCTION that
uses an empty bit in tree_function_decl.

Patch can bootstrap on ppc64le-redhat-linux and survives regression tests.

Ready for trunk?

gcc/ChangeLog:

2018-09-12  Martin Liska  <mli...@suse.cz>

        PR gcov-profile/86109
        * coverage.c (coverage_begin_function): Do not
        mark lambdas as artificial.
        * tree-core.h (struct GTY): Remove tm_clone_flag
        and introduce new lambda_function.
        * tree.h (DECL_CXX_LAMBDA_FUNCTION): New macro.

gcc/cp/ChangeLog:

2018-09-12  Martin Liska  <mli...@suse.cz>

        PR gcov-profile/86109
        * parser.c (cp_parser_lambda_declarator_opt):
        Set DECL_CXX_LAMBDA_FUNCTION for lambdas.

gcc/testsuite/ChangeLog:

2018-09-12  Martin Liska  <mli...@suse.cz>

        PR gcov-profile/86109
        * g++.dg/gcov/pr86109.C: New test.

Hi.

Thanks for the review.

So the concern here is C++-isms bleeding into the language independent
nodes.  I think a name change from DECL_CXX_LAMBDA_FUNCTION to something
else would be enough to go forward.

Agree, well, then I would suggest to use DECL_LAMBDA_FUNCTION. The concept
of lambda functions is quite common in other programming languages.

Martin


jeff


Reply via email to