This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] C undefined behavior fix
- From: Joe Buck <jbuck at synopsys dot COM>
- To: dwmw2 at infradead dot org (David Woodhouse)
- Cc: VANDROVE at vc dot cvut dot cz (Petr Vandrovec),pkoning at equallogic dot com (Paul Koning), trini at kernel dot crashing dot org,velco at fadata dot bg, linux-kernel at vger dot kernel dot org, gcc at gcc dot gnu dot org,linuxppc-dev at lists dot linuxppc dot org
- Date: Wed, 2 Jan 2002 14:39:13 -0800 (PST)
- Subject: Re: [PATCH] C undefined behavior fix
VANDROVE@vc.cvut.cz said:
> > (and for CONSTANT < 5 it of course generated correct code to fill dst
> > with string contents; and yes, I know that code will sigsegv on run
> > because of dst is not initialized - but it should die at runtime, not
> > at compile time).
>
> An ICE, while it's not quite what was expected and it'll probably get fixed,
> is nonetheless a perfectly valid implementation of 'undefined behaviour'.
Not for GCC it isn't. Our standards say that a compiler crash, for any
input whatsoever, no matter how invalid (even if you feed in line noise),
is a bug. Other than that we shouldn't make promises, though the old gcc1
behavior of trying to launch a game of rogue or hack when encountering a
#pragma was cute.