aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/CommandFlags.cpp
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@quicinc.com>2022-12-03 11:06:12 -0600
committerKrzysztof Parzyszek <kparzysz@quicinc.com>2022-12-03 12:08:47 -0600
commit8c7c20f033c7036a8bf231ca6f9e02172cb581f0 (patch)
tree5980d2a7545070fb3c37df39dbb563b98158a778 /llvm/lib/CodeGen/CommandFlags.cpp
parentd98c17271265f54a5c6ad07b2094f9b5bf3a34cc (diff)
downloadllvm-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.cpp14
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)