News for hackers. Stuff that matters.
Re:On C-optimizing compilers removing code that has undefine... by likelynew on Saturday June 17, 2017 @05:37AM (#14575046)
While I fully agree with you, but I will still like C to be as self explanatory as possible. C is the closest language for which one doesn't need to know the standard to understand it, at least the standardised C. I think it should be one of the biggest aim of C to let the language as it is(except the standard library). This change creates something that might not be expected by some. If this is replaced by an compilation error, I am okay with it.
Re:On C-optimizing compilers removing code that has undefine... by dom0 on Saturday June 17, 2017 @05:41AM (#14575053)
> but I will still like C to be as self explanatory as possible.

C is not self-explanatory at all and without good knowledge of the standard anyone will write broken code that will fall apart sooner or later. C is not a simple language, nor one with simple semantics. Without knowledge of the standards it is essentially not possible to write portable C code.

Re:On C-optimizing compilers removing code that has undefine... by cronjobber on Saturday June 17, 2017 @05:53AM (#14575088)
"Portable" is a red herring. C used to be a great language for writing non-portable code. That's what the optimization hounds are destroying.
Re:On C-optimizing compilers removing code that has undefine... by likelynew on Saturday June 17, 2017 @06:43AM (#14575230)
I was thinking about reading the code line by line. Name any other language in which you can do that, without spending at least a week in that. I don't know what is a simple language according to you, but according to me C seems quite a simple language. Not saying it means that a good quality code is easier to write in C.
Re:On C-optimizing compilers removing code that has undefine... by dom0 on Saturday June 17, 2017 @06:56AM (#14575282)
I can't, but I also think your premise is not correct ("reading the code line by line" "without spending at least a week in that"). A lot of production C code is inscrutable without a good understanding of the language, and to understand many common constructs (e.g. overflow checks) you just have to know it. That trivial code is trivial to understand... well... that's true in most languages, no?