Do not generate empty 'if's for the output_suffix property.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51737 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Mikhail Glushenkov 2008-05-30 06:15:20 +00:00
parent cd0858e170
commit 37f509a70c
2 changed files with 15 additions and 7 deletions

View File

@ -27,7 +27,7 @@ def llvm_gcc_c : Tool<
(output_suffix "bc"),
(cmd_line (case
(switch_on "E"),
"llvm-g++ -E -x c $INFILE -o $OUTFILE -emit-llvm",
"llvm-g++ -E -x c $INFILE -o $OUTFILE",
(default),
"llvm-g++ -c -x c $INFILE -o $OUTFILE -emit-llvm")),
(switch_option "E", (stop_compilation),(output_suffix "i"),
@ -41,7 +41,7 @@ def llvm_gcc_cpp : Tool<
(output_suffix "bc"),
(cmd_line (case
(switch_on "E"),
"llvm-g++ -E -x c++ $INFILE -o $OUTFILE -emit-llvm",
"llvm-g++ -E -x c++ $INFILE -o $OUTFILE",
(default),
"llvm-g++ -c -x c++ $INFILE -o $OUTFILE -emit-llvm")),
(switch_option "E", (stop_compilation), (output_suffix "i")),

View File

@ -790,12 +790,20 @@ void EmitForwardOptionPropertyHandlingCode (const ToolOptionDescription& D,
}
}
// A helper function used by EmitOptionPropertyHandlingCode() that
// tells us whether we should emit any code at all.
// ToolOptionHasInterestingProperties - A helper function used by
// EmitOptionPropertyHandlingCode() that tells us whether we should
// emit any property handling code at all.
bool ToolOptionHasInterestingProperties(const ToolOptionDescription& D) {
if (!D.isForward() && !D.isUnpackValues() && D.Props.empty())
return false;
return true;
bool ret = false;
for (OptionPropertyList::const_iterator B = D.Props.begin(),
E = D.Props.end(); B != E; ++B) {
const OptionProperty& OptProp = *B;
if (OptProp.first == OptionPropertyType::AppendCmd)
ret = true;
}
if (D.isForward() || D.isUnpackValues())
ret = true;
return ret;
}
/// EmitOptionPropertyHandlingCode - Helper function used by