aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMikhail Glushenkov <foldr@codedgers.com>2009-12-15 07:20:50 +0000
committerMikhail Glushenkov <foldr@codedgers.com>2009-12-15 07:20:50 +0000
commitd016c18182f165c7a967f1c5a6a343971bcd2465 (patch)
treeadd182bcc753bd9a1da9b1f91809099f122a71fa /test
parent4136d8daf27d7f04dea28a578b39e5a614fca81e (diff)
downloadexternal_llvm-d016c18182f165c7a967f1c5a6a343971bcd2465.zip
external_llvm-d016c18182f165c7a967f1c5a6a343971bcd2465.tar.gz
external_llvm-d016c18182f165c7a967f1c5a6a343971bcd2465.tar.bz2
Support hook invocation from 'append_cmd'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91419 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/LLVMC/AppendCmdHook.td28
-rw-r--r--test/LLVMC/OutputSuffixHook.td24
2 files changed, 52 insertions, 0 deletions
diff --git a/test/LLVMC/AppendCmdHook.td b/test/LLVMC/AppendCmdHook.td
new file mode 100644
index 0000000..888d686
--- /dev/null
+++ b/test/LLVMC/AppendCmdHook.td
@@ -0,0 +1,28 @@
+// Check that hooks can be invoked from 'append_cmd'.
+// RUN: tblgen -I %p/../../include --gen-llvmc %s -o %t
+// RUN: FileCheck -input-file=%t %s
+// RUN: %compile_cxx -fexceptions -x c++ %t
+
+include "llvm/CompilerDriver/Common.td"
+
+// CHECK: std::string MyHook()
+
+def OptList : OptionList<[
+(switch_option "dummy1", (help "none")),
+(switch_option "dummy2", (help "none"))
+]>;
+
+def dummy_tool : Tool<[
+(cmd_line "dummy_cmd $INFILE"),
+(in_language "dummy_lang"),
+(out_language "dummy_lang"),
+(actions (case
+ // CHECK: push_back("-arg1")
+ // CHECK: push_back("-arg2")
+ (switch_on "dummy1"), (append_cmd "-arg1 -arg2"),
+ // CHECK: push_back("-arg3")
+ // CHECK: hooks::MyHook()
+ (switch_on "dummy2"), (append_cmd "-arg3 $CALL(MyHook)")))
+]>;
+
+def DummyGraph : CompilationGraph<[SimpleEdge<"root", "dummy_tool">]>;
diff --git a/test/LLVMC/OutputSuffixHook.td b/test/LLVMC/OutputSuffixHook.td
new file mode 100644
index 0000000..d1f9999
--- /dev/null
+++ b/test/LLVMC/OutputSuffixHook.td
@@ -0,0 +1,24 @@
+// Check that hooks can be invoked from 'output_suffix'.
+// RUN: tblgen -I %p/../../include --gen-llvmc %s -o %t
+// RUN: FileCheck -input-file=%t %s
+// RUN: %compile_cxx -fexceptions -x c++ %t
+// XFAIL: *
+
+include "llvm/CompilerDriver/Common.td"
+
+// CHECK: std::string MyHook()
+
+def OptList : OptionList<[
+(switch_option "dummy1", (help "none"))
+]>;
+
+def dummy_tool : Tool<[
+(cmd_line "dummy_cmd $INFILE"),
+(in_language "dummy_lang"),
+(out_language "dummy_lang"),
+(actions (case
+ // CHECK: hooks::MyHook()
+ (switch_on "dummy1"), (output_suffix "$CALL(MyHook)")))
+]>;
+
+def DummyGraph : CompilationGraph<[SimpleEdge<"root", "dummy_tool">]>;