Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-lcc!styx!ames!ucbcad!ucbvax!decvax!decwrl!pyramid!oliveb!sun!gorodish!guy From: guy%gorodish@Sun.COM (Guy Harris) Newsgroups: news.software.b Subject: Re: News for Xenix on PC AT ? Message-ID: <17896@sun.uucp> Date: Sun, 3-May-87 13:53:16 EDT Article-I.D.: sun.17896 Posted: Sun May 3 13:53:16 1987 Date-Received: Sun, 3-May-87 22:03:49 EDT References: <18346@ucbvax.BERKELEY.EDU> <145@sds.UUCP> <17005@sun.uucp> <2447@ncoast.UUCP> Sender: news@sun.uucp Lines: 34 > Pardon me???! (void *) is a GENERIC pointer, is it not? If a pointer of type "void *" is a generic C pointer, it is also a square circle, a method for trisecting an angle with compass and straightedge, and an expansion of "pi" to the last decimal place. None of the objects described exist. A pointer of type "void *" is just a pointer that can receive the properly-coerced value of any pointer; said coercion must be reversable. From the October 1, 1986 ANSI C draft: 3.2.2.3 Pointers A pointer to "void" may be converted to a pointer to an object of any type. A pointer to an object of any type may be convetrted to a pointer to "void" and back again; the result shall compare equal to the original pointer. > It should, in theory, be a type pun in all situations I can't quite parse this. A type pun is an action, not an object, so a pointer of type "void *" cannot be a type pun. > (if casting the result of a rational malloc() (defined as returning > (void *)) changes the representation of the pointer returned, we've got > trouble, no?). No. Why should it cause any trouble? > If you have an X3J11 compiler, let me know; The person in question referred, in passing, to "void *" in such a way that I inferred that the context of the discussion was of X3J11 compilers.