diff options
author | Mikhail Glushenkov <foldr@codedgers.com> | 2008-12-07 16:41:50 +0000 |
---|---|---|
committer | Mikhail Glushenkov <foldr@codedgers.com> | 2008-12-07 16:41:50 +0000 |
commit | 15dcc2a15ba97359093410ba7d4f76c53cddf938 (patch) | |
tree | 86a54fd9357f5c7cec2b128f1ed331377fb363dc /test/LLVMC | |
parent | f915253dfcfbe772ee04872544a4f012c6f851be (diff) | |
download | llvm-15dcc2a15ba97359093410ba7d4f76c53cddf938.tar.gz llvm-15dcc2a15ba97359093410ba7d4f76c53cddf938.tar.bz2 llvm-15dcc2a15ba97359093410ba7d4f76c53cddf938.tar.xz |
Add tests for tblgen's LLVMC backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60657 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/LLVMC')
-rw-r--r-- | test/LLVMC/EmptyCompilationGraph.td | 6 | ||||
-rw-r--r-- | test/LLVMC/ExternOptions.td | 20 | ||||
-rw-r--r-- | test/LLVMC/MultipleCompilationGraphs.td | 8 | ||||
-rw-r--r-- | test/LLVMC/NoActions.td | 12 | ||||
-rw-r--r-- | test/LLVMC/NoCompilationGraph.td | 4 | ||||
-rw-r--r-- | test/LLVMC/TestWarnings.td | 8 | ||||
-rw-r--r-- | test/LLVMC/llvmc.exp | 1 |
7 files changed, 59 insertions, 0 deletions
diff --git a/test/LLVMC/EmptyCompilationGraph.td b/test/LLVMC/EmptyCompilationGraph.td new file mode 100644 index 0000000000..f4a304730c --- /dev/null +++ b/test/LLVMC/EmptyCompilationGraph.td @@ -0,0 +1,6 @@ +// Check that the compilation graph can be empty. +// RUN: tblgen -I $srcroot/include --gen-llvmc %s + +include "llvm/CompilerDriver/Common.td" + +def Graph : CompilationGraph<[]>; diff --git a/test/LLVMC/ExternOptions.td b/test/LLVMC/ExternOptions.td new file mode 100644 index 0000000000..d38675c55e --- /dev/null +++ b/test/LLVMC/ExternOptions.td @@ -0,0 +1,20 @@ +// Check that extern options work. +// The dummy tool and graph are required to silence warnings. +// RUN: tblgen -I $srcroot/include --gen-llvmc %s | grep extern + +include "llvm/CompilerDriver/Common.td" + +def OptList : OptionList<[(extern_switch "Wall"), + (extern_parameter "std"), (extern_list "L")]>; + +def dummy_tool : Tool<[ +(cmd_line "dummy_cmd"), +(in_language "dummy"), +(out_language "dummy"), +(actions (case + (switch_on "Wall"), (stop_compilation), + (not_empty "std"), (stop_compilation), + (not_empty "L"), (stop_compilation))) +]>; + +def DummyGraph : CompilationGraph<[SimpleEdge<"root", "dummy_tool">]>; diff --git a/test/LLVMC/MultipleCompilationGraphs.td b/test/LLVMC/MultipleCompilationGraphs.td new file mode 100644 index 0000000000..3305fc6121 --- /dev/null +++ b/test/LLVMC/MultipleCompilationGraphs.td @@ -0,0 +1,8 @@ +// Check that multiple compilation graphs are allowed. +// RUN: tblgen -I $srcroot/include --gen-llvmc %s + +include "llvm/CompilerDriver/Common.td" + +def Graph1 : CompilationGraph<[]>; +def Graph2 : CompilationGraph<[]>; +def Graph3 : CompilationGraph<[]>; diff --git a/test/LLVMC/NoActions.td b/test/LLVMC/NoActions.td new file mode 100644 index 0000000000..43fd0079ee --- /dev/null +++ b/test/LLVMC/NoActions.td @@ -0,0 +1,12 @@ +// Check that tools without associated actions are accepted. +// RUN: tblgen -I $srcroot/include --gen-llvmc %s | grep dummy_tool + +include "llvm/CompilerDriver/Common.td" + +def dummy_tool : Tool<[ +(cmd_line "dummy_cmd"), +(in_language "dummy"), +(out_language "dummy") +]>; + +def DummyGraph : CompilationGraph<[SimpleEdge<"root", "dummy_tool">]>; diff --git a/test/LLVMC/NoCompilationGraph.td b/test/LLVMC/NoCompilationGraph.td new file mode 100644 index 0000000000..6476a371cf --- /dev/null +++ b/test/LLVMC/NoCompilationGraph.td @@ -0,0 +1,4 @@ +// Check that the compilation graph is not required. +// RUN: tblgen -I $srcroot/include --gen-llvmc %s + +include "llvm/CompilerDriver/Common.td" diff --git a/test/LLVMC/TestWarnings.td b/test/LLVMC/TestWarnings.td new file mode 100644 index 0000000000..5010c61b6a --- /dev/null +++ b/test/LLVMC/TestWarnings.td @@ -0,0 +1,8 @@ +// Check that the compiler warns about unused options!. +// RUN: tblgen -I $srcroot/include --gen-llvmc %s | grep extern +// XFAIL: * + +include "llvm/CompilerDriver/Common.td" + +def OptList : OptionList<[(extern_switch "Wall"), + (extern_parameter "std"), (extern_list "L")]>; diff --git a/test/LLVMC/llvmc.exp b/test/LLVMC/llvmc.exp index a2e44b9985..8354097ed8 100644 --- a/test/LLVMC/llvmc.exp +++ b/test/LLVMC/llvmc.exp @@ -8,3 +8,4 @@ if [ llvm_gcc_supports c++ ] then { RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{cpp}]] } +RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{td}]] |