From f6358c75eb393ae579aace88a1152f39b2a924f4 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Sun, 19 Dec 2004 18:00:56 +0000 Subject: For PR351: * Support changes in sys::Program::ExecuteAndWait interface git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19044 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/gccld/GenerateCode.cpp | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'tools/gccld') diff --git a/tools/gccld/GenerateCode.cpp b/tools/gccld/GenerateCode.cpp index 773ef4962e..b189d0654f 100644 --- a/tools/gccld/GenerateCode.cpp +++ b/tools/gccld/GenerateCode.cpp @@ -242,13 +242,13 @@ int llvm::GenerateAssembly(const std::string &OutputFilename, const std::string &InputFilename, const sys::Path &llc) { // Run LLC to convert the bytecode file into assembly code. - std::vector args; + std::vector args; args.push_back("-f"); args.push_back("-o"); - args.push_back(OutputFilename); - args.push_back(InputFilename); + args.push_back(OutputFilename.c_str()); + args.push_back(InputFilename.c_str()); - return sys::Program::ExecuteAndWait(llc, args); + return sys::Program::ExecuteAndWait(llc, &args[0]); } /// GenerateAssembly - generates a native assembly language source file from the @@ -257,13 +257,13 @@ int llvm::GenerateCFile(const std::string &OutputFile, const std::string &InputFile, const sys::Path &llc ) { // Run LLC to convert the bytecode file into C. - std::vector args; + std::vector args; args.push_back("-march=c"); args.push_back("-f"); args.push_back("-o"); - args.push_back(OutputFile); - args.push_back(InputFile); - return sys::Program::ExecuteAndWait(llc, args); + args.push_back(OutputFile.c_str()); + args.push_back(InputFile.c_str()); + return sys::Program::ExecuteAndWait(llc, &args[0]); } /// GenerateNative - generates a native assembly language source file from the @@ -308,20 +308,22 @@ int llvm::GenerateNative(const std::string &OutputFilename, // We can't just assemble and link the file with the system assembler // and linker because we don't know where to put the _start symbol. // GCC mysteriously knows how to do it. - std::vector args; + std::vector args; args.push_back("-fno-strict-aliasing"); args.push_back("-O3"); args.push_back("-o"); - args.push_back(OutputFilename); - args.push_back(InputFilename); + args.push_back(OutputFilename.c_str()); + args.push_back(InputFilename.c_str()); // Add in the libraries to link. for (unsigned index = 0; index < Libraries.size(); index++) { - if (Libraries[index] != "crtend") - args.push_back("-l" + Libraries[index]); + if (Libraries[index] != "crtend") { + args.push_back("-l"); + args.push_back(Libraries[index].c_str()); + } } // Run the compiler to assembly and link together the program. - return sys::Program::ExecuteAndWait(gcc, args, (const char**)clean_env); + return sys::Program::ExecuteAndWait(gcc, &args[0], (const char**)clean_env); } -- cgit v1.2.3