[llvm-commits] CVS: llvm/tools/llvm-link/llvm-link.cpp

Reid Spencer reid at x10sys.com
Sun Sep 12 16:39:53 PDT 2004



Changes in directory llvm/tools/llvm-link:

llvm-link.cpp updated: 1.43 -> 1.44
---
Log message:

Excise the -L option since llvm-link should not do library searches. It 
just links bytecode files together.


---
Diffs of the changes:  (+12 -43)

Index: llvm/tools/llvm-link/llvm-link.cpp
diff -u llvm/tools/llvm-link/llvm-link.cpp:1.43 llvm/tools/llvm-link/llvm-link.cpp:1.44
--- llvm/tools/llvm-link/llvm-link.cpp:1.43	Sun Sep 12 18:08:29 2004
+++ llvm/tools/llvm-link/llvm-link.cpp	Sun Sep 12 18:39:42 2004
@@ -42,17 +42,21 @@
 static cl::opt<bool>
 DumpAsm("d", cl::desc("Print assembly as linked"), cl::Hidden);
 
-static cl::list<std::string>
-LibPaths("L", cl::desc("Specify a library search path"), cl::ZeroOrMore,
-         cl::value_desc("directory"), cl::Prefix);
-
-// GetModule - This function is just factored out of the functions below
-static inline Module* GetModule(const sys::Path& Filename) {
-  if (Verbose) std::cerr << "Loading '" << Filename.c_str() << "'\n";
+// LoadFile - Read the specified bytecode file in and return it.  This routine
+// searches the link path for the specified file to try to find it...
+//
+static inline std::auto_ptr<Module> LoadFile(const std::string &FN) {
+  sys::Path Filename;
+  if (!Filename.set_file(FN)) {
+    std::cerr << "Invalid file name: '" << FN << "'\n";
+    return std::auto_ptr<Module>();
+  }
+
   std::string ErrorMessage;
   if (Filename.exists()) {
+    if (Verbose) std::cerr << "Loading '" << Filename.c_str() << "'\n";
     Module* Result = ParseBytecodeFile(Filename.get(), &ErrorMessage);
-    if (Result) return Result;   // Load successful!
+    if (Result) return std::auto_ptr<Module>(Result);   // Load successful!
 
     if (Verbose) {
       std::cerr << "Error opening bytecode file: '" << Filename.c_str() << "'";
@@ -63,42 +67,7 @@
     std::cerr << "Bytecode file: '" << Filename.c_str() 
               << "' does not exist.\n";
   }
-  return 0;
-}
-
-// LoadFile - Read the specified bytecode file in and return it.  This routine
-// searches the link path for the specified file to try to find it...
-//
-static inline std::auto_ptr<Module> LoadFile(const std::string &FN) {
-  sys::Path Filename;
-  if (!Filename.set_file(FN)) {
-    std::cerr << "Invalid file name: '" << Filename.c_str() << "'\n";
-    return std::auto_ptr<Module>();
-  }
-
-  if (Module* Result = GetModule(Filename)) 
-    return std::auto_ptr<Module>(Result);
-
-  bool FoundAFile = false;
-
-  for (unsigned i = 0; i < LibPaths.size(); i++) {
-    if (!Filename.set_directory(LibPaths[i])) {
-      std::cerr << "Invalid library path: '" << LibPaths[i] << "'\n";
-    } else if (!Filename.append_file(FN)) {
-      std::cerr << "Invalid library path: '" << LibPaths[i]
-                << "/" << FN.c_str() << "'\n";
-    } else if (Filename.exists()) {
-      FoundAFile = true;
-      if (Module *Result = GetModule(Filename))
-        return std::auto_ptr<Module>(Result);   // Load successful!
-    }
-  }
 
-  if (FoundAFile)
-    std::cerr << "Bytecode file '" << FN << "' corrupt!  "
-              << "Use 'llvm-link -v ...' for more info.\n";
-  else
-    std::cerr << "Could not locate bytecode file: '" << FN << "'\n";
   return std::auto_ptr<Module>();
 }
 






More information about the llvm-commits mailing list