Finegrainify namespacification
authorChris Lattner <sabre@nondot.org>
Sun, 14 Dec 2003 21:35:53 +0000 (21:35 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 14 Dec 2003 21:35:53 +0000 (21:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10464 91177308-0d34-0410-b5e6-96231b3b80d8

18 files changed:
lib/Analysis/ConstantRange.cpp
lib/Support/Annotation.cpp
lib/Support/CommandLine.cpp
lib/Support/ConstantRange.cpp
lib/Support/Debug.cpp
lib/Support/DynamicLinker.cpp
lib/Support/FileUtilities.cpp
lib/Support/LeakDetector.cpp
lib/Support/Mangler.cpp
lib/Support/PluginLoader.cpp
lib/Support/Signals.cpp
lib/Support/SystemUtils.cpp
lib/Support/ToolRunner.cpp
lib/Support/ValueHolder.cpp
lib/VMCore/ConstantRange.cpp
lib/VMCore/LeakDetector.cpp
lib/VMCore/Mangler.cpp
tools/bugpoint/ToolRunner.cpp

index e180f12a1a045f2b7fa14fa731c90bc8d266e081..7b45d20b5331d32408177ae4936c57d3ea1dbfa3 100644 (file)
@@ -25,8 +25,7 @@
 #include "llvm/Type.h"
 #include "llvm/Instruction.h"
 #include "llvm/ConstantHandling.h"
-
-namespace llvm {
+using namespace llvm;
 
 /// Initialize a full (the default) or empty set for the specified type.
 ///
@@ -250,5 +249,3 @@ void ConstantRange::print(std::ostream &OS) const {
 void ConstantRange::dump() const {
   print(std::cerr);
 }
-
-} // End llvm namespace
index b88624dd1f0d059de2651e00fa37b19818bed19d..bcd196da44881ab1fe5c73979866747ce6e17a58 100644 (file)
@@ -13,8 +13,7 @@
 
 #include <map>
 #include "Support/Annotation.h"
-
-namespace llvm {
+using namespace llvm;
 
 typedef std::map<const std::string, unsigned> IDMapType;
 static unsigned IDCounter = 0;  // Unique ID counter
@@ -96,5 +95,3 @@ Annotation *AnnotationManager::createAnnotation(AnnotationID ID,
   if (I == getFactMap().end()) return 0;
   return I->second.first(ID, Obj, I->second.second);
 }
-
-} // End llvm namespace
index 235dc1284337565f954778c7064aa9b2b61a8b9a..8a6bd77e4014508d54a8796213f7f1a3e857134a 100644 (file)
@@ -23,8 +23,7 @@
 #include <iostream>
 #include <cstdlib>
 #include <cerrno>
-
-namespace llvm {
+using namespace llvm;
 
 using namespace cl;
 
@@ -889,5 +888,3 @@ HHOp("help-hidden", cl::desc("display all available options"),
      cl::location(HiddenPrinter), cl::Hidden, cl::ValueDisallowed);
 
 } // End anonymous namespace
-
-} // End llvm namespace
index e180f12a1a045f2b7fa14fa731c90bc8d266e081..7b45d20b5331d32408177ae4936c57d3ea1dbfa3 100644 (file)
@@ -25,8 +25,7 @@
 #include "llvm/Type.h"
 #include "llvm/Instruction.h"
 #include "llvm/ConstantHandling.h"
-
-namespace llvm {
+using namespace llvm;
 
 /// Initialize a full (the default) or empty set for the specified type.
 ///
@@ -250,5 +249,3 @@ void ConstantRange::print(std::ostream &OS) const {
 void ConstantRange::dump() const {
   print(std::cerr);
 }
-
-} // End llvm namespace
index 1af23380a27b50321d02bbb95ec25e19d5d4a129..f1713429497fd5635f2b83f0f9a78a4857d4860e 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
-#include "Support/Statistic.h"
+#include "Support/Debug.h"
 #include "Support/CommandLine.h"
+using namespace llvm;
 
-namespace llvm {
-
-bool DebugFlag;  // DebugFlag - Exported boolean set by the -debug option
+bool llvm::DebugFlag;  // DebugFlag - Exported boolean set by the -debug option
 
 namespace {
 #ifndef NDEBUG
@@ -57,12 +56,10 @@ namespace {
 // specified on the command line, or if none was specified on the command line
 // with the -debug-only=X option.
 //
-bool isCurrentDebugType(const char *DebugType) {
+bool llvm::isCurrentDebugType(const char *DebugType) {
 #ifndef NDEBUG
   return CurrentDebugType.empty() || DebugType == CurrentDebugType;
 #else
   return false;
 #endif
 }
-
-} // End llvm namespace
index 1c9385eea7d61cf362bf39a17b841c265d56581a..801f93b5ba38f8467252096d73de994fe4448323 100644 (file)
 #include "Support/DynamicLinker.h"
 #include "Config/dlfcn.h"
 #include <cassert>
+using namespace llvm;
 
-namespace llvm {
-
-bool LinkDynamicObject (const char *filename, std::string *ErrorMessage) {
+bool llvm::LinkDynamicObject (const char *filename, std::string *ErrorMessage) {
 #if defined (HAVE_DLOPEN)
   if (dlopen (filename, RTLD_NOW | RTLD_GLOBAL) == 0) {
     if (ErrorMessage) *ErrorMessage = dlerror ();
@@ -37,7 +36,7 @@ bool LinkDynamicObject (const char *filename, std::string *ErrorMessage) {
 #endif
 }
 
-void *GetAddressOfSymbol (const char *symbolName) {
+void *llvm::GetAddressOfSymbol (const char *symbolName) {
 #if defined (HAVE_DLOPEN)
 #ifdef RTLD_DEFAULT
   return dlsym (RTLD_DEFAULT, symbolName);
@@ -51,8 +50,6 @@ void *GetAddressOfSymbol (const char *symbolName) {
 }
 
 // soft, cushiony C++ interface.
-void *GetAddressOfSymbol (const std::string &symbolName) {
+void *llvm::GetAddressOfSymbol (const std::string &symbolName) {
   return GetAddressOfSymbol (symbolName.c_str ());
 }
-
-} // End llvm namespace
index 4e3c22ce7c36c5a50771644b6cefd70f886e2f92..e6abc8fb40e181464cb947521e2890c5d2e252f9 100644 (file)
 #include <fstream>
 #include <iostream>
 #include <cstdio>
-
-namespace llvm
-{
+using namespace llvm;
 
 /// CheckMagic - Returns true IFF the file named FN begins with Magic. FN must
 /// name a readable file.
 ///
-bool CheckMagic (const std::string &FN, const std::string &Magic) {
+bool llvm::CheckMagic(const std::string &FN, const std::string &Magic) {
   char buf[1 + Magic.size ()];
   std::ifstream f (FN.c_str ());
   f.read (buf, Magic.size ());
@@ -37,7 +35,7 @@ bool CheckMagic (const std::string &FN, const std::string &Magic) {
 /// IsArchive - Returns true IFF the file named FN appears to be a "ar" library
 /// archive. The file named FN must exist.
 ///
-bool IsArchive(const std::string &FN) {
+bool llvm::IsArchive(const std::string &FN) {
   // Inspect the beginning of the file to see if it contains the "ar"
   // library archive format magic string.
   return CheckMagic (FN, "!<arch>\012");
@@ -46,7 +44,7 @@ bool IsArchive(const std::string &FN) {
 /// IsBytecode - Returns true IFF the file named FN appears to be an LLVM
 /// bytecode file. The file named FN must exist.
 ///
-bool IsBytecode(const std::string &FN) {
+bool llvm::IsBytecode(const std::string &FN) {
   // Inspect the beginning of the file to see if it contains the LLVM
   // bytecode format magic string.
   return CheckMagic (FN, "llvm");
@@ -55,7 +53,7 @@ bool IsBytecode(const std::string &FN) {
 /// IsSharedObject - Returns trus IFF the file named FN appears to be a shared
 /// object with an ELF header. The file named FN must exist.
 ///
-bool IsSharedObject(const std::string &FN) {
+bool llvm::IsSharedObject(const std::string &FN) {
   // Inspect the beginning of the file to see if it contains the ELF shared
   // object magic string.
   static const char elfMagic[] = { 0x7f, 'E', 'L', 'F', '\0' };
@@ -65,7 +63,7 @@ bool IsSharedObject(const std::string &FN) {
 /// FileOpenable - Returns true IFF Filename names an existing regular
 /// file which we can successfully open.
 ///
-bool FileOpenable (const std::string &Filename) {
+bool llvm::FileOpenable(const std::string &Filename) {
   struct stat s;
   if (stat (Filename.c_str (), &s) == -1)
     return false; // Cannot stat file
@@ -83,8 +81,8 @@ bool FileOpenable (const std::string &Filename) {
 /// occurs, allowing the caller to distinguish between a failed diff and a file
 /// system error.
 ///
-bool DiffFiles(const std::string &FileA, const std::string &FileB,
-               std::string *Error) {
+bool llvm::DiffFiles(const std::string &FileA, const std::string &FileB,
+                     std::string *Error) {
   std::ifstream FileAStream(FileA.c_str());
   if (!FileAStream) {
     if (Error) *Error = "Couldn't open file '" + FileA + "'";
@@ -113,7 +111,8 @@ bool DiffFiles(const std::string &FileA, const std::string &FileB,
 /// or if Old does not exist, move the New file over the Old file.  Otherwise,
 /// remove the New file.
 ///
-void MoveFileOverIfUpdated(const std::string &New, const std::string &Old) {
+void llvm::MoveFileOverIfUpdated(const std::string &New,
+                                 const std::string &Old) {
   if (DiffFiles(New, Old)) {
     if (std::rename(New.c_str(), Old.c_str()))
       std::cerr << "Error renaming '" << New << "' to '" << Old << "'!\n";
@@ -124,7 +123,7 @@ void MoveFileOverIfUpdated(const std::string &New, const std::string &Old) {
 
 /// removeFile - Delete the specified file
 ///
-void removeFile(const std::string &Filename) {
+void llvm::removeFile(const std::string &Filename) {
   std::remove(Filename.c_str());
 }
 
@@ -132,7 +131,7 @@ void removeFile(const std::string &Filename) {
 /// file does not exist yet, return it, otherwise add a suffix to make it
 /// unique.
 ///
-std::string getUniqueFilename(const std::string &FilenameBase) {
+std::string llvm::getUniqueFilename(const std::string &FilenameBase) {
   if (!std::ifstream(FilenameBase.c_str()))
     return FilenameBase;    // Couldn't open the file? Use it!
 
@@ -183,8 +182,8 @@ static bool AddPermissionsBits (const std::string &Filename, mode_t bits) {
 /// umask would allow. Filename must name an existing file or
 /// directory.  Returns true on success, false on error.
 ///
-bool MakeFileExecutable (const std::string &Filename) {
-  return AddPermissionsBits (Filename, 0111);
+bool llvm::MakeFileExecutable(const std::string &Filename) {
+  return AddPermissionsBits(Filename, 0111);
 }
 
 /// MakeFileReadable - Make the file named Filename readable by
@@ -192,8 +191,6 @@ bool MakeFileExecutable (const std::string &Filename) {
 /// umask would allow. Filename must name an existing file or
 /// directory.  Returns true on success, false on error.
 ///
-bool MakeFileReadable (const std::string &Filename) {
-  return AddPermissionsBits (Filename, 0444);
+bool llvm::MakeFileReadable(const std::string &Filename) {
+  return AddPermissionsBits(Filename, 0444);
 }
-
-} // End llvm namespace
index ffb081a998201e696db07fe1ef726faa8e757d6b..f0cb6cc1c59cc43abbd99817e74c950212c52e79 100644 (file)
@@ -14,8 +14,7 @@
 #include "Support/LeakDetector.h"
 #include "llvm/Value.h"
 #include <set>
-
-namespace llvm {
+using namespace llvm;
 
 // Lazily allocate set so that release build doesn't have to do anything.
 static std::set<const void*> *Objects = 0;
@@ -89,5 +88,3 @@ void LeakDetector::checkForGarbageImpl(const std::string &Message) {
     Objects = 0; LLVMObjects = 0;
   }
 }
-
-} // End llvm namespace
index 567fe05e3202aecf3d11d9831be348c8a2b3d19d..699ecd1a651821c8bbab5206fa89b702d71c9cc2 100644 (file)
@@ -15,8 +15,7 @@
 #include "llvm/Module.h"
 #include "llvm/Type.h"
 #include "Support/StringExtras.h"
-
-namespace llvm {
+using namespace llvm;
 
 static char HexDigit(int V) {
   return V < 10 ? V+'0' : V+'A'-10;
@@ -100,5 +99,3 @@ Mangler::Mangler(Module &m, bool addUnderscorePrefix)
       else
         FoundNames.insert(I->getName());   // Otherwise, keep track of name
 }
-
-} // End llvm namespace
index 1729bb33655769b8487060778bd3d4e046e16e07..be8833d0096dd303c38704e0379a09b0e3c5cf5a 100644 (file)
@@ -22,8 +22,7 @@
 #include "Config/dlfcn.h"
 #include "Config/link.h"
 #include <iostream>
-
-namespace llvm {
+using namespace llvm;
 
 namespace {
   struct PluginLoader {
@@ -40,5 +39,3 @@ namespace {
 static cl::opt<PluginLoader, false, cl::parser<std::string> >
 LoadOpt("load", cl::ZeroOrMore, cl::value_desc("plugin.so"),
         cl::desc("Load the specified plugin"));
-
-} // End llvm namespace
index 73decfd89be6019181d5ac72a9c2f7e05e96e568..27e3eb80e50bdb4cd852f58816215c9a9614951a 100644 (file)
@@ -19,8 +19,7 @@
 #include <cstdio>
 #include <signal.h>
 #include "Config/config.h"     // Get the signal handler return type
-
-namespace llvm {
+using namespace llvm;
 
 static std::vector<std::string> FilesToRemove;
 
@@ -58,11 +57,9 @@ static RETSIGTYPE SignalHandler(int Sig) {
 static void RegisterHandler(int Signal) { signal(Signal, SignalHandler); }
 
 // RemoveFileOnSignal - The public API
-void RemoveFileOnSignal(const std::string &Filename) {
+void llvm::RemoveFileOnSignal(const std::string &Filename) {
   FilesToRemove.push_back(Filename);
 
   std::for_each(IntSigs, IntSigsEnd, RegisterHandler);
   std::for_each(KillSigs, KillSigsEnd, RegisterHandler);
 }
-
-} // End llvm namespace
index ec535ad45a2d4d38d4f6b63bba4c55b07fe0f0b8..e1a0bd04d4555cdd7d1156b25623dbd7545d9caf 100644 (file)
 #include "Config/sys/wait.h"
 #include "Config/unistd.h"
 #include "Config/errno.h"
-
-namespace llvm {
+using namespace llvm;
 
 /// isExecutableFile - This function returns true if the filename specified
 /// exists and is executable.
 ///
-bool isExecutableFile(const std::string &ExeFileName) {
+bool llvm::isExecutableFile(const std::string &ExeFileName) {
   struct stat Buf;
   if (stat(ExeFileName.c_str(), &Buf))
     return false;  // Must not be executable!
@@ -51,8 +50,8 @@ bool isExecutableFile(const std::string &ExeFileName) {
 /// directory, nor in the PATH.  If the executable cannot be found, return an
 /// empty string.
 /// 
-std::string FindExecutable(const std::string &ExeName,
-                           const std::string &ProgramPath) {
+std::string llvm::FindExecutable(const std::string &ExeName,
+                                 const std::string &ProgramPath) {
   // First check the directory that bugpoint is in.  We can do this if
   // BugPointPath contains at least one / character, indicating that it is a
   // relative path to bugpoint itself.
@@ -116,11 +115,11 @@ static void RedirectFD(const std::string &File, int FD) {
 /// the calling program if there is an error executing the specified program.
 /// It returns the return value of the program, or -1 if a timeout is detected.
 ///
-int RunProgramWithTimeout(const std::string &ProgramPath, const char **Args,
-                          const std::string &StdInFile,
-                          const std::string &StdOutFile,
-                          const std::string &StdErrFile) {
-
+int llvm::RunProgramWithTimeout(const std::string &ProgramPath,
+                                const char **Args,
+                                const std::string &StdInFile,
+                                const std::string &StdOutFile,
+                                const std::string &StdErrFile) {
   // FIXME: install sigalarm handler here for timeout...
 
   int Child = fork();
@@ -204,9 +203,8 @@ int RunProgramWithTimeout(const std::string &ProgramPath, const char **Args,
 //
 //  This function does not use $PATH to find programs.
 //
-int
-ExecWait (const char * const old_argv[], const char * const old_envp[])
-{
+int llvm::ExecWait(const char * const old_argv[],
+                   const char * const old_envp[]) {
   // Child process ID
   register int child;
 
@@ -273,5 +271,3 @@ ExecWait (const char * const old_argv[], const char * const old_envp[])
   //
   return 1;
 }
-
-} // End llvm namespace
index 0f2e13e20f16394c73e8c17c86b0f50a6a084c73..b1fb64b9908e94fae359936e55dc9652f635bbb2 100644 (file)
 #include "Support/FileUtilities.h"
 #include <iostream>
 #include <fstream>
-
-namespace llvm {
+using namespace llvm;
 
 //===---------------------------------------------------------------------===//
 // LLI Implementation of AbstractIntepreter interface
 //
-class LLI : public AbstractInterpreter {
-  std::string LLIPath;          // The path to the LLI executable
-public:
-  LLI(const std::string &Path) : LLIPath(Path) { }
-
-
-  virtual int ExecuteProgram(const std::string &Bytecode,
-                             const std::vector<std::string> &Args,
-                             const std::string &InputFile,
-                             const std::string &OutputFile,
-                             const std::vector<std::string> &SharedLibs = 
+namespace {
+  class LLI : public AbstractInterpreter {
+    std::string LLIPath;          // The path to the LLI executable
+  public:
+    LLI(const std::string &Path) : LLIPath(Path) { }
+    
+    
+    virtual int ExecuteProgram(const std::string &Bytecode,
+                               const std::vector<std::string> &Args,
+                               const std::string &InputFile,
+                               const std::string &OutputFile,
+                               const std::vector<std::string> &SharedLibs = 
                                std::vector<std::string>());
-};
+  };
+}
 
 int LLI::ExecuteProgram(const std::string &Bytecode,
                         const std::vector<std::string> &Args,
@@ -148,19 +149,21 @@ LLC *AbstractInterpreter::createLLC(const std::string &ProgramPath,
 //===---------------------------------------------------------------------===//
 // JIT Implementation of AbstractIntepreter interface
 //
-class JIT : public AbstractInterpreter {
-  std::string LLIPath;          // The path to the LLI executable
-public:
-  JIT(const std::string &Path) : LLIPath(Path) { }
-
-
-  virtual int ExecuteProgram(const std::string &Bytecode,
-                             const std::vector<std::string> &Args,
-                             const std::string &InputFile,
-                             const std::string &OutputFile,
-                             const std::vector<std::string> &SharedLibs = 
+namespace {
+  class JIT : public AbstractInterpreter {
+    std::string LLIPath;          // The path to the LLI executable
+  public:
+    JIT(const std::string &Path) : LLIPath(Path) { }
+    
+    
+    virtual int ExecuteProgram(const std::string &Bytecode,
+                               const std::vector<std::string> &Args,
+                               const std::string &InputFile,
+                               const std::string &OutputFile,
+                               const std::vector<std::string> &SharedLibs = 
                                std::vector<std::string>());
-};
+  };
+}
 
 int JIT::ExecuteProgram(const std::string &Bytecode,
                         const std::vector<std::string> &Args,
@@ -396,5 +399,3 @@ GCC *GCC::create(const std::string &ProgramPath, std::string &Message) {
   Message = "Found gcc: " + GCCPath + "\n";
   return new GCC(GCCPath);
 }
-
-} // End llvm namespace
index 77fdaf6b44c21ac1fe200f1ea15f37d23191ac9d..976f825598e29009fce9f447525c9ad6535f239e 100644 (file)
 #include "llvm/Support/ValueHolder.h"
 #include "llvm/Type.h"
 
-namespace llvm {
+using namespace llvm;
 
 ValueHolder::ValueHolder(Value *V) : User(Type::TypeTy, Value::TypeVal) {
   Operands.push_back(Use(V, this));
 }
-
-} // End llvm namespace
index e180f12a1a045f2b7fa14fa731c90bc8d266e081..7b45d20b5331d32408177ae4936c57d3ea1dbfa3 100644 (file)
@@ -25,8 +25,7 @@
 #include "llvm/Type.h"
 #include "llvm/Instruction.h"
 #include "llvm/ConstantHandling.h"
-
-namespace llvm {
+using namespace llvm;
 
 /// Initialize a full (the default) or empty set for the specified type.
 ///
@@ -250,5 +249,3 @@ void ConstantRange::print(std::ostream &OS) const {
 void ConstantRange::dump() const {
   print(std::cerr);
 }
-
-} // End llvm namespace
index ffb081a998201e696db07fe1ef726faa8e757d6b..f0cb6cc1c59cc43abbd99817e74c950212c52e79 100644 (file)
@@ -14,8 +14,7 @@
 #include "Support/LeakDetector.h"
 #include "llvm/Value.h"
 #include <set>
-
-namespace llvm {
+using namespace llvm;
 
 // Lazily allocate set so that release build doesn't have to do anything.
 static std::set<const void*> *Objects = 0;
@@ -89,5 +88,3 @@ void LeakDetector::checkForGarbageImpl(const std::string &Message) {
     Objects = 0; LLVMObjects = 0;
   }
 }
-
-} // End llvm namespace
index 567fe05e3202aecf3d11d9831be348c8a2b3d19d..699ecd1a651821c8bbab5206fa89b702d71c9cc2 100644 (file)
@@ -15,8 +15,7 @@
 #include "llvm/Module.h"
 #include "llvm/Type.h"
 #include "Support/StringExtras.h"
-
-namespace llvm {
+using namespace llvm;
 
 static char HexDigit(int V) {
   return V < 10 ? V+'0' : V+'A'-10;
@@ -100,5 +99,3 @@ Mangler::Mangler(Module &m, bool addUnderscorePrefix)
       else
         FoundNames.insert(I->getName());   // Otherwise, keep track of name
 }
-
-} // End llvm namespace
index 0f2e13e20f16394c73e8c17c86b0f50a6a084c73..b1fb64b9908e94fae359936e55dc9652f635bbb2 100644 (file)
 #include "Support/FileUtilities.h"
 #include <iostream>
 #include <fstream>
-
-namespace llvm {
+using namespace llvm;
 
 //===---------------------------------------------------------------------===//
 // LLI Implementation of AbstractIntepreter interface
 //
-class LLI : public AbstractInterpreter {
-  std::string LLIPath;          // The path to the LLI executable
-public:
-  LLI(const std::string &Path) : LLIPath(Path) { }
-
-
-  virtual int ExecuteProgram(const std::string &Bytecode,
-                             const std::vector<std::string> &Args,
-                             const std::string &InputFile,
-                             const std::string &OutputFile,
-                             const std::vector<std::string> &SharedLibs = 
+namespace {
+  class LLI : public AbstractInterpreter {
+    std::string LLIPath;          // The path to the LLI executable
+  public:
+    LLI(const std::string &Path) : LLIPath(Path) { }
+    
+    
+    virtual int ExecuteProgram(const std::string &Bytecode,
+                               const std::vector<std::string> &Args,
+                               const std::string &InputFile,
+                               const std::string &OutputFile,
+                               const std::vector<std::string> &SharedLibs = 
                                std::vector<std::string>());
-};
+  };
+}
 
 int LLI::ExecuteProgram(const std::string &Bytecode,
                         const std::vector<std::string> &Args,
@@ -148,19 +149,21 @@ LLC *AbstractInterpreter::createLLC(const std::string &ProgramPath,
 //===---------------------------------------------------------------------===//
 // JIT Implementation of AbstractIntepreter interface
 //
-class JIT : public AbstractInterpreter {
-  std::string LLIPath;          // The path to the LLI executable
-public:
-  JIT(const std::string &Path) : LLIPath(Path) { }
-
-
-  virtual int ExecuteProgram(const std::string &Bytecode,
-                             const std::vector<std::string> &Args,
-                             const std::string &InputFile,
-                             const std::string &OutputFile,
-                             const std::vector<std::string> &SharedLibs = 
+namespace {
+  class JIT : public AbstractInterpreter {
+    std::string LLIPath;          // The path to the LLI executable
+  public:
+    JIT(const std::string &Path) : LLIPath(Path) { }
+    
+    
+    virtual int ExecuteProgram(const std::string &Bytecode,
+                               const std::vector<std::string> &Args,
+                               const std::string &InputFile,
+                               const std::string &OutputFile,
+                               const std::vector<std::string> &SharedLibs = 
                                std::vector<std::string>());
-};
+  };
+}
 
 int JIT::ExecuteProgram(const std::string &Bytecode,
                         const std::vector<std::string> &Args,
@@ -396,5 +399,3 @@ GCC *GCC::create(const std::string &ProgramPath, std::string &Message) {
   Message = "Found gcc: " + GCCPath + "\n";
   return new GCC(GCCPath);
 }
-
-} // End llvm namespace