/* This simple file is used to check that compiler flags are properly
* set when using the NDK build system. Look at Android.mk to see how
* the various CHECK_XXX macros are supposed to be defined.
*/
int main(void)
{
#if defined(CHECK_THUMB)
# ifndef __arm__
# error "This source file should be compiled with an ARM toolchain"
# endif
# ifndef __thumb__
# error "This source file should be built in thumb mode!"
# endif
#elif defined(CHECK_THUMB2)
# ifndef __arm__
# error "This source file should be compiled with an ARM toolchain"
# endif
# ifndef __thumb2__
# error "This source file should be built in thumb2 mode!"
# endif
#elif defined(CHECK_ARM)
# ifndef __arm__
# error "This source file should be compiled with an ARM toolchain"
# endif
# if defined(__thumb__) || defined(__thumb2__)
# error "This source file should be compiled to 32-bit ARM instructions"
# endif
#elif defined(CHECK_X86)
# ifndef __i386__
# error "This source file should be compiled with an x86 toolchain"
# endif
#elif defined(CHECK_MIPS)
# ifndef __mips__
# error "This source file should be compiled with a MIPS toolchain"
# endif
#else
# error "This unit test is broken!"
#endif
#if defined(CHECK_NEON)
# ifndef __ARM_NEON__
# error "This source file should be compiled with NEON support!"
# endif
#else
# ifdef __ARM_NEON__
# error "This source file should be compiled without NEON support!"
# endif
#endif
#ifndef __ANDROID__
# error "This toolchain doesn't define the __ANDROID__ built-in macro!"
#endif
return 0;
}