[llvm-commits] [llvm] r96919 - /llvm/trunk/tools/llvmc/plugins/Base/Base.td.in

Mikhail Glushenkov foldr at codedgers.com
Tue Feb 23 01:04:33 PST 2010


Author: foldr
Date: Tue Feb 23 03:04:33 2010
New Revision: 96919

URL: http://llvm.org/viewvc/llvm-project?rev=96919&view=rev
Log:
Precompiled headers: initial support.

Modified:
    llvm/trunk/tools/llvmc/plugins/Base/Base.td.in

Modified: llvm/trunk/tools/llvmc/plugins/Base/Base.td.in
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvmc/plugins/Base/Base.td.in?rev=96919&r1=96918&r2=96919&view=diff
==============================================================================
--- llvm/trunk/tools/llvmc/plugins/Base/Base.td.in (original)
+++ llvm/trunk/tools/llvmc/plugins/Base/Base.td.in Tue Feb 23 03:04:33 2010
@@ -130,10 +130,11 @@
 
 // Tools
 
-class llvm_gcc_based <string cmd_prefix, string in_lang, string E_ext> : Tool<
+class llvm_gcc_based <string cmd_prefix, string in_lang,
+                      string E_ext, string out_lang> : Tool<
 [(in_language in_lang),
  (out_language "llvm-bitcode"),
- (output_suffix "bc"),
+ (output_suffix out_lang),
  (cmd_line (case
             (switch_on "E"),
               (case (not_empty "o"),
@@ -180,12 +181,24 @@
  (sink)
 ]>;
 
-def llvm_gcc_c : llvm_gcc_based<"@LLVMGCCCOMMAND@ -x c", "c", "i">;
-def llvm_gcc_cpp : llvm_gcc_based<"@LLVMGXXCOMMAND@ -x c++", "c++", "i">;
+def llvm_gcc_c : llvm_gcc_based<"@LLVMGCCCOMMAND@ -x c", "c", "i", "bc">;
+def llvm_gcc_cpp : llvm_gcc_based<"@LLVMGXXCOMMAND@ -x c++", "c++", "i", "bc">;
 def llvm_gcc_m : llvm_gcc_based<"@LLVMGCCCOMMAND@ -x objective-c",
-                                                  "objective-c", "mi">;
+                                                  "objective-c", "mi", "bc">;
 def llvm_gcc_mxx : llvm_gcc_based<"@LLVMGCCCOMMAND@ -x objective-c++",
-                                  "objective-c++", "mi">;
+                                  "objective-c++", "mi", "bc">;
+
+def llvm_gcc_c_pch : llvm_gcc_based<"@LLVMGCCCOMMAND@ -x c-header",
+                                                      "c-header", "i", "gch">;
+def llvm_gcc_cpp_pch : llvm_gcc_based<"@LLVMGXXCOMMAND@ -x c++-header",
+                                                        "c++-header",
+                                                        "i", "gch">;
+def llvm_gcc_m_pch : llvm_gcc_based<"@LLVMGCCCOMMAND@ -x objective-c-header",
+                                                      "objective-c-header",
+                                                      "mi", "gch">;
+def llvm_gcc_mxx_pch
+    : llvm_gcc_based<"@LLVMGCCCOMMAND@ -x objective-c++-header",
+                                       "objective-c++-header", "mi", "gch">;
 
 def opt : Tool<
 [(in_language "llvm-bitcode"),
@@ -278,11 +291,15 @@
 
 def LanguageMap : LanguageMap<
     [LangToSuffixes<"c++", ["cc", "cp", "cxx", "cpp", "CPP", "c++", "C"]>,
+     LangToSuffixes<"c++-header", ["hpp"]>,
      LangToSuffixes<"c", ["c"]>,
+     LangToSuffixes<"c-header", ["h"]>,
      LangToSuffixes<"c-cpp-output", ["i"]>,
      LangToSuffixes<"objective-c-cpp-output", ["mi"]>,
      LangToSuffixes<"objective-c++", ["mm"]>,
+     LangToSuffixes<"objective-c++-header", ["hmm"]>,
      LangToSuffixes<"objective-c", ["m"]>,
+     LangToSuffixes<"objective-c-header", ["hm"]>,
      LangToSuffixes<"assembler", ["s"]>,
      LangToSuffixes<"assembler-with-cpp", ["S"]>,
      LangToSuffixes<"llvm-assembler", ["ll"]>,
@@ -301,6 +318,11 @@
     Edge<"root", "llvm_gcc_mxx">,
     Edge<"root", "llc">,
 
+    Edge<"root", "llvm_gcc_c_pch">,
+    Edge<"root", "llvm_gcc_cpp_pch">,
+    Edge<"root", "llvm_gcc_m_pch">,
+    Edge<"root", "llvm_gcc_mxx_pch">,
+
     Edge<"llvm_gcc_c", "llc">,
     Edge<"llvm_gcc_cpp", "llc">,
     Edge<"llvm_gcc_m", "llc">,





More information about the llvm-commits mailing list