DO NOT MERGE: Almost all warnings are now errors in RS build.

Change-Id: Ie4952cdf5c75bf1b7a7899a32b3b1f8747686356
diff --git a/libs/rs/Android.mk b/libs/rs/Android.mk
index 5ab4804..0836887 100644
--- a/libs/rs/Android.mk
+++ b/libs/rs/Android.mk
@@ -124,6 +124,8 @@
 LOCAL_C_INCLUDES += external/freetype/include external/zlib dalvik
 LOCAL_C_INCLUDES += frameworks/compile/libbcc/include
 
+LOCAL_CFLAGS += -Werror -Wall -Wno-unused-parameter -Wno-unused-variable
+
 LOCAL_LDLIBS := -lpthread -ldl
 LOCAL_MODULE:= libRS
 LOCAL_MODULE_TAGS := optional
@@ -132,6 +134,7 @@
 
 # Now build a host version for serialization
 include $(CLEAR_VARS)
+LOCAL_CFLAGS += -Werror -Wall -Wno-unused-parameter -Wno-unused-variable
 LOCAL_CFLAGS += -DANDROID_RS_SERIALIZE
 
 LOCAL_SRC_FILES:= \
diff --git a/libs/rs/rsAllocation.cpp b/libs/rs/rsAllocation.cpp
index 54dcbcb..ec03a15 100644
--- a/libs/rs/rsAllocation.cpp
+++ b/libs/rs/rsAllocation.cpp
@@ -21,8 +21,6 @@
 #include <GLES/glext.h>
 #endif //ANDROID_RS_SERIALIZE
 
-static void rsaAllocationGenerateScriptMips(RsContext con, RsAllocation va);
-
 using namespace android;
 using namespace android::renderscript;
 
@@ -602,6 +600,8 @@
 //
 #ifndef ANDROID_RS_SERIALIZE
 
+static void rsaAllocationGenerateScriptMips(RsContext con, RsAllocation va);
+
 namespace android {
 namespace renderscript {
 
diff --git a/libs/rs/rsContext.cpp b/libs/rs/rsContext.cpp
index 2e6ea12..4a5620d 100644
--- a/libs/rs/rsContext.cpp
+++ b/libs/rs/rsContext.cpp
@@ -741,7 +741,7 @@
         mWorkers.mLaunchSignals[ct].set();
     }
     for (uint32_t ct = 0; ct < mWorkers.mCount; ct++) {
-        int status = pthread_join(mWorkers.mThreadId[ct], &res);
+        status = pthread_join(mWorkers.mThreadId[ct], &res);
     }
     rsAssert(!mWorkers.mRunningCount);
 
diff --git a/libs/rs/rsHandcode.h b/libs/rs/rsHandcode.h
index 6f21a35..57da10a 100644
--- a/libs/rs/rsHandcode.h
+++ b/libs/rs/rsHandcode.h
@@ -4,7 +4,6 @@
 static inline void rsHCAPI_ContextFinish (RsContext rsc) {
     ThreadIO *io = &((Context *)rsc)->mIO;
     uint32_t size = sizeof(RS_CMD_ContextFinish);
-    RS_CMD_ContextFinish *cmd = static_cast<RS_CMD_ContextFinish *>(io->mToCore.reserve(size));
     io->mToCore.commitSync(RS_CMD_ID_ContextFinish, size);
 }
 
diff --git a/libs/rs/rsScript.cpp b/libs/rs/rsScript.cpp
index 9ada9c2..afee2a3 100644
--- a/libs/rs/rsScript.cpp
+++ b/libs/rs/rsScript.cpp
@@ -139,7 +139,6 @@
 }
 
 void rsi_ScriptSetVarV(Context *rsc, RsScript vs, uint32_t slot, const void *data, uint32_t len) {
-    const float *fp = (const float *)data;
     Script *s = static_cast<Script *>(vs);
     s->setVar(slot, data, len);
 }
diff --git a/libs/rs/rsScriptC_Lib.cpp b/libs/rs/rsScriptC_Lib.cpp
index 80da8ae..7c64184 100644
--- a/libs/rs/rsScriptC_Lib.cpp
+++ b/libs/rs/rsScriptC_Lib.cpp
@@ -35,6 +35,7 @@
 // Math routines
 //////////////////////////////////////////////////////////////////////////////
 
+#if 0
 static float SC_sinf_fast(float x) {
     const float A =   1.0f / (2.0f * M_PI);
     const float B = -16.0f;
@@ -70,6 +71,7 @@
     const float y = B * x * fabsf(x) + C * x;
     return 0.2215f * (y * fabsf(y) - y) + y;
 }
+#endif
 
 static float SC_randf(float max) {
     float r = (float)rand();
diff --git a/libs/rs/rsScriptC_LibCL.cpp b/libs/rs/rsScriptC_LibCL.cpp
index 57855db..8a0aa47 100644
--- a/libs/rs/rsScriptC_LibCL.cpp
+++ b/libs/rs/rsScriptC_LibCL.cpp
@@ -42,6 +42,7 @@
     return v1 * v2 + v3;
 }
 
+#if 0
 static float SC_pown(float v, int p) {
     return powf(v, (float)p);
 }
@@ -49,6 +50,7 @@
 static float SC_powr(float v, float p) {
     return powf(v, p);
 }
+#endif
 
 float SC_rootn(float v, int r) {
     return pow(v, 1.f / r);
diff --git a/libs/rs/rsScriptC_LibGL.cpp b/libs/rs/rsScriptC_LibGL.cpp
index 48a0969..15426bc 100644
--- a/libs/rs/rsScriptC_LibGL.cpp
+++ b/libs/rs/rsScriptC_LibGL.cpp
@@ -281,11 +281,13 @@
     static_cast<Allocation *>(va)->syncAll(rsc, RS_ALLOCATION_USAGE_SCRIPT);
 }
 
+#if 0
 static void SC_allocationSyncAll2(RsAllocation va, RsAllocationUsageType source) {
     CHECK_OBJ(va);
     GET_TLS();
     static_cast<Allocation *>(va)->syncAll(rsc, source);
 }
+#endif
 
 static void SC_ClearColor(float r, float g, float b, float a) {
     GET_TLS();