I understand that. (In fact I used to be intimately familiar with the C99 Standard several years back, before I got disillusioned with it - how can you have any respect for a standard containing "atoi()" ? :-) ). I am not discussing the "meaning" of the Standard. The meaning is more than clear, at least in this case, and if you look at my first post in this thread, you will see me explicitly noting that this is a completely valid transformation according to the Standard. However it is also completely valid *not* to to perform this transformation. So, this is clearly a QOI issue and I am discussing it as such. I am not convinced that optimizing away operations which are otherwise completely valid and useful, only because the standard says that it is allowed (but not required!), is a good idea. The Standard is just a document. Fortunately it is not an absolute truth and it does not prevent us from thinking on our own. Plus, it is not particularly inspiring or useful. As you probably know very well, it is impossible to write an useful C application using only the C standard. *Any* C application is non-portable and non-standard compliant. The C Standard is so weak, that it is practically useless, except as mental self pleasuring, much as we are doing now. (BTW, people often delude themselves that they are writing compliant C, when their applications happen to run on a couple of conventional 32-bit architectures, using the same compiler, in a POSIX environment. Ha! Then they get ported to Windows (or the other way around) and it is taken as an absolute proof of compliance. In fact the applications are a mess of special cases, ifdef-s and non-standard assumptions.)
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds