Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[libc++] Encode additional ODR-affecting properties in the ABI tag #69669

Merged
merged 4 commits into from
Oct 26, 2023

Commits on Oct 20, 2023

  1. [libc++] Encode additional ODR-affecting properties in the ABI tag

    As explained in __config, we have an ABI tag that we use to ensure that
    we don't run into ODR issues when mixing different versions of libc++
    in multiple TUs. However, the reasoning behind that extends not only to
    different versions of libc++, but also to different configurations of
    the same version of libc++. In fact, we've been aware of this for a while
    but never really bothered to make the change because ODR issues are often
    thought to be benign.
    
    Well, it turns out that I just spent over an hour banging my head against
    an issue that boils down to our lack of encoding some ODR properties in
    the ABI tag, so here's the patch we should have done a long time ago.
    
    For now, the ODR properties we encode in the ABI tag are:
    - library version
    - exceptions vs no-exceptions
    - hardening mode
    
    Those are all things that we support different values for on a per-TU
    basis and they definitely affect ODR in a meaningful way. We can add
    more properties later as we see fit.
    ldionne committed Oct 20, 2023
    Configuration menu
    Copy the full SHA
    4a47a7c View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2023

  1. Configuration menu
    Copy the full SHA
    9be4117 View commit details
    Browse the repository at this point in the history
  2. Adjust XFAILs

    ldionne committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    80cdeb1 View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2023

  1. Configuration menu
    Copy the full SHA
    7faee0f View commit details
    Browse the repository at this point in the history