X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=tools%2Fllvmc2%2FTools.td;h=4c04f3c4c2f3aae9fe9aa7ad53d4488a1cfef8ff;hb=6fa1c051dc515b6fd1f9a26ac12fed985469bff5;hp=26925628d19a6149bcd9bebcaf66ce9375e97b47;hpb=194a78f149953f21823c34a7540070cc1ecc50f8;p=oota-llvm.git diff --git a/tools/llvmc2/Tools.td b/tools/llvmc2/Tools.td index 26925628d19..4c04f3c4c2f 100644 --- a/tools/llvmc2/Tools.td +++ b/tools/llvmc2/Tools.td @@ -25,7 +25,14 @@ def llvm_gcc_c : Tool< [(in_language "c"), (out_language "llvm-bitcode"), (output_suffix "bc"), - (cmd_line "llvm-gcc -c -x c $INFILE -o $OUTFILE -emit-llvm"), + (cmd_line (case + (switch_on "E"), + (case (not_empty "o"), + "llvm-gcc -E -x c++ $INFILE -o $OUTFILE", + (default), + "llvm-gcc -E -x c++ $INFILE"), + (default), + "llvm-gcc -c -x c $INFILE -o $OUTFILE -emit-llvm")), (switch_option "E", (stop_compilation), (help "Stop after the preprocessing stage, do not run the compiler")), (sink) @@ -35,7 +42,14 @@ def llvm_gcc_cpp : Tool< [(in_language "c++"), (out_language "llvm-bitcode"), (output_suffix "bc"), - (cmd_line "llvm-g++ -c -x c++ $INFILE -o $OUTFILE -emit-llvm"), + (cmd_line (case + (switch_on "E"), + (case (not_empty "o"), + "llvm-g++ -E -x c++ $INFILE -o $OUTFILE", + (default), + "llvm-g++ -E -x c++ $INFILE"), + (default), + "llvm-g++ -c -x c++ $INFILE -o $OUTFILE -emit-llvm")), (switch_option "E", (stop_compilation)), (sink) ]>; @@ -45,7 +59,7 @@ def opt : Tool< (out_language "llvm-bitcode"), (switch_option "opt", (help "Enable opt")), (output_suffix "bc"), - (cmd_line "opt $INFILE -o $OUTFILE") + (cmd_line "opt -f $INFILE -o $OUTFILE") ]>; def llvm_as : Tool< @@ -71,7 +85,7 @@ def llvm_gcc_assembler : Tool< (cmd_line "llvm-gcc -c -x assembler $INFILE -o $OUTFILE"), (switch_option "c", (stop_compilation), (help "Compile and assemble, but do not link")), - (prefix_list_option "Wa", (unpack_values), (help "pass options to assembler")) + (prefix_list_option "Wa,", (unpack_values), (help "Pass options to assembler")) ]>; // Default linker @@ -81,9 +95,9 @@ def llvm_gcc_linker : Tool< (output_suffix "out"), (cmd_line "llvm-gcc $INFILE -o $OUTFILE"), (join), - (prefix_list_option "L", (forward), (help "add a directory to link path")), - (prefix_list_option "l", (forward), (help "search a library when linking")), - (prefix_list_option "Wl", (unpack_values), (help "pass options to linker")) + (prefix_list_option "L", (forward), (help "Add a directory to link path")), + (prefix_list_option "l", (forward), (help "Search a library when linking")), + (prefix_list_option "Wl,", (unpack_values), (help "Pass options to linker")) ]>; // Alternative linker for C++ @@ -97,7 +111,7 @@ def llvm_gcc_cpp_linker : Tool< (help "Choose linker (possible values: gcc, g++)")), (prefix_list_option "L", (forward)), (prefix_list_option "l", (forward)), - (prefix_list_option "Wl", (unpack_values)) + (prefix_list_option "Wl,", (unpack_values)) ]>; // Language map