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

--- Comment #7 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-16 branch has been updated by Patrick Palka
<[email protected]>:

https://gcc.gnu.org/g:8491b800473971ba1c03e74866273cb8dcaa5edc

commit r16-9470-g8491b800473971ba1c03e74866273cb8dcaa5edc
Author: Patrick Palka <[email protected]>
Date:   Thu Jul 30 21:18:38 2026 -0400

    c++: resolvedness of resolve_nondeduced_context result [PR126406]

    In r16-5967-gbae0ed69e1862a we removed the mark_used call from
    resolve_nondeduced_context under the rationale that it should be
    the caller's responsiblity to mark_used.

    Removing the call however now means that resolve_nondeduced_context
    could return a specialization whose type is not yet fully resolved
    (i.e. has an uninstantiated noexcept or undeduced return type), and
    callers that immediately inspect TREE_TYPE of the result (such as
    standard_conversion and build_conditional_expr) now misbehave.

    In light of such callers, this patch reverts r16-5967; it's not
    necessary to fix PR119343 because after r16-6276 convert_to_void
    now properly propagates an error_mark_node result from
    resolve_nondeduced_context.

            PR c++/126406
            PR c++/119343

    gcc/cp/ChangeLog:

            * pt.cc (resolve_nondeduced_context): Revert r16-5967 change.

    gcc/testsuite/ChangeLog:

            * g++.dg/cpp0x/cond2a.C: New test.
            * g++.dg/cpp1y/auto-fn67.C: New test.
            * g++.dg/cpp1z/noexcept-type29.C: New test.

    Reviewed-by: Jason Merrill <[email protected]>
    (cherry picked from commit e873aac49eb2b58ae18e05f4150826278bdbb3cb)

Reply via email to