C & undefined behaviour - was Re: tumble under BSD

Toby Thain toby at telegraphics.com.au
Sat Apr 2 16:36:40 CDT 2016


On 2016-04-02 5:22 PM, Paul Koning wrote:
>
>> On Apr 2, 2016, at 5:09 PM, Mouse <mouse at Rodents-Montreal.ORG> wrote:
>>
>>> It appears that the stdio that I'm linking against on OS X 10.9.5
>>> does not keep the file pointers synchronized between the system and
>>> stdio.
>>
>> Actually, I would say that any supposedly-portable software that
>> depends on either behaviour is broken; AFAICT stdio has never promised
>> either way.
>> ...
>> I'd say it's about as important to know what is _promised_ as it is to
>> know what _actually happens_.  This sort of thing is why.
>
> I wonder how clearly the various manpages state the promises.
>
> It's unfortunate that lots of programmers have the habit of blaming
the tool when their code breaks because they are doing "undefined"
things. There's a great paper about undefined things in C, and what
compilers may do, and the way a number of well known open source
projects react -- not by fixing the code but by turning off all manner
of optimizations instead.
>

Anyone interested in C and UB will want to read most of
John Regehr's http://blog.regehr.org/ - it hosts some of the best 
material on UB.

--Toby

> 	paul
>
>
>



More information about the cctech mailing list