[lkml]   [2005]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Not a GCC bug (was Re: Big GCC bug!!! [Was: Re: Do not misuse Coverity please])
Kyle Moffett wrote:
> On Mar 30, 2005, at 18:38, Jakub Jelinek wrote:
>> This testcase violates ISO C99
>> If a null pointer constant is converted to a pointer type, the resulting
>> pointer, called a null pointer, is guaranteed to compare unequal to a
>> pointer to any object or function.
> Except that the result of dereferencing a null pointer is implementation
> defined according to the C99 standard. My implementation allows me to mmap
> stuff at NULL, and therefore its compiler should be able to handle that
> case. I would have no problem with either the standard or implementation
> if it either properly handled the case or didn't allow it in the first
> place.
> On another note, I've discovered the flag
> "-fno-delete-null-pointer-checks",
> which should probably be included in the kernel makefiles to disable that
> optimization for the kernel. (Ok, yes, I apologize, this isn't really a
> bug, the behavior is documented, although it can be quite confusing. I
> suspect it may bite some platform-specific code someday. It also muddies
> the waters somewhat with respect to the original note (and the effects on
> the generated code):
>> int x = my_struct->the_x;
>> if (!my_struct) return;

Why should this be in the kernel makefiles? If my_struct is NULL,
then the kernel will never reach the if statement.

A warning might be nice though.

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

 \ /
  Last update: 2005-04-06 13:31    [W:0.064 / U:0.988 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site