diff --git a/llvm/lib/Target/Sparc/EmitAssembly.cpp b/llvm/lib/Target/Sparc/EmitAssembly.cpp
index 5174207..1bc192c 100644
--- a/llvm/lib/Target/Sparc/EmitAssembly.cpp
+++ b/llvm/lib/Target/Sparc/EmitAssembly.cpp
@@ -23,6 +23,7 @@
 #include "llvm/Module.h"
 #include "Support/StringExtras.h"
 #include "Support/HashExtras.h"
+#include <ostream>
 using std::string;
 
 namespace {
@@ -392,7 +393,8 @@
 
 class SparcModuleAsmPrinter : public Pass, public AsmPrinter {
 public:
-  SparcModuleAsmPrinter(ostream &os, TargetMachine &t) : AsmPrinter(os, t) {}
+  SparcModuleAsmPrinter(std::ostream &os, TargetMachine &t)
+    : AsmPrinter(os, t) {}
 
   virtual bool run(Module *M) {
     startModule(M);
diff --git a/llvm/lib/Target/Sparc/EmitBytecodeToAssembly.cpp b/llvm/lib/Target/Sparc/EmitBytecodeToAssembly.cpp
index 7cbf085..1a14a53 100644
--- a/llvm/lib/Target/Sparc/EmitBytecodeToAssembly.cpp
+++ b/llvm/lib/Target/Sparc/EmitBytecodeToAssembly.cpp
@@ -8,6 +8,7 @@
 
 #include "SparcInternals.h"
 #include "llvm/Bytecode/Writer.h"
+#include <ostream>
 
 namespace {
 
@@ -17,10 +18,10 @@
   class sparcasmbuf : public streambuf {
     std::ostream &BaseStr;
   public:
-    typedef char        char_type;
-    typedef int         int_type;
-    typedef streampos   pos_type;
-    typedef streamoff   off_type;
+    typedef char           char_type;
+    typedef int            int_type;
+    typedef std::streampos pos_type;
+    typedef std::streamoff off_type;
     
     sparcasmbuf(std::ostream &On) : BaseStr(On) {}
 
@@ -39,10 +40,10 @@
   class osparcasmstream : public ostream {
     sparcasmbuf sb;
   public:
-    typedef char      char_type;
-    typedef int       int_type;
-    typedef streampos pos_type;
-    typedef streamoff off_type;
+    typedef char           char_type;
+    typedef int            int_type;
+    typedef std::streampos pos_type;
+    typedef std::streamoff off_type;
 
     explicit osparcasmstream(ostream &On) : ostream(&sb), sb(On) { }
 
diff --git a/llvm/lib/Target/Sparc/SparcInternals.h b/llvm/lib/Target/Sparc/SparcInternals.h
index 73f02c3..6230ae1 100644
--- a/llvm/lib/Target/Sparc/SparcInternals.h
+++ b/llvm/lib/Target/Sparc/SparcInternals.h
@@ -310,7 +310,7 @@
     else if (ty <= Type::DoubleTyID)
       res = FloatRegClassID;           // sparc float reg class
     else { 
-      std::cerr << "TypeID: " << ty << "\n";
+      //std::cerr << "TypeID: " << ty << "\n";
       assert(0 && "Cannot resolve register class for type");
       return 0;
     }
diff --git a/llvm/lib/Target/Sparc/SparcRegInfo.cpp b/llvm/lib/Target/Sparc/SparcRegInfo.cpp
index d80678c..4da596d 100644
--- a/llvm/lib/Target/Sparc/SparcRegInfo.cpp
+++ b/llvm/lib/Target/Sparc/SparcRegInfo.cpp
@@ -192,6 +192,7 @@
     return IntCCRegType;             
   else 
     assert(0 && "Invalid register number in getRegType");
+  return 0;
 }
 
 
