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++][modules] Refactor poisoned_hash_helper #108296

Merged

Commits on Sep 11, 2024

  1. [libc++][modules] Refactor poisoned_hash_helper

    The poisoned_hash_helper header was relying on an implicit forward
    declaration of std::hash located in <type_traits>. When we improve
    the modularization of the library, that causes issues, in addition
    to being a fundamentally non-portable assumption in the test suite.
    
    It turns out that the reason for relying on a forward declaration
    is to be able to test that std::hash is *not* provided if we don't
    include any header that provides it. But testing that is actually
    both non-portable and not really useful.
    
    Indeed, what harm does it make if additional headers provide std::hash
    specializations? That would certainly be conforming -- the Standard
    never requires an implementation to avoid providing a declaration when
    a given header is included, instead it mandates what *must* be provided
    for sure. In that spirit, it would be conforming for e.g. `<cstddef>`
    to define the hash specializations if that was our desire. I also don't
    read https://wg21.link/P0513R0 as going against that statement. Hence,
    this patch just removes that test which doesn't carry its weight.
    
    Fixes llvm#56938
    ldionne committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    c5a811d View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2024

  1. Concatenate

    ldionne committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    fa86d38 View commit details
    Browse the repository at this point in the history
  2. Fix typo

    ldionne committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    26985a9 View commit details
    Browse the repository at this point in the history