[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Is this a bug in libc6?



Hi,
>>"Kai" == Kai Henningsen <kaih@khms.westfalen.de> writes:

Kai> Bullshit.

	Bullshit? And this is supposed to be a technical discussion?
 Can you not engage in civilized discourse without resorting to
 invective? Do you realize that is generally the case with a weak
 argument?

Kai> The documentation requirement is for implementation-defined
Kai> behaviour. For undefined behaviour, "the standard imposes no
Kai> requirements". No requirements are no requirements. There is no
Kai> requirement that such an action is documented.
	
	Have you actually read the standard? I even quoted parts of
 IEEE 1.6 for you. I shall do so again.

----------------------------------------------------------------------
1.6 Definitions of terms

o Undefined Behaviour -- behaviour, upon the use of a nonportable or
  erroneous program construct, of erroneous data, or of inderminately
  valued objects, for which the standard imposes no
  requirements. Permissible undefined behaviour ranges from ignoring
  the situation completely with unpredictable results, to behaving
  during translation or program execution in a documented manner
  charecteristic of the environment (with or without the issuance of a
  diagnostic message), to terminating a translation or execution (with
  the issuance of a diagnostic message).

	If a "shall" or "shall not" requirements that appears outside
 of a constraint is violated, the behaviour is undefined. Undefined
 behaviour is otherwise indicated in this standard by the words
 "undefined behaviour" or by the omission of any explicit definition
 of behavior. There is no difference in emphasis among these three;
 they all describe "behaviour that is undefined."

o Unspecified behaviour -- behaviour, for a correct program construct
  and correct data, for which the standard explicitly imposes no
  requirements.

______________________________________________________________________


	See where it says "Permissible undefined behaviour"?  Ignoring
 the second fclose completely (which may have unpredictable results),
 "behaving during translation or program execution in a documented
 manner charecteristic of the environment", or terminating (in which
 case an error message is required: anything else is a violation of
 the standard. Period.

	All under "Permissible undefined behaviour".

	And yet you use invective and state things in direct
 contradiction of the standard.

Kai> Undefined is *un*defined.

	Oh, despite what the standard says, if you say it is
 undefined, it is undefined. Wonderful. 

Kai> The only interesting question here is if fclose(fp); fclose(fp);
Kai> is indeed undefined. (Note that fp=fopen("not.there", "r");
Kai> fanything(fp); is undefined simply because fp is NULL.) I suspect
Kai> it is, because after the first fclose(fp); it has "indeterminate
Kai> value".

	Quite so.

	manoj
-- 
 "If the conjecture `You would rather I had not disturbed you by
 sending you this.' is correct, you may add it to the list of
 uncomfortable truths." Edsgar Dijkstra
Manoj Srivastava  <srivasta@acm.org> <http://www.datasync.com/%7Esrivasta/>
Key C7261095 fingerprint = CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org


Reply to: