From 92b8da75a1bed2f70079e970883b4e69e99d2330 Mon Sep 17 00:00:00 2001 From: Mikhail Glushenkov Date: Fri, 30 May 2008 06:24:07 +0000 Subject: [PATCH] Make it possible to test if the '-o' option is provided. The following is now allowed: (case (not_empty "o"), do_something, ...) This didn't work previously because "-o" is built-in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51751 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvmc2/AutoGenerated.cpp | 2 ++ utils/TableGen/LLVMCConfigurationEmitter.cpp | 16 +++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/tools/llvmc2/AutoGenerated.cpp b/tools/llvmc2/AutoGenerated.cpp index 213db01e0bc..30aeb8f75ea 100644 --- a/tools/llvmc2/AutoGenerated.cpp +++ b/tools/llvmc2/AutoGenerated.cpp @@ -29,5 +29,7 @@ namespace llvmc { extern const std::string& GetLanguage(const sys::Path& File); } +extern cl::opt OutputFilename; + // The auto-generated file #include "AutoGenerated.inc" diff --git a/utils/TableGen/LLVMCConfigurationEmitter.cpp b/utils/TableGen/LLVMCConfigurationEmitter.cpp index 45f6a13d230..9be9cfc98b0 100644 --- a/utils/TableGen/LLVMCConfigurationEmitter.cpp +++ b/utils/TableGen/LLVMCConfigurationEmitter.cpp @@ -691,11 +691,17 @@ bool EmitCaseTest1Arg(const std::string& TestName, O << "GetLanguage(inFile) == \"" << OptName << '\"'; return true; } else if (TestName == "not_empty") { - const GlobalOptionDescription& OptDesc = OptDescs.FindOption(OptName); - if (OptDesc.Type == OptionType::Switch) - throw OptName + ": incorrect option type!"; - O << '!' << OptDesc.GenVariableName() << ".empty()"; - return true; + if (OptName == "o") { + O << "!OutputFilename.empty()"; + return true; + } + else { + const GlobalOptionDescription& OptDesc = OptDescs.FindOption(OptName); + if (OptDesc.Type == OptionType::Switch) + throw OptName + ": incorrect option type!"; + O << '!' << OptDesc.GenVariableName() << ".empty()"; + return true; + } } return false;