[clang] Add __is_trivially_equality_comparable
authorNikolas Klauser <nikolasklauser@berlin.de>
Wed, 29 Mar 2023 15:58:25 +0000 (17:58 +0200)
committerNikolas Klauser <nikolasklauser@berlin.de>
Mon, 17 Apr 2023 13:36:21 +0000 (15:36 +0200)
commite98776a180a74c08dcc07cebf26c11deac6e975a
treeace8fcf489097dd1bf6616005aee7cb67397e920
parentc2c49f464435fa6176c91898a94d8cadbdf93dfc
[clang] Add __is_trivially_equality_comparable

This patch adds a new trait to allow standard libraries to forward `std::equal` calls to `memcmp` in more cases.

Reviewed By: aaron.ballman

Spies: Mordante, shafik, xbolva00, libcxx-commits, cfe-commits, ldionne

Differential Revision: https://reviews.llvm.org/D147175
clang/docs/LanguageExtensions.rst
clang/docs/ReleaseNotes.rst
clang/include/clang/AST/ASTContext.h
clang/include/clang/AST/Type.h
clang/include/clang/Basic/TokenKinds.def
clang/lib/AST/ASTContext.cpp
clang/lib/AST/Type.cpp
clang/lib/Sema/SemaExprCXX.cpp
clang/test/SemaCXX/type-traits.cpp