diff options
author | Mikhail Glushenkov <foldr@codedgers.com> | 2008-05-30 06:15:20 +0000 |
---|---|---|
committer | Mikhail Glushenkov <foldr@codedgers.com> | 2008-05-30 06:15:20 +0000 |
commit | 9e58d5958fa7a42e385c5c68d6664fde555d036c (patch) | |
tree | 26bd593b8f8737fb3247287a86fbfe950380e678 /llvm | |
parent | 490692c1d167536c401e9e0282d661cc99646421 (diff) | |
download | bcm5719-llvm-9e58d5958fa7a42e385c5c68d6664fde555d036c.tar.gz bcm5719-llvm-9e58d5958fa7a42e385c5c68d6664fde555d036c.zip |
Do not generate empty 'if's for the output_suffix property.
llvm-svn: 51737
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/tools/llvmc2/Tools.td | 4 | ||||
-rw-r--r-- | llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp | 18 |
2 files changed, 15 insertions, 7 deletions
diff --git a/llvm/tools/llvmc2/Tools.td b/llvm/tools/llvmc2/Tools.td index 42060e3b2cf..ae60874ea8f 100644 --- a/llvm/tools/llvmc2/Tools.td +++ b/llvm/tools/llvmc2/Tools.td @@ -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")), diff --git a/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp b/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp index 93fe90b1ee8..a29492817d2 100644 --- a/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp +++ b/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp @@ -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 |