diff options
author | Krzysztof Parzyszek <kparzysz@quicinc.com> | 2022-12-03 11:06:12 -0600 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@quicinc.com> | 2022-12-03 12:08:47 -0600 |
commit | 8c7c20f033c7036a8bf231ca6f9e02172cb581f0 (patch) | |
tree | 5980d2a7545070fb3c37df39dbb563b98158a778 /llvm/lib/CodeGen/CommandFlags.cpp | |
parent | d98c17271265f54a5c6ad07b2094f9b5bf3a34cc (diff) | |
download | llvm-8c7c20f033c7036a8bf231ca6f9e02172cb581f0.zip llvm-8c7c20f033c7036a8bf231ca6f9e02172cb581f0.tar.gz llvm-8c7c20f033c7036a8bf231ca6f9e02172cb581f0.tar.bz2 |
Convert Optional<CodeModel> to std::optional<CodeModel>
Diffstat (limited to 'llvm/lib/CodeGen/CommandFlags.cpp')
-rw-r--r-- | llvm/lib/CodeGen/CommandFlags.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/CommandFlags.cpp b/llvm/lib/CodeGen/CommandFlags.cpp index fd52191..28b518a 100644 --- a/llvm/lib/CodeGen/CommandFlags.cpp +++ b/llvm/lib/CodeGen/CommandFlags.cpp @@ -23,6 +23,7 @@ #include "llvm/Support/CommandLine.h" #include "llvm/Support/Host.h" #include "llvm/Support/MemoryBuffer.h" +#include <optional> using namespace llvm; @@ -50,12 +51,23 @@ using namespace llvm; return None; \ } +// Temporary macro for incremental transition to std::optional. +#define CGSTDOPT_EXP(TY, NAME) \ + CGOPT(TY, NAME) \ + std::optional<TY> codegen::getExplicit##NAME() { \ + if (NAME##View->getNumOccurrences()) { \ + TY res = *NAME##View; \ + return res; \ + } \ + return std::nullopt; \ + } + CGOPT(std::string, MArch) CGOPT(std::string, MCPU) CGLIST(std::string, MAttrs) CGOPT_EXP(Reloc::Model, RelocModel) CGOPT(ThreadModel::Model, ThreadModel) -CGOPT_EXP(CodeModel::Model, CodeModel) +CGSTDOPT_EXP(CodeModel::Model, CodeModel) CGOPT(ExceptionHandling, ExceptionModel) CGOPT_EXP(CodeGenFileType, FileType) CGOPT(FramePointerKind, FramePointerUsage) |