From: Linus Torvalds > Sent: 23 February 2022 20:55 > > On Wed, Feb 23, 2022 at 12:43 PM Linus Torvalds > <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > > > Of course, the C standard being the bunch of incompetents they are, > > they in the process apparently made left-shifts undefined (rather than > > implementation-defined). Christ, they keep on making the same mistakes > > over and over. What was the definition of insanity again? > > Hey, some more googling on my part seems to say that somebody saw the > light, and it's likely getting fixed in newer C standard version. > > So it was just a mistake, not actual malice. Maybe we can hope that > the tide is turning against the "undefined" crowd that used to rule > the roost in the C standards bodies. Maybe the fundamental security > issues with undefined behavior finally convinced people how bad it > was? IIRC UB includes 'fire an ICBM at the writer of the standards document'. There isn't an 'undefined value' or even 'undefined value or program trap' option. It also seems to me that the compiler people are picking on things in the standard that are there to let 'obscure machines conform' and then using them to break perfectly reasonable programs. Signed arithmetic is not required to wrap so that cpu (eg DSP) can do saturating maths - not so the compiler can remove some conditionals. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)