Some small tweaks to make the generated code prettier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51729 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Mikhail Glushenkov 2008-05-30 06:10:47 +00:00
parent b5ccfbf0a9
commit 14ec27fff1

View File

@ -776,13 +776,22 @@ void EmitForwardOptionPropertyHandlingCode (const ToolOptionDescription& D,
} }
} }
// A helper function used by EmitOptionPropertyHandlingCode() that
// tells us whether we should emit any code at all.
bool ToolOptionHasInterestingProperties(const ToolOptionDescription& D) {
if (!D.isForward() && !D.isUnpackValues() && D.Props.empty())
return false;
return true;
}
/// EmitOptionPropertyHandlingCode - Helper function used by /// EmitOptionPropertyHandlingCode - Helper function used by
/// EmitGenerateActionMethod(). Emits code that handles option /// EmitGenerateActionMethod(). Emits code that handles option
/// properties. /// properties.
void EmitOptionPropertyHandlingCode (const ToolProperties& P, void EmitOptionPropertyHandlingCode (const ToolOptionDescription& D,
const ToolOptionDescription& D,
std::ostream& O) std::ostream& O)
{ {
if (!ToolOptionHasInterestingProperties(D))
return;
// Start of the if-clause. // Start of the if-clause.
O << Indent2 << "if ("; O << Indent2 << "if (";
if (D.Type == OptionType::Switch) if (D.Type == OptionType::Switch)
@ -878,7 +887,8 @@ class EmitCmdLineVecFillCallback {
void operator()(const Init* Statement, const char* IndentLevel, void operator()(const Init* Statement, const char* IndentLevel,
std::ostream& O) const std::ostream& O) const
{ {
EmitCmdLineVecFill(Statement, ToolName, Version, IndentLevel, O); EmitCmdLineVecFill(Statement, ToolName, Version,
(std::string(IndentLevel) + Indent1).c_str(), O);
} }
}; };
@ -910,7 +920,7 @@ void EmitGenerateActionMethod (const ToolProperties& P,
for (ToolOptionDescriptions::const_iterator B = P.OptDescs.begin(), for (ToolOptionDescriptions::const_iterator B = P.OptDescs.begin(),
E = P.OptDescs.end(); B != E; ++B) { E = P.OptDescs.end(); B != E; ++B) {
const ToolOptionDescription& val = B->second; const ToolOptionDescription& val = B->second;
EmitOptionPropertyHandlingCode(P, val, O); EmitOptionPropertyHandlingCode(val, O);
} }
// Handle the Sink property. // Handle the Sink property.