diff --git a/examples/BrainF/BrainF.cpp b/examples/BrainF/BrainF.cpp
index f3d66d9..86f2ea4 100644
--- a/examples/BrainF/BrainF.cpp
+++ b/examples/BrainF/BrainF.cpp
@@ -27,7 +27,7 @@
 #include "llvm/Constants.h"
 #include "llvm/Intrinsics.h"
 #include "llvm/ADT/STLExtras.h"
-
+#include <iostream>
 using namespace llvm;
 
 //Set the constants for naming
@@ -291,7 +291,7 @@
         break;
 
       default:
-        cerr<<"Error: Unknown symbol.\n";
+        std::cerr << "Error: Unknown symbol.\n";
         abort();
         break;
     }
@@ -404,7 +404,7 @@
 
   if (cursym == SYM_ENDLOOP) {
     if (!phi) {
-      cerr<<"Error: Extra ']'\n";
+      std::cerr << "Error: Extra ']'\n";
       abort();
     }
 
@@ -450,7 +450,7 @@
   builder->CreateBr(endbb);
 
   if (phi) {
-    cerr<<"Error: Missing ']'\n";
+    std::cerr << "Error: Missing ']'\n";
     abort();
   }
 }
diff --git a/examples/BrainF/BrainFDriver.cpp b/examples/BrainF/BrainFDriver.cpp
index 0a24d7b..34fb806 100644
--- a/examples/BrainF/BrainFDriver.cpp
+++ b/examples/BrainF/BrainFDriver.cpp
@@ -36,7 +36,6 @@
 #include "llvm/Support/ManagedStatic.h"
 #include <fstream>
 #include <iostream>
-
 using namespace llvm;
 
 //Command line options
@@ -87,8 +86,8 @@
   cl::ParseCommandLineOptions(argc, argv, " BrainF compiler\n");
 
   if (InputFilename == "") {
-    cerr<<"Error: You must specify the filename of the program to "
-          "be compiled.  Use --help to see the options.\n";
+    std::cerr<<"Error: You must specify the filename of the program to "
+    "be compiled.  Use --help to see the options.\n";
     abort();
   }
 
@@ -130,13 +129,13 @@
 
   //Verify generated code
   if (verifyModule(*mod)) {
-    cerr<<"Error: module failed verification.  This shouldn't happen.\n";
+    std::cerr<<"Error: module failed verification.  This shouldn't happen.\n";
     abort();
   }
 
   //Write it out
   if (JIT) {
-    cout<<"------- Running JIT -------\n";
+    std::cout << "------- Running JIT -------\n";
     ExistingModuleProvider *mp = new ExistingModuleProvider(mod);
     ExecutionEngine *ee = ExecutionEngine::create(mp, false);
     std::vector<GenericValue> args;
