>>>Giving back the memory to the OS creates a conformance problem.
>>> The free function causes the space pointed to by ptr to be
>>> deallocated, that is, made available for further allocation.
>>>When reading this statement from the C standard, keep in mind the fact
>>>that the C standard describes the behaviour of a single program, not of
>>>the whole system.
>>While I agree that what you quoted could be read to say that, I'm not
>>sure I believe that's the only valid interpretation. In fact, I'd say
>>the text you quoted is just plain ambiguous. It does not specify to
>>*what* it's made available for further allocation.
>As I've already explained, the standard describes the behaviour of a
>C program, not of a whole system. Therefore, there is no ambiguity.
It's not because I haven't read your argument that I don't agree; it's
because I wasn't convinced by it.
Languages must be implemented on real systems. Languages place certain
constraints on real systems. Therefore, language standards make
statements about not only the language but also about the real systems
on which they might be implemented.
Furthermore, the authors of the standard would (hopefully) have the
good sense to understand that programs written in a language will be
interacting with the rest of the system. To neglect this reality would
not be helpful. (Imagine I am writing a standard describing how pilots
should behave, and I say, "after your airplane has cleared the area,
the runway is made available for further use.")
When reading/interpreting a standard about something that interacts
with other things, I would operate under the assumption that the
standard would make statements about both its main topic and the things
that it would interact with.
Does the C language standard explicitly state that I should do
otherwise? If so, is it unambiguous that it applies to the statement
you originally quoted? If so, then you are right. If not, then I
maintain that it's ambiguous.
whose? my your his her our their _its_
who's? I'm you're he's she's we're they're _it's_