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
diff --git a/tools/llvmc2/AutoGenerated.cpp b/tools/llvmc2/AutoGenerated.cpp
index 213db01..30aeb8f 100644
--- a/tools/llvmc2/AutoGenerated.cpp
+++ b/tools/llvmc2/AutoGenerated.cpp
@@ -29,5 +29,7 @@
extern const std::string& GetLanguage(const sys::Path& File);
}
+extern cl::opt<std::string> OutputFilename;
+
// The auto-generated file
#include "AutoGenerated.inc"
diff --git a/utils/TableGen/LLVMCConfigurationEmitter.cpp b/utils/TableGen/LLVMCConfigurationEmitter.cpp
index 45f6a13..9be9cfc 100644
--- a/utils/TableGen/LLVMCConfigurationEmitter.cpp
+++ b/utils/TableGen/LLVMCConfigurationEmitter.cpp
@@ -691,11 +691,17 @@
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;