diff options
author | Daniel Dunbar <daniel@zuster.org> | 2008-11-08 03:25:47 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2008-11-08 03:25:47 +0000 |
commit | 77e0c85dcccc692d4ef458912e4fe2310c892f8a (patch) | |
tree | 64eb6f2add1466705dbf00e1ec4b39f2b6d4571f /include/llvm/CompilerDriver/Tools.td | |
parent | edeb4f97263ec785a7393bc637e25fdc7c24ba1e (diff) |
Add LLVMC2 tool definitions for Objective-C and Objective-C++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58885 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CompilerDriver/Tools.td')
-rw-r--r-- | include/llvm/CompilerDriver/Tools.td | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/include/llvm/CompilerDriver/Tools.td b/include/llvm/CompilerDriver/Tools.td index 1a466a2735..7bd6dd4d94 100644 --- a/include/llvm/CompilerDriver/Tools.td +++ b/include/llvm/CompilerDriver/Tools.td @@ -44,6 +44,38 @@ def llvm_gcc_cpp : Tool< (sink) ]>; +def llvm_gcc_m : Tool< +[(in_language "objective-c"), + (out_language "llvm-bitcode"), + (output_suffix "bc"), + (cmd_line (case + (switch_on "E"), + (case (not_empty "o"), + "llvm-gcc -E -x objective-c $INFILE -o $OUTFILE", + (default), + "llvm-gcc -E -x objective-c $INFILE"), + (default), + "llvm-gcc -c -x objective-c $INFILE -o $OUTFILE -emit-llvm")), + (switch_option "E", (stop_compilation)), + (sink) +]>; + +def llvm_gcc_mxx : Tool< +[(in_language "objective-c++"), + (out_language "llvm-bitcode"), + (output_suffix "bc"), + (cmd_line (case + (switch_on "E"), + (case (not_empty "o"), + "llvm-gcc -E -x objective-c++ $INFILE -o $OUTFILE", + (default), + "llvm-gcc -E -x objective-c++ $INFILE"), + (default), + "llvm-gcc -c -x objective-c++ $INFILE -o $OUTFILE -emit-llvm")), + (switch_option "E", (stop_compilation)), + (sink) +]>; + def opt : Tool< [(in_language "llvm-bitcode"), (out_language "llvm-bitcode"), @@ -109,6 +141,8 @@ def llvm_gcc_cpp_linker : Tool< def LanguageMap : LanguageMap< [LangToSuffixes<"c++", ["cc", "cp", "cxx", "cpp", "CPP", "c++", "C"]>, LangToSuffixes<"c", ["c"]>, + LangToSuffixes<"objective-c++", ["mm"]>, + LangToSuffixes<"objective-c", ["m"]>, LangToSuffixes<"assembler", ["s"]>, LangToSuffixes<"llvm-assembler", ["ll"]>, LangToSuffixes<"llvm-bitcode", ["bc"]>, |