http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59065
--- Comment #5 from Vittorio Zecca <zeccav at gmail dot com> --- I do not think SIZE should be used to detect an undefined array pointer, but a size of zero warns the code that the array is mostly unusable and that perhaps something is wrong, while a nonzero size is telling the program it is fine to use the array. I agree with Dominique, I am still writing invalid code all the time, also because interactive computing makes it so easy and fast to write, compile, link and execute code. When I used punched cards in the seventies I had more time to think and reflect about my programs, also because the turnaround time was about 30 minutes as compared with 30 seconds today If the programmers did not write invalid code many people would be out of business:-)