1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/test/LLVMC/MultipleOutputLanguages.td
Chris Lattner 0bc415a491 Generalize tblgen's dag parsing logic to handle arbitrary expressions
as the operator of the dag.  Specifically, this allows parsing things
like (F.x 4) in addition to just (a 4).

Unfortunately, this runs afoul of an idiom being used by llvmc.  It
is using dags like (foo [1,2,3]) to represent a list of stuff being
passed into foo.  With this change, this is parsed as a [1,2,3] 
subscript on foo instead of being the first argument to the dag.
Cope with this in the short term by requiring a "-llvmc-temp-hack"
argument to tblgen to get the old parsing behavior.

llvm-svn: 115742
2010-10-06 04:55:48 +00:00

28 lines
783 B
TableGen

// Check that multiple output languages work.
// RUN: tblgen -I %p/../../include -llvmc-temp-hack --gen-llvmc %s -o %t
// RUN: FileCheck -input-file %t %s
// RUN: %compile_cxx %t
// XFAIL: vg_leak
include "llvm/CompilerDriver/Common.td"
def dummy_tool : Tool<[
(command "dummy_cmd"),
(in_language "dummy_lang"),
(out_language ["another_dummy_lang", "yet_another_dummy_lang"])
]>;
def another_dummy_tool : Tool<[
(command "another_dummy_cmd"),
(in_language ["another_dummy_lang", "some_other_dummy_lang"]),
(out_language "executable"),
(join)
]>;
// CHECK: new SimpleEdge("dummy_tool")
// CHECK: new SimpleEdge("another_dummy_tool")
def DummyGraph : CompilationGraph<[
(edge "root", "dummy_tool"),
(edge "dummy_tool", "another_dummy_tool")
]>;