serval-dna/nacl/nacl-20110221/okcompilers/main.c
Daniel O'Connor bf9710fd5a Unpacked nacl-20110221 after processing by nacl-prepare-sources.
This only affects build_android, if nacl-gcc-prep is run then build/`uname -s` will be created.
2012-02-27 12:40:14 +10:30

26 lines
654 B
C

extern int not3(int);
extern int bytes(int);
extern long long shr32(long long);
extern double double5(void);
extern int longbytes(void);
extern int intbytes(void);
int main(int argc,char **argv)
{
if (intbytes() != sizeof(int)) return 100;
if (longbytes() != sizeof(long)) return 100;
if (not3(3)) return 100;
/* on ppc32, gcc -mpowerpc64 produces SIGILL for >>32 */
if (!not3(shr32(1))) return 100;
/* on pentium 1, gcc -march=pentium2 produces SIGILL for (...+7)/8 */
if (bytes(not3(1)) != 1) return 100;
/* on pentium 1, gcc -march=prescott produces SIGILL for double comparison */
if (double5() < 0) return 100;
return 0;
}