From 8c7c20f033c7036a8bf231ca6f9e02172cb581f0 Mon Sep 17 00:00:00 2001 From: Krzysztof Parzyszek Date: Sat, 3 Dec 2022 11:06:12 -0600 Subject: Convert Optional to std::optional --- llvm/lib/CodeGen/CommandFlags.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'llvm/lib/CodeGen/CommandFlags.cpp') diff --git a/llvm/lib/CodeGen/CommandFlags.cpp b/llvm/lib/CodeGen/CommandFlags.cpp index fd52191882cb..28b518a887ae 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 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 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) -- cgit v1.2.3