как сделать работу gcc ftrapv?

Я компилирую код ниже как

$ gcc -Wall -ftrapv test.c 

Однако запуск сгенерированного исполняемого файла всегда печатает-2147483648, что я не ожидал. Я запускаю gcc версии 4.6.3 (Ubuntu / Linaro 4.6.3-1ubuntu5).

  1 #include  2 #include  3 #include  4 #include  5 6 void h(int signal) 7 { 8 printf("caught signal exiting\n"); 9 exit(1); 10 } 11 12 int main(void) 13 { 14 int x = INT_MAX; 15 int y; 16 17 signal(SIGABRT,h); 18 y = x+1; 19 printf("%d\n",y); 20 return 0; 21 } 

Добавлено позже: компиляция с clang и смена SIGABRT на SIGILL работает, но пока не удача с gcc.

Похоже, что поддержка -ftrapv в GCC несколько сломана, у них есть открытая ошибка, Bug-35412 в Bugzilla с 2008 года, похоже, для ее покрытия.