News for hackers. Stuff that matters.
Re:GCC 6.1 Released by kps on Wednesday April 27, 2016 @11:47AM (#11581477)

  > the culture of developers tends to the view that something which has
  > always worked in every important implementation should be allowed and
  > continue to work in new implementations
Yes, and X3J11 stated as its first guiding principle,

  > Existing code is important, existing implementations are not.
But then they committed the original sin against “simple C” by inventing ‘volatile’, breaking systems code written when p[0]=x was expected to write to location p. Unlike ‘const’, with which the programmer grants additional license to the compiler, C89 granted the non-‘volatile’ license to the compiler by default. In retrospect, I think C would have been better off retaining do-what-I-wrote as the default, and requiring the programmer to grant the compiler license to do otherwise. C already had the ‘register’ keyword to indicate that a variable should be compiled for speed and need not be literally preserved according to a naïve reading of the code.

There are no comments on this comment yet.