Re: [PATCH] C undefined behavior fix

From: Florian Weimer (
Date: Fri Jan 04 2002 - 03:38:35 EST writes:

> <<No, in fact the kernel isn't written in ANSI C. :)
> If nothing else, the fact that it uses a lot of gcc-specific
> extensions rules that out. And it assumes that you can freely cast
> pointers to unsigned longs and back again. I'm sure others can add to
> this list.
> Most certainly this list should exist in precise defined form.

C99 includes a list of additional guarantees made by many C
implementations (in an informative index). I think we really should
check this list (and the list of implementation-defined behavior) and
document the choices made by GCC. In fact, this documentation is
required by the standard.

> It is this kind of informality that is asking for trouble.

We have seen much trouble in this area before, but I doubt we can
avoid all of them by proper documentation. Quite a few people seem to
write some C code, check that it works, look at the generated machine
code, and if it seems to be correct, the C code is considered to be
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Mon Jan 07 2002 - 21:00:24 EST