[clang] [Clang] make most enums trivially equality comparable (PR #169079)

via cfe-commits cfe-commits at lists.llvm.org
Fri Nov 21 10:44:01 PST 2025


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

The build failed before running any tests. Click on a failure below to see the details.

<details>
<summary>tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTypeTraits.cpp.o</summary>

```
FAILED: tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTypeTraits.cpp.o
sccache /opt/llvm/bin/clang++ -DCLANG_EXPORTS -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/lib/Sema -I/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Sema -I/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -gmlt -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTypeTraits.cpp.o -MF tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTypeTraits.cpp.o.d -o tools/clang/lib/Sema/CMakeFiles/obj.clangSema.dir/SemaTypeTraits.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Sema/SemaTypeTraits.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Sema/SemaTypeTraits.cpp:596:49: error: cannot initialize a parameter of type 'const TagDecl *' with an lvalue of type 'const TypeDecl *'
596 |   CanQualType T = S.Context.getCanonicalTagType(Decl);
|                                                 ^~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/AST/ASTContext.h:1843:50: note: passing argument to parameter 'TD' here
1843 |   CanQualType getCanonicalTagType(const TagDecl *TD) const;
|                                                  ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Sema/SemaTypeTraits.cpp:658:55: error: 'getOriginalDecl' is deprecated: Use getDecl instead [-Werror,-Wdeprecated-declarations]
658 |              EnumDecl *ED = Type->castAs<EnumType>()->getOriginalDecl()->getDefinitionOrSelf();
|                                                       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/AST/TypeBase.h:6501:5: note: 'getOriginalDecl' has been explicitly marked deprecated here
6501 |   [[deprecated("Use getDecl instead")]] EnumDecl *getOriginalDecl() const {
|     ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/lib/Sema/SemaTypeTraits.cpp:674:55: error: 'getOriginalDecl' is deprecated: Use getDecl instead [-Werror,-Wdeprecated-declarations]
674 |     EnumDecl *ED = CanonicalType->castAs<EnumType>()->getOriginalDecl()->getDefinitionOrSelf();
|                                                       ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/AST/TypeBase.h:6501:5: note: 'getOriginalDecl' has been explicitly marked deprecated here
6501 |   [[deprecated("Use getDecl instead")]] EnumDecl *getOriginalDecl() const {
|     ^
3 errors generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/169079


More information about the cfe-commits mailing list