Ignore:
Timestamp:
Dec 11, 2024, 6:09:10 PM (7 days ago)
Author:
Michael Brooks <mlbrooks@…>
Branches:
master
Children:
e797179
Parents:
ec22220
Message:

Fix support for partial autogen.

Partial autogen means that some lifecycle functions are possible to generate, and needed, while others are impossible to generate, but unneeded. It is a valid situation that a user can implicitly request.

Previous handling of "impossible to generate" left the function in a zombie state, where it could show up as an alternative later. This zombie state is problematic handling caused by a compiler bug. Without the fix, the added test fails by creating zombie states.

This change is also a prerequsite for an upcoming change to avoid gcc warnings by not emitting autogen forward declarations.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/Resolver.cpp

    rec22220 r64f3b9f  
    13311331                        mutDecl->isDeleted = true;
    13321332                        mutDecl->stmts = nullptr;
     1333                        symtab.reviseSpecialAsDeleted( functionDecl );
    13331334                        decl = mutDecl;
    13341335                        return false;
Note: See TracChangeset for help on using the changeset viewer.