On Tue, 8 May 2007, Johannes Stezenbach wrote:
On Tue, May 08, 2007, Esben Nielsen wrote:
This is contrary to C99 standeard annex H2.2
(http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf):
"An implementation that defines signed integer types as also being modulo
need
not detect integer overflow, in which case, only integer divide-by-zero need
be detected."
So if it doesn't properly defines wrapping it has to detect integer
overflow, right?
No. Annex H (informative!) only talks about LIA-1 conformance.
C99 isn't LIA-1 conformant. H2.2 describes what an implementation
might do to make signed integers LIA-1 compatible.
"The signed C integer types int, long int, long long int, and the
corresponding unsigned types are compatible with LIA-1."
I read this as any C99 implementation must be compatible. I would like to
see LIA-1 to check.
, which is
what gcc does with -fwarpv or -ftrapv.
Yes, either or: Either wrap or trap.
At least that's how I understand it, the C99 standard
seems to have been written with the "it was hard to
write, so it should be hard to read" mindset. :-/
I still don't know _why_ signed integer overflow behaviour
isn't defined in C. It just goes against everyones expectation
and thus causes bugs.
Because it is hard to make wrapping work on non twos complement
architectures. Then it is easier to trap.
Esben
Johannes
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- References:
- Re: [patch] CFS scheduler, -v8
- Re: [patch] CFS scheduler, -v8
- Re: [patch] CFS scheduler, -v8
- Re: [patch] CFS scheduler, -v8
- Re: [patch] CFS scheduler, -v8
- Re: [patch] CFS scheduler, -v8
- Re: [patch] CFS scheduler, -v8
- Re: [patch] CFS scheduler, -v8
- Re: [patch] CFS scheduler, -v8
- Re: [patch] CFS scheduler, -v8
- Re: [patch] CFS scheduler, -v8
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]