llvm/test/LLVMC/Init.td
Mikhail Glushenkov e4ac23a0ff Validate the generated C++ code in llvmc tests.
Checks that the code generated by 'tblgen --emit-llvmc' can be actually
compiled. Also fixes two bugs found in this way:

- forward_transformed_value didn't work with non-list arguments
- cl::ZeroOrOne is now called cl::Optional

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91404 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 03:04:52 +00:00

24 lines
750 B
TableGen

// Check that (init true/false) and (init "str") work.
// RUN: tblgen -I %p/../../include --gen-llvmc %s -o %t
// RUN: grep cl::init(\\"some-string\\") %t | count 1
// RUN: grep cl::init(true) %t | count 1
// RUN: %compile_cxx -fexceptions -x c++ %t
include "llvm/CompilerDriver/Common.td"
def OptList : OptionList<[
(switch_option "dummy1", (help "none"), (init true)),
(parameter_option "dummy2", (help "none"), (init "some-string"))
]>;
def dummy_tool : Tool<[
(cmd_line "dummy_cmd $INFILE"),
(in_language "dummy_lang"),
(out_language "dummy_lang"),
(actions (case
(switch_on "dummy1"), (forward "dummy1"),
(not_empty "dummy2"), (forward "dummy2")))
]>;
def DummyGraph : CompilationGraph<[SimpleEdge<"root", "dummy_tool">]>;