Without this patch assignment tracking is enabled with -fexperimental-assignment-tracking and disabled with -fno-experimental-assignment-tracking (default). This patch removes the -fno- version and changes -fexperimental-assignment-tracking to take 3 values: enabled, disabled (default), and forced.
clang -Xclang -fexperimental-assignment-tracking=enabled enables the feature if some other conditions are met and =forced enables it without any further checks.
If enabled is specified the feature will remain disabled if any of the following are true: it's an LTO or ThinLTO build, optimisations are not enabled, or lldb debugger tuning has been specified. See this short RFC for more info.
Do we know any details on the connection between assignment tracking and that LLDB issue...? The LLDB issue as written at the moment seems quite general and appears to pre-date assignment tracking...
Ah, I suppose it's this bit from your earlier RFC:
Hmm, I guess to me it feels like we're being a bit too conservative by disabling assignment tracking for this LLDB issue, but I'm not sure what LLDB people would say about it.
If we do proceed with disabling assignment tracking when LLDB tuning is used, it would be good to at least update the LLDB issue with more details about this and to highlight there's now an entire new analysis that's waiting on this issue to be fixed.