28#pragma GCC diagnostic ignored "-Wdiv-by-zero"
30void sighandler(
int sig) {
31 printf(
"Happily ignoring signal %d\n", sig);
34int main(
int argc,
char* argv[]) {
35 printf(
"crashtest: a return value of zero means success\n");
37 signal(SIGFPE, sighandler);
38 signal(SIGILL, sighandler);
41 printf(
"Testing SIGFPE...\n");
42 volatile int zero = 0;
44 float b = 1.0f / 0.0f;
49 printf(
"Testing SIGILL...\n");
50 char badops[] = {0xab, 0xcd, 0xef, 0x12};
51 void (*f)() = (
void (*)())badops;
55 printf(
"All signals handled.\n");