diff options
Diffstat (limited to 'tools/llvmc/src')
-rw-r--r-- | tools/llvmc/src/Base.td.in | 31 | ||||
-rw-r--r-- | tools/llvmc/src/Clang.td | 6 |
2 files changed, 19 insertions, 18 deletions
diff --git a/tools/llvmc/src/Base.td.in b/tools/llvmc/src/Base.td.in index a53ac9e65c..cefaf487e8 100644 --- a/tools/llvmc/src/Base.td.in +++ b/tools/llvmc/src/Base.td.in @@ -152,23 +152,22 @@ def LinkerOptList : OptionList<[ // Option preprocessor. def Preprocess : OptionPreprocessor< -(case (not (any_switch_on ["O0", "O1", "O2", "O3"])), +(case (not (any_switch_on "O0", "O1", "O2", "O3")), (set_option "O2"), - (and (switch_on "O3"), (any_switch_on ["O0", "O1", "O2"])), - (unset_option ["O0", "O1", "O2"]), - (and (switch_on "O2"), (any_switch_on ["O0", "O1"])), - (unset_option ["O0", "O1"]), - (switch_on ["O1", "O0"]), + (and (switch_on "O3"), (any_switch_on "O0", "O1", "O2")), + (unset_option "O0", "O1", "O2"), + (and (switch_on "O2"), (any_switch_on "O0", "O1")), + (unset_option "O0", "O1"), + (switch_on "O1", "O0"), (unset_option "O0")) >; // Tools -class llvm_gcc_based <string cmd, string in_lang, - string E_ext, list<string> out_lang, +class llvm_gcc_based <string cmd, string in_lang, string E_ext, dag out_lang, string out_ext> : Tool< [(in_language in_lang), - (out_language out_lang), + out_lang, (output_suffix out_ext), (command cmd), (actions @@ -184,7 +183,7 @@ class llvm_gcc_based <string cmd, string in_lang, (and (switch_on "emit-llvm"), (not (switch_on "opt"))), (stop_compilation), // ('-S' && '-emit-llvm') && !('opt') -> output .ll - (and (switch_on ["emit-llvm", "S"]), (not (switch_on "opt"))), + (and (switch_on "emit-llvm", "S"), (not (switch_on "opt"))), [(forward "S"), (output_suffix "ll")], // Ususally just output .bc (not (switch_on "fsyntax-only")), @@ -222,10 +221,12 @@ class llvm_gcc_based <string cmd, string in_lang, ]>; class llvm_gcc_comp_based <string cmd, string in_lang, string E_ext> -: llvm_gcc_based<cmd, in_lang, E_ext, ["llvm-bitcode", "object-code"], "bc">; +: llvm_gcc_based<cmd, in_lang, E_ext, + (out_language "llvm-bitcode", "object-code"), "bc">; class llvm_gcc_pch_based <string cmd, string in_lang, string E_ext> -: llvm_gcc_based<cmd, in_lang, E_ext, ["precompiled-header"], "gch">; +: llvm_gcc_based<cmd, in_lang, E_ext, + (out_language "precompiled-header"), "gch">; def llvm_gcc_c : llvm_gcc_comp_based <"@LLVMGCCCOMMAND@ -x c", "c", "i">; @@ -250,7 +251,7 @@ def opt : Tool< (out_language "llvm-bitcode"), (output_suffix "opt.bc"), (actions (case (switch_on "emit-llvm"), (stop_compilation), - (switch_on ["emit-llvm", "S"]), + (switch_on "emit-llvm", "S"), [(append_cmd "-S"), (output_suffix "ll")], (not_empty "Wo,"), (forward_value "Wo,"), (switch_on "O1"), (forward "O1"), @@ -282,7 +283,7 @@ def llvm_gcc_assembler : Tool< ]>; def llc : Tool< -[(in_language ["llvm-bitcode", "llvm-assembler"]), +[(in_language "llvm-bitcode", "llvm-assembler"), (out_language "assembler"), (output_suffix "s"), (command "llc"), @@ -304,7 +305,7 @@ def llc : Tool< // Base class for linkers class llvm_gcc_based_linker <string cmd, dag on_empty> : Tool< -[(in_language ["object-code", "static-library", "dynamic-library"]), +[(in_language "object-code", "static-library", "dynamic-library"), (out_language "executable"), (output_suffix "out"), (command cmd), diff --git a/tools/llvmc/src/Clang.td b/tools/llvmc/src/Clang.td index 1d75743f4f..e2d32e88ff 100644 --- a/tools/llvmc/src/Clang.td +++ b/tools/llvmc/src/Clang.td @@ -25,12 +25,12 @@ class clang_based<string language, string cmd, string ext_E> : Tool< [(forward "E"), (stop_compilation), (output_suffix ext_E)], (and (switch_on "E"), (empty "o")), (no_out_file), (switch_on "fsyntax-only"), (stop_compilation), - (switch_on ["S", "emit-llvm"]), + (switch_on "S", "emit-llvm"), [(append_cmd "-emit-llvm"), (stop_compilation), (output_suffix "ll")], - (not (switch_on ["S", "emit-llvm"])), + (not (switch_on "S", "emit-llvm")), (append_cmd "-emit-llvm-bc"), - (switch_on ["c", "emit-llvm"]), + (switch_on "c", "emit-llvm"), (stop_compilation), (not_empty "include"), (forward "include"), (not_empty "I"), (forward "I"))), |