aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CompilerDriver/Tools.td
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2008-11-08 03:25:47 +0000
committerDaniel Dunbar <daniel@zuster.org>2008-11-08 03:25:47 +0000
commit77e0c85dcccc692d4ef458912e4fe2310c892f8a (patch)
tree64eb6f2add1466705dbf00e1ec4b39f2b6d4571f /include/llvm/CompilerDriver/Tools.td
parentedeb4f97263ec785a7393bc637e25fdc7c24ba1e (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.td34
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"]>,