Index: trunk/src/image/miniz.cc
===================================================================
--- trunk/src/image/miniz.cc	(revision 486)
+++ trunk/src/image/miniz.cc	(revision 487)
@@ -3,4 +3,16 @@
 
 using namespace nv;
+
+#define MINIZ_NO_TIME
+#define MINIZ_NO_ZLIB_COMPATIBLE_NAMES
+
+#define MINIZ_HAS_64BIT_REGISTERS 0
+#define TINFL_USE_64BIT_BITBUF 0
+
+#if NV_COMPILER == NV_CLANG
+#pragma clang diagnostic ignored "-Wunused-macros"
+#pragma clang diagnostic ignored "-Wold-style-cast"
+#pragma clang diagnostic ignored "-Wsign-conversion"
+#endif
 
 #if defined( _M_IX86 ) || defined( _M_X64 ) || defined( __i386__ ) || defined( __i386 ) || defined( __i486__ ) || defined( __i486 ) || defined( i386 ) || defined( __ia64__ ) || defined( __x86_64__ )
Index: trunk/src/image/png_loader.cc
===================================================================
--- trunk/src/image/png_loader.cc	(revision 486)
+++ trunk/src/image/png_loader.cc	(revision 487)
@@ -10,4 +10,13 @@
 
 using namespace nv;
+
+#if NV_COMPILER == NV_CLANG
+#pragma clang diagnostic ignored "-Wunused-macros"
+#pragma clang diagnostic ignored "-Wold-style-cast"
+#pragma clang diagnostic ignored "-Wsign-conversion"
+#pragma clang diagnostic ignored "-Wreserved-id-macro"
+#pragma clang diagnostic ignored "-Wmissing-prototypes"
+#define NULL 0
+#endif
 
 enum
@@ -322,10 +331,15 @@
 };
 
+static int iabs( int a )
+{
+	return a < 0 ? -a : a;
+}
+
 static int stbi__paeth( int a, int b, int c )
 {
 	int p = a + b - c;
-	int pa = abs( p - a );
-	int pb = abs( p - b );
-	int pc = abs( p - c );
+	int pa = iabs( p - a );
+	int pb = iabs( p - b );
+	int pc = iabs( p - c );
 	if ( pa <= pb && pa <= pc ) return a;
 	if ( pb <= pc ) return b;
@@ -1050,5 +1064,5 @@
 		case 3: format.format = RGB; break;
 		case 4: format.format = RGBA; break;
-		default: return false;
+		default: return nullptr;
 		}
 		size = ivec2( x, y );
