diff options
author | A. Jiang <de34@live.cn> | 2025-09-28 21:36:03 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-09-28 21:36:03 +0800 |
commit | a558d656043734cc4d02e0a0a12e4c308c28f8c7 (patch) | |
tree | 6cd2d61298508a01df3f2c7f1f10c02a7069bc73 /llvm/unittests/Support/VirtualFileSystemTest.cpp | |
parent | 9288b084fd9c4301946dff838925c7385c1168e5 (diff) | |
download | llvm-a558d656043734cc4d02e0a0a12e4c308c28f8c7.zip llvm-a558d656043734cc4d02e0a0a12e4c308c28f8c7.tar.gz llvm-a558d656043734cc4d02e0a0a12e4c308c28f8c7.tar.bz2 |
[CodeGen] Get rid of incorrect `std` template specializations (#160804)
This patch renames comparators
- from `std::equal_to<llvm::rdf::RegisterRef>` to
`llvm::rdf::RegisterRefEqualTo`, and
- from `std::less<llvm::rdf::RegisterRef>` to
`llvm::rdf::RegisterRefLess`.
The original specializations don't satisfy the requirements for the
original `std` templates by being stateful and
non-default-constructible, so they make the program have UB due to C++17
[namespace.std]/2, C++20/23 [namespace.std]/5.
> A program may explicitly instantiate a class template defined in the
standard library only if the declaration
> - depends on the name of at least one program-defined type, and
> - the instantiation meets the standard library requirements for the
original template.
Diffstat (limited to 'llvm/unittests/Support/VirtualFileSystemTest.cpp')
0 files changed, 0 insertions, 0 deletions