summaryrefslogtreecommitdiff
path: root/test/LLVMC
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
commit545f96814bd881d57d961aa51465e977f9172b2d (patch)
treeadd182bcc753bd9a1da9b1f91809099f122a71fa /test/LLVMC
parentdba6cac0d425baab6d28c3483e530e63ea22a47f (diff)
downloadllvm-545f96814bd881d57d961aa51465e977f9172b2d.tar.gz
llvm-545f96814bd881d57d961aa51465e977f9172b2d.tar.bz2
llvm-545f96814bd881d57d961aa51465e977f9172b2d.tar.xz
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/LLVMC')
-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 0000000000..888d686999
--- /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 0000000000..d1f9999b15
--- /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">]>;