https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102609

--- Comment #23 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Jason Merrill <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:07d09f0af100a9873982fba663800d87bfd73585

commit r14-7077-g07d09f0af100a9873982fba663800d87bfd73585
Author: waffl3x <waff...@protonmail.com>
Date:   Sun Jan 7 00:53:32 2024 +0000

    c++: P0847R7 (deducing this) - xobj lambdas. [PR102609]

    This implements support for xobj lambdas.  There are extensive tests
    included, but not exhaustive.  Dependent lambdas should work and have been
    tested lightly, but we need more exhaustive tests for them.

            PR c++/102609

    gcc/cp/ChangeLog:

            PR c++/102609
            C++23 P0847R7 (deducing this) - xobj lambdas.
            * lambda.cc (build_capture_proxy): Don't fold direct object types.
            * parser.cc (cp_parser_lambda_declarator_opt): Handle xobj lambdas,
            diagnostics.  Comments also updated.
            * pt.cc (tsubst_function_decl): Handle xobj lambdas.  Check object
            type of xobj lambda call operator, diagnose incorrect types.
            (tsubst_lambda_expr): Update comment.
            * semantics.cc (finish_decltype_type): Also consider by-value
object
            parameter qualifications.

    gcc/testsuite/ChangeLog:

            PR c++/102609
            C++23 P0847R7 (deducing this) - xobj lambdas.
            * g++.dg/cpp23/explicit-obj-diagnostics8.C: New test.
            * g++.dg/cpp23/explicit-obj-lambda1.C: New test.
            * g++.dg/cpp23/explicit-obj-lambda10.C: New test.
            * g++.dg/cpp23/explicit-obj-lambda11.C: New test.
            * g++.dg/cpp23/explicit-obj-lambda12.C: New test.
            * g++.dg/cpp23/explicit-obj-lambda13.C: New test.
            * g++.dg/cpp23/explicit-obj-lambda2.C: New test.
            * g++.dg/cpp23/explicit-obj-lambda3.C: New test.
            * g++.dg/cpp23/explicit-obj-lambda4.C: New test.
            * g++.dg/cpp23/explicit-obj-lambda5.C: New test.
            * g++.dg/cpp23/explicit-obj-lambda6.C: New test.
            * g++.dg/cpp23/explicit-obj-lambda7.C: New test.
            * g++.dg/cpp23/explicit-obj-lambda8.C: New test.
            * g++.dg/cpp23/explicit-obj-lambda9.C: New test.

    Signed-off-by: Waffl3x <waff...@protonmail.com>

Reply via email to