Clang3.4 can take __builtin_nexttoward and __builtin_nexttowardf.
Also fix a minor typo in comment
Change-Id: If98a35e2e38c45ebd619b0ceb6c5ee41acc4e415
Workaround issue where SYSTEM_UI_FLAG_IMMERSIVE_STICKY is invalidated
when a volume button is pressed (internal bug ref b/11986621)
Immersive mode still does not recover when the screen has been
rotated, due to onSystemUiVisibilityChange is not triggered
when screen is rotated (internal bug ref b/11990702)
Change-Id: Ifdfe9b24d5c3c208441aeca0fbb2b1eaee39da95
Similar to clang 3.3, it seems that clang 3.4 declares an incompatible
function prototypes for __builtin_isnan(). To workaround this issue,
we should not declare the function prototype for __builtin_isnan().
Note: Though it may be good to fix this in clang type checker, like
__builtin_nexttoward(), however it seems non-trivial since __builtin_isnsn()
might be overloaded. We can revert this after we have fixed the
clang builtin definition.
Change-Id: I329b56225f3d229b0c141bb8414c4369f154efda
Annotate __builtin math functions with __NDK_FPABI_MATH__ too.
1. __attribute__((pcs("aapcs"))) has no effect on codegen when __buitlin
function is emitted inlined.
2. When __builtin call into regular function in Android's libm, it has
proper attribute which observes soft float-abi
Change-Id: I11e8b74fc22f3072b9ce849193e4a56e98c92d64
- Now they are in ndkHelper:: name space
- Changed module name to ndk_helper
- Changed some static members to class var or stand alone function
- Added syncronization for JNIHelper.cpp
- For a documentation, I will work with doc writer for future improvement
Change-Id: I0055061a4f53b1904cde2e0339550ee277b35fc5
Addressed most of feedbacks,
- Switched coding standard to Chrome style
- Update JNI helper, and documented
- Fixed other issues that is pointed out
Change-Id: Icc729a55ed8dd613759f34a3fc35cb4949d2d205
Allow user code to be compiled with "-mhard-float" for armeabi-v7a
(which implies -mfloat-abi=hard), and either link with
1. Android native APIs which use softfp, or
2. A customized libm_hard.a which is compiled with -mhard-float. Need
-D_NDK_MATH_NO_SOFTFP=1
See tests/device/hard-float/jni/Android.mk for details and restriction
on Clang
Change-Id: I773a842c73368e08b9a6cda0441e95a96fa303b2
1. Add sincos, sincosf, and sincosl to API >= 9 (for ARM only,
because X86 and MIPS have it already)
2. Add nan, nanf, nanl, and tgammaf to API >= 13 (11 actually,
but we don't want to add another API which is not released)
3. Add log2, log2f, log2l, logbl, nexttoward, and nexttowardl to
API >= 18
See b.android.com/38423
Change-Id: I0a756aeeddafc3862f3c0ae38218cb3301608231
The evaluation order of function args aren't gaurenteed in C++
jni/NDKSupport/vecmath.h:869:32: warning: multiple unsequenced modifications to 'i' [-Wunsequenced]
LOGI("%f %f %f %f", f[i++], f[i++], f[i++], f[i++]);
Change-Id: Ibf69978dd3abf57a7042624aad3d416a0f6f5e01
jni/gl3stub.c:21:5: error: implicit declaration of function 'eglGetProcAddress' is invalid in C99
FIND_PROC(glReadBuffer);
^
jni/gl3stub.c:20:37: note: expanded from macro 'FIND_PROC'
#define FIND_PROC(s) s = (void*)eglGetProcAddress(#s)
^
1 error generated.
Change-Id: I907f33e3d88f3e96bf7958102e90bf15529748b9
Using dlopen/dlsym works, but eglGetProcAddress is a little easier and
more consistent with how GL extension functions (rather than these
non-extension functions) are loaded.
Change-Id: I082c193f08f7d5456389ab783a06cd38a9632d53
* Headers were copied from frameworks/native/opengl/include/GLES3/.
* Symbol lists were generated with ndk/build/tools/gen-system-symbols.sh.
* Symbols are identical between architectures
Change-Id: I011094ea3b479cf166ffb6bef3778cde683fc502