Issue 142336
Summary C5054 can be silenced with MSVC & C++ 20
Labels new issue
Assignees
Reporter scuzqy
    C5054 was introduced since VS 16.2
https://learn.microsoft.com/cpp/error-messages/compiler-warnings/c5054?view=msvc-170

configuration:
LLVM_ENABLE_PROJECTS=On
CMAKE_CXX_FLAGS=/DWIN32 /D_WINDOWS /W4 /arch:AVX2
CMAKE_CXX_STANDARD=20
LLVM_ALLOW_PROBLEMATIC_CONFIGURATIONS=On

build system: Ninja (RelWithDebInfo) & VS 17.13.6 (19.43.34810) & amd64

build output:
```
llvm-project\llvm\include\llvm/BinaryFormat/MachO.h(1566): warning C5054: operator '|': deprecated between enumerations of different types
llvm-project\llvm\include\llvm/BinaryFormat/MachO.h(1570): warning C5054: operator '|': deprecated between enumerations of different types
llvm-project\llvm\include\llvm/BinaryFormat/MachO.h(1571): warning C5054: operator '|': deprecated between enumerations of different types
llvm-project\llvm\include\llvm/BinaryFormat/MachO.h(1574): warning C5054: operator '|': deprecated between enumerations of different types
[988/10072] Building CXX object llvm\lib\MC\CMakeFiles\LLVMMC.dir\MCAsmBackend.cpp.obj
llvm-project\llvm\include\llvm\BinaryFormat\ELFRelocs/LoongArch.def(1): warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
llvm-project\llvm\include\llvm/BinaryFormat/MachO.h(1566): warning C5054: operator '|': deprecated between enumerations of different types
llvm-project\llvm\include\llvm/BinaryFormat/MachO.h(1570): warning C5054: operator '|': deprecated between enumerations of different types
llvm-project\llvm\include\llvm/BinaryFormat/MachO.h(1571): warning C5054: operator '|': deprecated between enumerations of different types
llvm-project\llvm\include\llvm/BinaryFormat/MachO.h(1574): warning C5054: operator '|': deprecated between enumerations of different types
```

```
llvm-project\llvm\include\llvm/IR/Instruction.def(158): warning C5054: operator '+': deprecated between enumerations of different types
llvm-project\llvm\include\llvm/IR/Instruction.def(161): warning C5054: operator '+': deprecated between enumerations of different types
llvm-project\llvm\include\llvm/IR/Instruction.def(162): warning C5054: operator '+': deprecated between enumerations of different types
llvm-project\llvm\include\llvm/IR/Instruction.def(163): warning C5054: operator '+': deprecated between enumerations of different types
llvm-project\llvm\include\llvm/IR/Instruction.def(164): warning C5054: operator '+': deprecated between enumerations of different types
llvm-project\llvm\include\llvm/IR/Instruction.def(165): warning C5054: operator '+': deprecated between enumerations of different types
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to