Fix warnings raised during release builds

Bug: b/123933266
Change-Id: If4dc4858c8a81dd5e7b3510a08e7dbae74051483
Reviewed-on: https://swiftshader-review.googlesource.com/c/25556
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
diff --git a/src/OpenGL/libGLES_CM/Context.cpp b/src/OpenGL/libGLES_CM/Context.cpp
index 811234e..45c26ee 100644
--- a/src/OpenGL/libGLES_CM/Context.cpp
+++ b/src/OpenGL/libGLES_CM/Context.cpp
@@ -2510,10 +2510,10 @@
 		{
 			for(int i = 0; i < rect.x1 - rect.x0; i++)
 			{
-				float r;
-				float g;
-				float b;
-				float a;
+				float r = 0.f;
+				float g = 0.f;
+				float b = 0.f;
+				float a = 0.f;
 
 				switch(renderTarget->getExternalFormat())
 				{
diff --git a/src/OpenGL/libGLES_CM/libGLES_CM.cpp b/src/OpenGL/libGLES_CM/libGLES_CM.cpp
index c7cf691..31a2c29 100644
--- a/src/OpenGL/libGLES_CM/libGLES_CM.cpp
+++ b/src/OpenGL/libGLES_CM/libGLES_CM.cpp
@@ -2104,7 +2104,7 @@
 			return error(GL_INVALID_ENUM);
 		}
 
-		GLenum attachmentObjectType;   // Type category
+		GLenum attachmentObjectType = GL_NONE;   // Type category
 		if(attachmentType == GL_NONE_OES || attachmentType == GL_RENDERBUFFER_OES)
 		{
 			attachmentObjectType = attachmentType;
diff --git a/src/Pipeline/SpirvShader.cpp b/src/Pipeline/SpirvShader.cpp
index 18d71b6..418ffd4 100644
--- a/src/Pipeline/SpirvShader.cpp
+++ b/src/Pipeline/SpirvShader.cpp
@@ -457,6 +457,7 @@
 		default:
 			// Some other random insn.
 			UNIMPLEMENTED("Only types are supported");
+			return 0;
 		}
 	}
 
@@ -789,12 +790,11 @@
 				auto &object = getObject(objectId);
 				auto &objectTy = getType(object.type);
 				auto &pointer = getObject(pointerId);
-				auto &pointerTy = getType(pointer.type);
 				auto &pointerBase = getObject(pointer.pointerBase);
 				auto &pointerBaseTy = getType(pointerBase.type);
 
-				assert(pointerTy.element == object.type);
-				assert(TypeID(insn.word(1)) == object.type);
+				ASSERT(getType(pointer.type).element == object.type);
+				ASSERT(TypeID(insn.word(1)) == object.type);
 
 				if (pointerBaseTy.storageClass == spv::StorageClassImage ||
 					pointerBaseTy.storageClass == spv::StorageClassUniform ||
@@ -838,11 +838,10 @@
 				ObjectID baseId = insn.word(3);
 				auto &object = getObject(objectId);
 				auto &type = getType(typeId);
-				auto &base = getObject(baseId);
 				auto &pointerBase = getObject(object.pointerBase);
 				auto &pointerBaseTy = getType(pointerBase.type);
-				assert(type.sizeInComponents == 1);
-				assert(base.pointerBase == object.pointerBase);
+				ASSERT(type.sizeInComponents == 1);
+				ASSERT(getObject(baseId).pointerBase == object.pointerBase);
 
 				if (pointerBaseTy.storageClass == spv::StorageClassImage ||
 					pointerBaseTy.storageClass == spv::StorageClassUniform ||
diff --git a/src/Reactor/LLVMReactor.cpp b/src/Reactor/LLVMReactor.cpp
index 74b6261..e589d17 100644
--- a/src/Reactor/LLVMReactor.cpp
+++ b/src/Reactor/LLVMReactor.cpp
@@ -118,6 +118,7 @@
 
 	rr::MutexLock codegenMutex;
 
+#ifdef ENABLE_RR_PRINT
 	std::string replace(std::string str, const std::string& substr, const std::string& replacement)
 	{
 		size_t pos = 0;
@@ -127,6 +128,7 @@
 		}
 		return str;
 	}
+#endif // ENABLE_RR_PRINT
 
 #if REACTOR_LLVM_VERSION >= 7
 	llvm::Value *lowerPAVG(llvm::Value *x, llvm::Value *y)
@@ -7532,7 +7534,7 @@
 	}
 #endif  // defined(__i386__) || defined(__x86_64__)
 
-#if ENABLE_RR_PRINT
+#ifdef ENABLE_RR_PRINT
 	// extractAll returns a vector containing the extracted n scalar value of
 	// the vector vec.
 	static std::vector<Value*> extractAll(Value* vec, int n)
diff --git a/src/Reactor/Reactor.hpp b/src/Reactor/Reactor.hpp
index ca5a54e..357d0ce 100644
--- a/src/Reactor/Reactor.hpp
+++ b/src/Reactor/Reactor.hpp
@@ -3077,9 +3077,9 @@
 	// args as this appears to still be broken on certain compilers.
 	#define RR_GET_NTH_ARG(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, N, ...) N
 	#define RR_COUNT_ARGUMENTS(...) RR_GET_NTH_ARG(__VA_ARGS__, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
-	static_assert(1 == RR_COUNT_ARGUMENTS(a)); // Sanity checks.
-	static_assert(2 == RR_COUNT_ARGUMENTS(a, b));
-	static_assert(3 == RR_COUNT_ARGUMENTS(a, b, c));
+	static_assert(1 == RR_COUNT_ARGUMENTS(a), "RR_COUNT_ARGUMENTS broken"); // Sanity checks.
+	static_assert(2 == RR_COUNT_ARGUMENTS(a, b), "RR_COUNT_ARGUMENTS broken");
+	static_assert(3 == RR_COUNT_ARGUMENTS(a, b, c), "RR_COUNT_ARGUMENTS broken");
 
 	// RR_WATCH_FMT(...) resolves to a string literal that lists all the
 	// arguments by name. This string can be passed to LOG() to print each of