lkml.org 
[lkml]   [2002]   [Jan]   [4]   [last100]   RSS Feed
Views: [more markup]   [less markup]   [headers]   [forward]  
 
Messages in this thread
/
SubjectRe: [PATCH] C undefined behavior fix
FromFlorian Weimer <>
DateFri, 04 Jan 2002 09:38:35 +0100
dewar@gnat.com 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
correct.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 11:15    [W:1.000 / U:0.560 seconds]
©2003-2008 Jasper Spaans