gcc makes my day
Ben pointed out the -ftrapv feature in gcc, something I have wanted for a while.
- -ftrapv
- This option generates traps for signed overflow on addition, subtraction, multiplication operations.
Example:
int main() { int x = 1; while (1) { x *= 2; printf("%u\n", x); } return 0; }gcc -Wall -ftrapv overflow.c -o overflow -O3 && ./overflow >/dev/null
aborted
The current implementation seems to turn these operations into function calls, which may be a bit slow. It seems like it could potentially be done inline. But it's still something that might be very useful in test-builds or in security-sensitive software.
posted Wed 2 Feb 2005 in /software/languages/C | link
Archives 2008: Apr Feb 2007: Jul May Feb Jan 2006: Dec Nov Oct Sep Aug Jul Jun Jan 2005: Sep Aug Jul Jun May Apr Mar Feb Jan 2004: Dec Nov Oct Sep Aug Jul Jun May Apr Mar Feb Jan 2003: Dec Nov Oct Sep Aug Jul Jun May
Copyright (C) 1999-2007 Martin Pool.