am f4b4825b: am 5fe615c4: Merge "Fix histogram intrinsic."
* commit 'f4b4825b4769cb2d9cf6fa3787e535f68f0f32a6':
Fix histogram intrinsic.
diff --git a/cpp/Android.mk b/cpp/Android.mk
index d266d14..b32d7f1 100644
--- a/cpp/Android.mk
+++ b/cpp/Android.mk
@@ -21,9 +21,11 @@
RS_VERSION := "(1 + $(PLATFORM_SDK_VERSION))"
endif
local_cflags_for_rs_cpp += -DRS_VERSION=$(RS_VERSION)
+local_cflags_for_rs_cpp += -Wno-unused-parameter
LOCAL_SRC_FILES := $(rs_cpp_SRC_FILES)
+LOCAL_CLANG := true
LOCAL_CFLAGS += $(local_cflags_for_rs_cpp)
LOCAL_SHARED_LIBRARIES := \
@@ -47,6 +49,7 @@
include $(CLEAR_VARS)
+LOCAL_CLANG := true
LOCAL_CFLAGS += $(local_cflags_for_rs_cpp)
LOCAL_SRC_FILES := $(rs_cpp_SRC_FILES)
diff --git a/driver/rsdRuntimeStubs.cpp b/driver/rsdRuntimeStubs.cpp
index ac80ba3..4788a12 100644
--- a/driver/rsdRuntimeStubs.cpp
+++ b/driver/rsdRuntimeStubs.cpp
@@ -1222,24 +1222,23 @@
// Compatibility Library entry points
//////////////////////////////////////////////////////////////////////////////
-bool rsIsObject(rs_element src) {
- return SC_IsObject((ObjectBase*)src.p);
-}
-
-#define CLEAR_SET_OBJ(t) \
+#define IS_CLEAR_SET_OBJ(t) \
+ bool rsIsObject(t src) { \
+ return SC_IsObject((ObjectBase*)src.p); \
+ } \
void __attribute__((overloadable)) rsClearObject(t *dst) { \
- return SC_ClearObject((ObjectBase**) dst); \
+ return SC_ClearObject((ObjectBase**) dst); \
} \
void __attribute__((overloadable)) rsSetObject(t *dst, t src) { \
- return SC_SetObject((ObjectBase**) dst, (ObjectBase*) src.p); \
+ return SC_SetObject((ObjectBase**) dst, (ObjectBase*) src.p); \
}
-CLEAR_SET_OBJ(rs_element)
-CLEAR_SET_OBJ(rs_type)
-CLEAR_SET_OBJ(rs_allocation)
-CLEAR_SET_OBJ(rs_sampler)
-CLEAR_SET_OBJ(rs_script)
-#undef CLEAR_SET_OBJ
+IS_CLEAR_SET_OBJ(rs_element)
+IS_CLEAR_SET_OBJ(rs_type)
+IS_CLEAR_SET_OBJ(rs_allocation)
+IS_CLEAR_SET_OBJ(rs_sampler)
+IS_CLEAR_SET_OBJ(rs_script)
+#undef IS_CLEAR_SET_OBJ
const Allocation * rsGetAllocation(const void *ptr) {
return SC_GetAllocation(ptr);
diff --git a/java/tests/Balls/src/com/example/android/rs/balls/ball_physics.rs b/java/tests/Balls/src/com/example/android/rs/balls/ball_physics.rs
index 5b5d2e0..a8c781d 100644
--- a/java/tests/Balls/src/com/example/android/rs/balls/ball_physics.rs
+++ b/java/tests/Balls/src/com/example/android/rs/balls/ball_physics.rs
@@ -60,11 +60,11 @@
float2 vec2 = vec * vec;
float len2 = vec2.x + vec2.y;
- if ((len2 < 10000.f) && (len2 > 0.f)) {
- float t = native_powr(len2, 1.5f) + 16.0f;
- float2 pfv = (vec / t) * 16000.f;
- pressure += length(pfv);
- fv -= pfv;
+ if ((len2 < 10000.f) && (len2 > 0.001f)) {
+ float len = rsqrt(len2 + 4.f);
+ float f = (len * len * len) * 20000.f;
+ fv -= vec * f;
+ pressure += f;
}
}
}
@@ -137,7 +137,7 @@
}
// low pressure ~500, high ~2500
- pressure = max(pressure - 400.f, 0.f);
+ pressure *= 12.f;
ball->pressure = pressure;
//rsDebug("p ", pressure);
diff --git a/java/tests/Balls/src/com/example/android/rs/balls/balls.rs b/java/tests/Balls/src/com/example/android/rs/balls/balls.rs
index 9be9f38..077916d 100644
--- a/java/tests/Balls/src/com/example/android/rs/balls/balls.rs
+++ b/java/tests/Balls/src/com/example/android/rs/balls/balls.rs
@@ -46,8 +46,9 @@
int2 gridDims = (int2){ rsAllocationGetDimX(gGrid),
rsAllocationGetDimY(gGrid) };
- rs_allocation ain = rsGetAllocation(balls);
- int32_t dimX = rsAllocationGetDimX(ain);
+ rs_allocation aNull; // Empty rs_allocation, since we don't have an input.
+ rs_allocation aout = rsGetAllocation(balls);
+ int32_t dimX = rsAllocationGetDimX(aout);
// Binning
// Clear the particle list
@@ -92,7 +93,7 @@
}
- rsForEach(physics_script, ain, ain);
+ rsForEach(physics_script, aNull, aout);
for (uint32_t ct=0; ct < dimX; ct++) {
point[ct].position = balls[ct].position;
diff --git a/java/tests/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java b/java/tests/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java
index 1a36417..77f554a 100644
--- a/java/tests/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java
+++ b/java/tests/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java
@@ -112,7 +112,6 @@
* Define enum type for test names
*/
public enum TestName {
- // totally there are 38 test cases
LEVELS_VEC3_RELAXED ("Levels Vec3 Relaxed"),
LEVELS_VEC4_RELAXED ("Levels Vec4 Relaxed"),
LEVELS_VEC3_FULL ("Levels Vec3 Full"),
@@ -169,8 +168,6 @@
}
}
- Bitmap mBitmapIn;
- Bitmap mBitmapIn2;
Bitmap mBitmapOut;
private Spinner mSpinner;
@@ -423,7 +420,7 @@
break;
}
- mTest.createBaseTest(this, mBitmapIn, mBitmapIn2, mBitmapOut);
+ mTest.createBaseTest(this);
setupBars();
mTest.runTest();
@@ -448,10 +445,15 @@
};
void init() {
- mBitmapIn = loadBitmap(R.drawable.img1600x1067);
- mBitmapIn2 = loadBitmap(R.drawable.img1600x1067b);
- mBitmapOut = Bitmap.createBitmap(mBitmapIn.getWidth(), mBitmapIn.getHeight(),
- mBitmapIn.getConfig());
+ mRS = RenderScript.create(this);
+ mInPixelsAllocation = Allocation.createFromBitmapResource(
+ mRS, getResources(), R.drawable.img1600x1067);
+ mInPixelsAllocation2 = Allocation.createFromBitmapResource(
+ mRS, getResources(), R.drawable.img1600x1067b);
+ mBitmapOut = Bitmap.createBitmap(mInPixelsAllocation.getType().getX(),
+ mInPixelsAllocation.getType().getY(),
+ Bitmap.Config.ARGB_8888);
+ mOutPixelsAllocation = Allocation.createFromBitmap(mRS, mBitmapOut);
mDisplayView = (ImageView) findViewById(R.id.display);
mDisplayView.setImageBitmap(mBitmapOut);
@@ -482,21 +484,6 @@
mBenchmarkResult = (TextView) findViewById(R.id.benchmarkText);
mBenchmarkResult.setText("Result: not run");
-
- mRS = RenderScript.create(this);
- mInPixelsAllocation = Allocation.createFromBitmap(mRS, mBitmapIn,
- Allocation.MipmapControl.MIPMAP_NONE,
- Allocation.USAGE_SHARED |
- Allocation.USAGE_GRAPHICS_TEXTURE |
- Allocation.USAGE_SCRIPT);
- mInPixelsAllocation2 = Allocation.createFromBitmap(mRS, mBitmapIn2,
- Allocation.MipmapControl.MIPMAP_NONE,
- Allocation.USAGE_SHARED |
- Allocation.USAGE_GRAPHICS_TEXTURE |
- Allocation.USAGE_SCRIPT);
- mOutPixelsAllocation = Allocation.createFromBitmap(mRS, mBitmapOut);
-
-
setupTests();
changeTest(TestName.LEVELS_VEC3_RELAXED);
}
@@ -518,8 +505,6 @@
mInPixelsAllocation = null;
mInPixelsAllocation2 = null;
mOutPixelsAllocation = null;
- mBitmapIn = null;
- mBitmapIn2 = null;
mBitmapOut = null;
}
@@ -546,12 +531,6 @@
init();
}
- private Bitmap loadBitmap(int resource) {
- final BitmapFactory.Options options = new BitmapFactory.Options();
- options.inPreferredConfig = Bitmap.Config.ARGB_8888;
- return BitmapFactory.decodeResource(getResources(), resource, options);
- }
-
// button hook
public void benchmark(View v) {
float t = getBenchmark();
diff --git a/java/tests/ImageProcessing/src/com/android/rs/image/TestBase.java b/java/tests/ImageProcessing/src/com/android/rs/image/TestBase.java
index a353d9c..cfa9897 100644
--- a/java/tests/ImageProcessing/src/com/android/rs/image/TestBase.java
+++ b/java/tests/ImageProcessing/src/com/android/rs/image/TestBase.java
@@ -19,9 +19,7 @@
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
-import android.graphics.BitmapFactory;
import android.graphics.Bitmap;
-import android.graphics.Canvas;
import android.renderscript.ScriptC;
import android.renderscript.RenderScript;
import android.renderscript.Type;
@@ -104,7 +102,7 @@
return false;
}
- public final void createBaseTest(ImageProcessingActivity ipact, Bitmap b, Bitmap b2, Bitmap outb) {
+ public final void createBaseTest(ImageProcessingActivity ipact) {
act = ipact;
mRS = ipact.mRS;
mRS.setMessageHandler(new MessageProcessor(act));
diff --git a/java/tests/ImageProcessing_jb/src/com/android/rs/image/Blend.java b/java/tests/ImageProcessing_jb/src/com/android/rs/image/Blend.java
index 098830b..63c0c9c 100644
--- a/java/tests/ImageProcessing_jb/src/com/android/rs/image/Blend.java
+++ b/java/tests/ImageProcessing_jb/src/com/android/rs/image/Blend.java
@@ -121,10 +121,10 @@
image2.copy2DRangeFrom(0, 0, mInPixelsAllocation2.getType().getX(), mInPixelsAllocation2.getType().getY(), mInPixelsAllocation2, 0, 0);
mBlendHelper.set_alpha(image1Alpha);
- mBlendHelper.forEach_setImageAlpha(image1);
+ mBlendHelper.forEach_setImageAlpha(image1, image1);
mBlendHelper.set_alpha(image2Alpha);
- mBlendHelper.forEach_setImageAlpha(image2);
+ mBlendHelper.forEach_setImageAlpha(image2, image2);
switch (currentIntrinsic) {
case 0:
diff --git a/java/tests/ImageProcessing_jb/src/com/android/rs/image/blend.rs b/java/tests/ImageProcessing_jb/src/com/android/rs/image/blend.rs
index 63e7ea5..3f2fdc5 100644
--- a/java/tests/ImageProcessing_jb/src/com/android/rs/image/blend.rs
+++ b/java/tests/ImageProcessing_jb/src/com/android/rs/image/blend.rs
@@ -17,8 +17,10 @@
uchar alpha = 0x0;
-void setImageAlpha(uchar4 *v_out, uint32_t x, uint32_t y) {
- v_out->rgba = convert_uchar4((convert_uint4(v_out->rgba) * alpha) >> (uint4)8);
- v_out->a = alpha;
+uchar4 __attribute__((kernel)) setImageAlpha(uchar4 in, uint32_t x, uint32_t y) {
+ uchar4 out;
+ out.rgba = convert_uchar4((convert_uint4(in.rgba) * alpha) >> (uint4)8);
+ out.a = alpha;
+ return out;
}
diff --git a/java/tests/LivePreview/src/com/android/rs/livepreview/RsYuv.java b/java/tests/LivePreview/src/com/android/rs/livepreview/RsYuv.java
index 12d3185..15cd72a 100644
--- a/java/tests/LivePreview/src/com/android/rs/livepreview/RsYuv.java
+++ b/java/tests/LivePreview/src/com/android/rs/livepreview/RsYuv.java
@@ -27,6 +27,7 @@
import android.renderscript.RenderScript;
import android.util.Log;
import android.view.TextureView;
+import android.view.Surface;
import android.view.View;
import android.content.res.Resources;
@@ -44,7 +45,7 @@
private ScriptC_yuv mScript;
private ScriptIntrinsicYuvToRGB mYuv;
private boolean mHaveSurface;
- private SurfaceTexture mSurface;
+ private Surface mSurface;
private ScriptGroup mGroup;
RsYuv(RenderScript rs) {
@@ -55,7 +56,7 @@
void setupSurface() {
if (mAllocationOut != null) {
- mAllocationOut.setSurfaceTexture(mSurface);
+ mAllocationOut.setSurface(mSurface);
}
if (mSurface != null) {
mHaveSurface = true;
@@ -116,7 +117,7 @@
//mYuv.forEach(mAllocationOut);
//mScript.forEach_root(mAllocationOut, mAllocationOut);
- mAllocationOut.ioSendOutput();
+ mAllocationOut.ioSend();
}
}
@@ -125,21 +126,21 @@
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
android.util.Log.v("cpa", "onSurfaceTextureAvailable " + surface);
- mSurface = surface;
+ mSurface = new Surface(surface);
setupSurface();
}
@Override
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
android.util.Log.v("cpa", "onSurfaceTextureSizeChanged " + surface);
- mSurface = surface;
+ mSurface = new Surface(surface);
setupSurface();
}
@Override
public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
android.util.Log.v("cpa", "onSurfaceTextureDestroyed " + surface);
- mSurface = surface;
+ mSurface = null;
setupSurface();
return true;
}
diff --git a/java/tests/RSTest_CompatLib/src/com/android/rs/test/RSTestCore.java b/java/tests/RSTest_CompatLib/src/com/android/rs/test/RSTestCore.java
index 2ee2a33..462e4f4 100644
--- a/java/tests/RSTest_CompatLib/src/com/android/rs/test/RSTestCore.java
+++ b/java/tests/RSTest_CompatLib/src/com/android/rs/test/RSTestCore.java
@@ -57,6 +57,7 @@
unitTests = new ArrayList<UnitTest>();
+ unitTests.add(new UT_apitest(this, mRes, mCtx));
unitTests.add(new UT_primitives(this, mRes, mCtx));
unitTests.add(new UT_instance(this, mRes, mCtx));
unitTests.add(new UT_constant(this, mRes, mCtx));
diff --git a/java/tests/RSTest_CompatLib/src/com/android/rs/test/UT_apitest.java b/java/tests/RSTest_CompatLib/src/com/android/rs/test/UT_apitest.java
new file mode 100644
index 0000000..6c5a1ce
--- /dev/null
+++ b/java/tests/RSTest_CompatLib/src/com/android/rs/test/UT_apitest.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.rs.test_compat;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.support.v8.renderscript.*;
+
+public class UT_apitest extends UnitTest {
+ private Resources mRes;
+
+ protected UT_apitest(RSTestCore rstc, Resources res, Context ctx) {
+ super(rstc, "API Test", ctx);
+ mRes = res;
+ }
+
+ public void run() {
+ RenderScript pRS = RenderScript.create(mCtx);
+ ScriptC_apitest s = new ScriptC_apitest(pRS);
+ pRS.setMessageHandler(mRsMessage);
+ Element elem = Element.I8(pRS);
+ Type.Builder typeBuilder = new Type.Builder(pRS, elem);
+ typeBuilder.setX(1);
+ Type type = typeBuilder.create();
+ Allocation alloc = Allocation.createTyped(pRS, type);
+ Sampler sampler = Sampler.CLAMP_NEAREST(pRS);
+ s.set_elemNonNull(elem);
+ s.set_typeNonNull(type);
+ s.set_allocNonNull(alloc);
+ s.set_samplerNonNull(sampler);
+ s.set_scriptNonNull(s);
+
+ s.invoke_api_test();
+ pRS.finish();
+ waitForMessage();
+ pRS.destroy();
+ }
+}
diff --git a/java/tests/RSTest_CompatLib/src/com/android/rs/test/apitest.rs b/java/tests/RSTest_CompatLib/src/com/android/rs/test/apitest.rs
new file mode 100644
index 0000000..9499cbd
--- /dev/null
+++ b/java/tests/RSTest_CompatLib/src/com/android/rs/test/apitest.rs
@@ -0,0 +1,74 @@
+#include "shared.rsh"
+
+rs_element elemNull;
+rs_element elemNonNull;
+rs_type typeNull;
+rs_type typeNonNull;
+rs_allocation allocNull;
+rs_allocation allocNonNull;
+rs_sampler samplerNull;
+rs_sampler samplerNonNull;
+rs_script scriptNull;
+rs_script scriptNonNull;
+
+
+static bool test_obj_api() {
+ bool failed = false;
+
+ _RS_ASSERT(!rsIsObject(elemNull));
+ _RS_ASSERT(rsIsObject(elemNonNull));
+ rsSetObject(&elemNull, elemNonNull);
+ _RS_ASSERT(rsIsObject(elemNull));
+ rsClearObject(&elemNull);
+ _RS_ASSERT(!rsIsObject(elemNull));
+
+ _RS_ASSERT(!rsIsObject(typeNull));
+ _RS_ASSERT(rsIsObject(typeNonNull));
+ rsSetObject(&typeNull, typeNonNull);
+ _RS_ASSERT(rsIsObject(typeNull));
+ rsClearObject(&typeNull);
+ _RS_ASSERT(!rsIsObject(typeNull));
+
+ _RS_ASSERT(!rsIsObject(allocNull));
+ _RS_ASSERT(rsIsObject(allocNonNull));
+ rsSetObject(&allocNull, allocNonNull);
+ _RS_ASSERT(rsIsObject(allocNull));
+ rsClearObject(&allocNull);
+ _RS_ASSERT(!rsIsObject(allocNull));
+
+ _RS_ASSERT(!rsIsObject(samplerNull));
+ _RS_ASSERT(rsIsObject(samplerNonNull));
+ rsSetObject(&samplerNull, samplerNonNull);
+ _RS_ASSERT(rsIsObject(samplerNull));
+ rsClearObject(&samplerNull);
+ _RS_ASSERT(!rsIsObject(samplerNull));
+
+ _RS_ASSERT(!rsIsObject(scriptNull));
+ _RS_ASSERT(rsIsObject(scriptNonNull));
+ rsSetObject(&scriptNull, scriptNonNull);
+ _RS_ASSERT(rsIsObject(scriptNull));
+ rsClearObject(&scriptNull);
+ _RS_ASSERT(!rsIsObject(scriptNull));
+
+ if (failed) {
+ rsDebug("test_obj_api FAILED", -1);
+ }
+ else {
+ rsDebug("test_obj_api PASSED", 0);
+ }
+
+ return failed;
+}
+
+void api_test() {
+ bool failed = false;
+ failed |= test_obj_api();
+
+ if (failed) {
+ rsSendToClientBlocking(RS_MSG_TEST_FAILED);
+ }
+ else {
+ rsSendToClientBlocking(RS_MSG_TEST_PASSED);
+ }
+}
+
diff --git a/java/tests/SampleTest/src/com/android/rs/sample/SampleRSActivity.java b/java/tests/SampleTest/src/com/android/rs/sample/SampleRSActivity.java
index dd4a98a..feaa81d 100644
--- a/java/tests/SampleTest/src/com/android/rs/sample/SampleRSActivity.java
+++ b/java/tests/SampleTest/src/com/android/rs/sample/SampleRSActivity.java
@@ -157,7 +157,7 @@
long t = java.lang.System.currentTimeMillis();
mScript.invoke_setSampleData(alloc, mTwoByTwoAlloc, sampler);
mScript.forEach_root(alloc);
- alloc.ioSendOutput();
+ alloc.ioSend();
mRS.finish();
t = java.lang.System.currentTimeMillis() - t;
Log.i(TAG, "Filter time is: " + t + " ms");
diff --git a/rsContext.cpp b/rsContext.cpp
index 65ee4d3..5cafd97 100644
--- a/rsContext.cpp
+++ b/rsContext.cpp
@@ -319,14 +319,14 @@
#define OVERRIDE_RS_DRIVER_STRING STR(OVERRIDE_RS_DRIVER)
if (getProp("debug.rs.default-CPU-driver") != 0) {
- ALOGE("Skipping override driver and loading default CPU driver");
+ ALOGD("Skipping override driver and loading default CPU driver");
} else if (rsc->mForceCpu) {
ALOGV("Application requested CPU execution");
} else if (rsc->getContextType() == RS_CONTEXT_TYPE_DEBUG) {
ALOGV("Application requested debug context");
} else {
if (loadRuntime(OVERRIDE_RS_DRIVER_STRING, rsc)) {
- ALOGE("Successfully loaded runtime: %s", OVERRIDE_RS_DRIVER_STRING);
+ ALOGV("Successfully loaded runtime: %s", OVERRIDE_RS_DRIVER_STRING);
loadDefault = false;
} else {
ALOGE("Failed to load runtime %s, loading default", OVERRIDE_RS_DRIVER_STRING);
diff --git a/tests/cppallocation/Android.mk b/tests/cppallocation/Android.mk
index 191c58d..ddd3ee1 100644
--- a/tests/cppallocation/Android.mk
+++ b/tests/cppallocation/Android.mk
@@ -30,6 +30,7 @@
LOCAL_C_INCLUDES += frameworks/rs
LOCAL_C_INCLUDES += $(intermediates)
+LOCAL_CLANG := true
include $(BUILD_EXECUTABLE)
diff --git a/tests/cppbasic/Android.mk b/tests/cppbasic/Android.mk
index bf7725a..3b19db7 100644
--- a/tests/cppbasic/Android.mk
+++ b/tests/cppbasic/Android.mk
@@ -30,6 +30,7 @@
LOCAL_C_INCLUDES += frameworks/rs
LOCAL_C_INCLUDES += $(intermediates)
+LOCAL_CLANG := true
include $(BUILD_EXECUTABLE)
diff --git a/tests/cppbasic/compute.cpp b/tests/cppbasic/compute.cpp
index 21ffe2b..d977667 100644
--- a/tests/cppbasic/compute.cpp
+++ b/tests/cppbasic/compute.cpp
@@ -6,7 +6,7 @@
using namespace android;
using namespace RSC;
-int main(int argc, char** argv)
+int main()
{
sp<RS> rs = new RS();
diff --git a/tests/cppstrided/Android.mk b/tests/cppstrided/Android.mk
index f0c5c4b..66161c4 100644
--- a/tests/cppstrided/Android.mk
+++ b/tests/cppstrided/Android.mk
@@ -30,6 +30,7 @@
LOCAL_C_INCLUDES += frameworks/rs
LOCAL_C_INCLUDES += $(intermediates)
+LOCAL_CLANG := true
include $(BUILD_EXECUTABLE)
diff --git a/tests/latency/Android.mk b/tests/latency/Android.mk
index cdea381..83d5ad8 100644
--- a/tests/latency/Android.mk
+++ b/tests/latency/Android.mk
@@ -30,6 +30,7 @@
LOCAL_C_INCLUDES += frameworks/rs
LOCAL_C_INCLUDES += $(intermediates)
+LOCAL_CLANG := true
include $(BUILD_EXECUTABLE)
diff --git a/tests/typecheck/Android.mk b/tests/typecheck/Android.mk
index 064ccc0..62522a4 100644
--- a/tests/typecheck/Android.mk
+++ b/tests/typecheck/Android.mk
@@ -30,6 +30,7 @@
LOCAL_C_INCLUDES += frameworks/rs
LOCAL_C_INCLUDES += $(intermediates)
+LOCAL_CLANG := true
include $(BUILD_EXECUTABLE)
diff --git a/tests/typecheck/typecheck.cpp b/tests/typecheck/typecheck.cpp
index 17dee1f..d50cbf6 100644
--- a/tests/typecheck/typecheck.cpp
+++ b/tests/typecheck/typecheck.cpp
@@ -71,7 +71,7 @@
TEST_ELEM_ALL(F32)
TEST_ELEM_ALL(F64)
-int main(int argc, char** argv)
+int main()
{
bool failed = false;