From 978d498e401c292b6be5248abaf828b66739bcb8 Mon Sep 17 00:00:00 2001 From: Mikhail Glushenkov Date: Tue, 6 May 2008 18:13:00 +0000 Subject: Add a --linker command-line option, make all tests pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50755 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvmc2/Example.td | 9 ++++++++- tools/llvmc2/Tools.td | 25 ++++++++++++------------- 2 files changed, 20 insertions(+), 14 deletions(-) (limited to 'tools/llvmc2') diff --git a/tools/llvmc2/Example.td b/tools/llvmc2/Example.td index 57629904d1..227090258a 100644 --- a/tools/llvmc2/Example.td +++ b/tools/llvmc2/Example.td @@ -33,6 +33,13 @@ def CompilationGraph : CompilationGraph<[ Edge, Edge, + OptionalEdge, - Edge + + Edge, + OptionalEdge ]>; diff --git a/tools/llvmc2/Tools.td b/tools/llvmc2/Tools.td index 897892415e..e803915da6 100644 --- a/tools/llvmc2/Tools.td +++ b/tools/llvmc2/Tools.td @@ -81,19 +81,18 @@ def llvm_gcc_linker : Tool< ]>; // Alternative linker for C++ -// TOTHINK: how to implement this best? -// Something like input_file_language can only choose between two languages. -// def llvm_gcc_cpp_linker : Tool< -// [(in_language "object-code"), -// (out_language "executable"), -// (output_suffix "out"), -// (cmd_line "llvm-g++ $INFILE -o $OUTFILE"), -// (join), -// //(input_file_language "c++"), -// (prefix_list_option "L", (forward)), -// (prefix_list_option "l", (forward)), -// (prefix_list_option "Wl", (unpack_values)) -// ]>; +def llvm_gcc_cpp_linker : Tool< +[(in_language "object-code"), + (out_language "executable"), + (output_suffix "out"), + (cmd_line "llvm-g++ $INFILE -o $OUTFILE"), + (join), + (parameter_option "linker", + (help "Choose linker (possible values: gcc, g++)")), + (prefix_list_option "L", (forward)), + (prefix_list_option "l", (forward)), + (prefix_list_option "Wl", (unpack_values)) +]>; // Language map -- cgit v1.2.3