I'm trying to build the translator, checked out today, within the tree of LLVM 21.1.7 (the latest release of LLVM as of today), in tree.
cmake -G Ninja -S llvm -DLLVM_ENABLE_PROJECTS="clang;lld" \
-B /path/to/build/dir -DCMAKE_INSTALL_PREFIX=/path/to/install/dir \
-DCMAKE_BUILD_TYPE=Release
/path/to/llvm-project-21.1.7.src/llvm/tools/SPIRV-LLVM-Translator/lib/SPIRV/SPIRVWriter.cpp:5379:17: error: no matching function for call to ‘llvm::StringSwitch<SPIRV::LLVMToSPIRVBase::FPBuiltinType>::Cases(<brace-enclosed initializer list>, SPIRV::LLVMToSPIRVBase::FPBuiltinType)’
5378 | StringSwitch<FPBuiltinType>(OpName)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5379 | .Cases({"fadd", "fsub", "fmul", "fdiv", "frem"},
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5380 | FPBuiltinType::REGULAR_MATH)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/FloatingPointMode.h:19,
from /home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/APFloat.h:20,
from /home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/IR/Constants.h:23,
from /home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/IR/IntrinsicInst.h:26,
from /home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/IR/DebugInfo.h:28,
from /home/lh156516/src/local/llvm-project-21.1.7.src/llvm/tools/SPIRV-LLVM-Translator/lib/SPIRV/LLVMToSPIRVDbgTran.h:43,
from /home/lh156516/src/local/llvm-project-21.1.7.src/llvm/tools/SPIRV-LLVM-Translator/lib/SPIRV/SPIRVWriter.h:45,
from /home/lh156516/src/local/llvm-project-21.1.7.src/llvm/tools/SPIRV-LLVM-Translator/lib/SPIRV/SPIRVWriter.cpp:41:
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:87:17: note: candidate: ‘llvm::StringSwitch<T, R>& llvm::StringSwitch<T, R>::Cases(llvm::StringLiteral, llvm::StringLiteral, T) [with T = SPIRV::LLVMToSPIRVBase::FPBuiltinType; R = SPIRV::LLVMToSPIRVBase::FPBuiltinType]’
87 | StringSwitch &Cases(StringLiteral S0, StringLiteral S1, T Value) {
| ^~~~~
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:87:17: note: candidate expects 3 arguments, 2 provided
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:91:17: note: candidate: ‘llvm::StringSwitch<T, R>& llvm::StringSwitch<T, R>::Cases(llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, T) [with T = SPIRV::LLVMToSPIRVBase::FPBuiltinType; R = SPIRV::LLVMToSPIRVBase::FPBuiltinType]’
91 | StringSwitch &Cases(StringLiteral S0, StringLiteral S1, StringLiteral S2,
| ^~~~~
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:91:17: note: candidate expects 4 arguments, 2 provided
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:96:17: note: candidate: ‘llvm::StringSwitch<T, R>& llvm::StringSwitch<T, R>::Cases(llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, T) [with T = SPIRV::LLVMToSPIRVBase::FPBuiltinType; R = SPIRV::LLVMToSPIRVBase::FPBuiltinType]’
96 | StringSwitch &Cases(StringLiteral S0, StringLiteral S1, StringLiteral S2,
| ^~~~~
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:96:17: note: candidate expects 5 arguments, 2 provided
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:101:17: note: candidate: ‘llvm::StringSwitch<T, R>& llvm::StringSwitch<T, R>::Cases(llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, T) [with T = SPIRV::LLVMToSPIRVBase::FPBuiltinType; R = SPIRV::LLVMToSPIRVBase::FPBuiltinType]’
101 | StringSwitch &Cases(StringLiteral S0, StringLiteral S1, StringLiteral S2,
| ^~~~~
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:101:17: note: candidate expects 6 arguments, 2 provided
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:106:17: note: candidate: ‘llvm::StringSwitch<T, R>& llvm::StringSwitch<T, R>::Cases(llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, T) [with T = SPIRV::LLVMToSPIRVBase::FPBuiltinType; R = SPIRV::LLVMToSPIRVBase::FPBuiltinType]’
106 | StringSwitch &Cases(StringLiteral S0, StringLiteral S1, StringLiteral S2,
| ^~~~~
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:106:17: note: candidate expects 7 arguments, 2 provided
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:112:17: note: candidate: ‘llvm::StringSwitch<T, R>& llvm::StringSwitch<T, R>::Cases(llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, T) [with T = SPIRV::LLVMToSPIRVBase::FPBuiltinType; R = SPIRV::LLVMToSPIRVBase::FPBuiltinType]’
112 | StringSwitch &Cases(StringLiteral S0, StringLiteral S1, StringLiteral S2,
| ^~~~~
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:112:17: note: candidate expects 8 arguments, 2 provided
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:118:17: note: candidate: ‘llvm::StringSwitch<T, R>& llvm::StringSwitch<T, R>::Cases(llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, T) [with T = SPIRV::LLVMToSPIRVBase::FPBuiltinType; R = SPIRV::LLVMToSPIRVBase::FPBuiltinType]’
118 | StringSwitch &Cases(StringLiteral S0, StringLiteral S1, StringLiteral S2,
| ^~~~~
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:118:17: note: candidate expects 9 arguments, 2 provided
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:124:17: note: candidate: ‘llvm::StringSwitch<T, R>& llvm::StringSwitch<T, R>::Cases(llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, T) [with T = SPIRV::LLVMToSPIRVBase::FPBuiltinType; R = SPIRV::LLVMToSPIRVBase::FPBuiltinType]’
124 | StringSwitch &Cases(StringLiteral S0, StringLiteral S1, StringLiteral S2,
| ^~~~~
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:124:17: note: candidate expects 10 arguments, 2 provided
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:131:17: note: candidate: ‘llvm::StringSwitch<T, R>& llvm::StringSwitch<T, R>::Cases(llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, llvm::StringLiteral, T) [with T = SPIRV::LLVMToSPIRVBase::FPBuiltinType; R = SPIRV::LLVMToSPIRVBase::FPBuiltinType]’
131 | StringSwitch &Cases(StringLiteral S0, StringLiteral S1, StringLiteral S2,
| ^~~~~
/home/lh156516/src/local/llvm-project-21.1.7.src/llvm/include/llvm/ADT/StringSwitch.h:131:17: note: candidate expects 11 arguments, 2 provided
I'm trying to build the translator, checked out today, within the tree of LLVM 21.1.7 (the latest release of LLVM as of today), in tree.
The CMake configure command was:
During the build, I get:
Additional information: