[llvm-commits] CVS: llvm/include/llvm/Support/ToolRunner.h

Chris Lattner lattner at cs.uiuc.edu
Tue Oct 14 16:54:01 PDT 2003


Changes in directory llvm/include/llvm/Support:

ToolRunner.h updated: 1.3 -> 1.4

---
Log message:

Generalize abstract interpreter interface to allow linking in an arbitrary number of shared objects


---
Diffs of the changes:  (+20 -7)

Index: llvm/include/llvm/Support/ToolRunner.h
diff -u llvm/include/llvm/Support/ToolRunner.h:1.3 llvm/include/llvm/Support/ToolRunner.h:1.4
--- llvm/include/llvm/Support/ToolRunner.h:1.3	Tue Oct 14 16:33:43 2003
+++ llvm/include/llvm/Support/ToolRunner.h	Tue Oct 14 16:52:50 2003
@@ -27,18 +27,28 @@
 
   static GCC* create(const std::string &ProgramPath, std::string &Message);
 
-
+  /// ExecuteProgram - Execute the program specified by "ProgramFile" (which is
+  /// either a .s file, or a .c file, specified by FileType), with the specified
+  /// arguments.  Standard input is specified with InputFile, and standard
+  /// Output is captured to the specified OutputFile location.  The SharedLibs
+  /// option specifies optional native shared objects that can be loaded into
+  /// the program for execution.
+  ///
   int ExecuteProgram(const std::string &ProgramFile,
                      const std::vector<std::string> &Args,
                      FileType fileType,
                      const std::string &InputFile,
                      const std::string &OutputFile,
-                     const std::string &SharedLib = "");
+                     const std::vector<std::string> &SharedLibs = 
+                         std::vector<std::string>());
 
-  int MakeSharedObject(const std::string &InputFile,
-                       FileType fileType,
+  /// MakeSharedObject - This compiles the specified file (which is either a .c
+  /// file or a .s file) into a shared object.
+  ///
+  int MakeSharedObject(const std::string &InputFile, FileType fileType,
                        std::string &OutputFile);
   
+private:
   void ProcessFailure(const char **Args);
 };
 
@@ -68,7 +78,8 @@
                              const std::vector<std::string> &Args,
                              const std::string &InputFile,
                              const std::string &OutputFile,
-                             const std::string &SharedLib = "") = 0;
+                             const std::vector<std::string> &SharedLibs = 
+                               std::vector<std::string>()) = 0;
 };
 
 //===---------------------------------------------------------------------===//
@@ -85,7 +96,8 @@
                              const std::vector<std::string> &Args,
                              const std::string &InputFile,
                              const std::string &OutputFile,
-                             const std::string &SharedLib = "");
+                             const std::vector<std::string> &SharedLibs = 
+                               std::vector<std::string>());
 
   // Sometimes we just want to go half-way and only generate the .c file,
   // not necessarily compile it with GCC and run the program.
@@ -109,7 +121,8 @@
                              const std::vector<std::string> &Args,
                              const std::string &InputFile,
                              const std::string &OutputFile,
-                             const std::string &SharedLib = "");
+                             const std::vector<std::string> &SharedLibs = 
+                                std::vector<std::string>());
 
   // Sometimes we just want to go half-way and only generate the .s file,
   // not necessarily compile it all the way and run the program.





More information about the llvm-commits mailing list