mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-24 22:02:23 +01:00
With this enabled, entities that live in value stores are poisoned whenever any action is taken that might invalidate pointers and references to those options -- in particular, adding another item to that value store, or attempting to load any entity from an import IR. Subsequent uses of those pointers or references then trigger an ASan failure. This detects latent bugs where the pointer or reference to the entity would become stale if we got unlucky about when the value store reallocates, even in cases where the reallocation didn't actually happen. This is not enabled by default: it finds a lot of latent bugs, so our tests don't pass with this option. This PR also includes fixes for a few of those bugs. --------- Co-authored-by: Chandler Carruth <chandlerc@gmail.com> Co-authored-by: Carbon Infra Bot <carbon-external-infra@google.com>