mirror of
https://github.com/servalproject/serval-dna.git
synced 2024-12-26 00:01:12 +00:00
26 lines
654 B
C
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;
|
||
|
}
|