summaryrefslogtreecommitdiffstats
path: root/llvm/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
commit62b65ecf18aaff0ac99fd30d4318e89ffe68e14c (patch)
tree5b58cf662aef9054e0702a804f4dfa6d326c542f /llvm/test/LLVMC
parentb3032962ef8c3aabc39085be329e0883908725a1 (diff)
downloadbcm5719-llvm-62b65ecf18aaff0ac99fd30d4318e89ffe68e14c.tar.gz
bcm5719-llvm-62b65ecf18aaff0ac99fd30d4318e89ffe68e14c.zip
Support hook invocation from 'append_cmd'.
llvm-svn: 91419
Diffstat (limited to 'llvm/test/LLVMC')
-rw-r--r--llvm/test/LLVMC/AppendCmdHook.td28
-rw-r--r--llvm/test/LLVMC/OutputSuffixHook.td24
2 files changed, 52 insertions, 0 deletions
diff --git a/llvm/test/LLVMC/AppendCmdHook.td b/llvm/test/LLVMC/AppendCmdHook.td
new file mode 100644
index 00000000000..888d6869999
--- /dev/null
+++ b/llvm/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/llvm/test/LLVMC/OutputSuffixHook.td b/llvm/test/LLVMC/OutputSuffixHook.td
new file mode 100644
index 00000000000..d1f9999b15c
--- /dev/null
+++ b/llvm/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">]>;
OpenPOWER on IntegriCloud