public inbox for linux-man@vger.kernel.org
 help / color / mirror / Atom feed
From: Alejandro Colomar <alx@kernel.org>
To: Adam Sampson <ats@offog.org>
Cc: linux-man@vger.kernel.org
Subject: Re: [PATCH v1 19/25] man/man3type/void.3type: HISTORY: Update first POSIX appearance of void(3type)
Date: Mon, 12 Jan 2026 15:28:03 +0100	[thread overview]
Message-ID: <aWUAXoVyRpanc-sF@devuan> (raw)
In-Reply-To: <y2abjj1cd4x.fsf@offog.org>

[-- Attachment #1: Type: text/plain, Size: 2598 bytes --]

Hi Adam,

On Sat, Jan 10, 2026 at 10:32:30PM +0000, Adam Sampson wrote:
> Alejandro Colomar <alx@kernel.org> writes:
> 
> > I think 'void*' is important enough that it would be useful to dig in
> > its history further.  Was it an invention of C89?  Or was it an
> > extension in some existing compilers?  If the latter, it would be
> > interesting to document which systems had it before C89.
> 
> From evidence in the utzoo Usenet archive, the idea was around before
> the ANSI C effort.
> 
> The first mention of "void *" is in November 1982, where Ken Dalka
> (ihuxe!dalka) observed in net.lang.c that void * was accepted as a type.
> He didn't say which compiler was being used, but an earlier post said
> ihuxe "runs USG 4.0 UN*X".

Huh, would this be the "System IV" that was never externally released?
The year seems consistent with that.  Interesting!  According to
<https://www.tuhs.org/Archive/Documentation/Manuals/Unix_4.0/README>,
the official name of this would be PWB 4.0. or Unix/TS 4.0.

Should we document it as Unix/TS 4.0?

This predates the C Committee by one year, BTW.

It would also be useful to know when the BSD lineage incorporated void*.

> The next is from Mary Ann Horton (mark@cbosgd.UUCP) in January 1984,
> also in net.lang.c, who suggests using "(void *) 0" as a definition of
> NULL, giving a varargs function with args terminated by NULL as an
> example.
> 
> Then in March 1984, Doug Gwyn (gwyn@Brl-Vld.ARPA) says, as part of a
> discussion about casting the result of malloc in net.unix-wizards:
> 
> > The C Language Standards Committee was talking about adding
> > (void *) to the language as a generic pointer type.  Perhaps
> > that will eventually help...
>
> It then shows up in various posts in both of those groups throughout
> 1984, including a summary by Henry Spencer in June 1984 of Larry
> Rosler's presentation on the ANSI C project at Usenix saying:
> 
> > II.  "void *" is a new kind of pointer, which cannot be dereferenced but
> > 	can be assigned to any other type of pointer without a cast.  The
> > 	idea here is that "char *" is no longer required to be the
> > 	"universal" pointer type which can point to anything.  So for
> >	example, the declaration of fread earlier really should go:
> >
> >		extern int fread(void *, int, int, FILE *);
> >
> >	(People who have machines where all pointers have the same
> >	representation, don't complain.  You are lucky.  Others aren't.)
> 
> Thanks,

Thanks a lot!


Have a lovely day!
Alex

-- 
<https://www.alejandro-colomar.es>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2026-01-12 14:28 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-09  6:40 [PATCH v1 00/25] man/man3type/*: Update history of all other types Seth McDonald
2026-01-09  6:40 ` [PATCH v1 01/25] man/man3type/div_t.3type: HISTORY: Update first SUS appearance of [l]div_t(3type) Seth McDonald
2026-01-09  6:40 ` [PATCH v1 02/25] man/man3type/id_t.3type: HISTORY: Update first POSIX appearance of id_t(3type) Seth McDonald
2026-01-09  6:40 ` [PATCH v1 03/25] man/man3type/intptr_t.3type: HISTORY: Split types and macros Seth McDonald
2026-01-09  6:40 ` [PATCH v1 04/25] man/man3type/intptr_t.3type: HISTORY: Update first POSIX appearance of [u]intptr_t(3type) Seth McDonald
2026-01-09  6:40 ` [PATCH v1 05/25] man/man3type/intptr_t.3type: HISTORY: Update first POSIX appearance of [U]INTPTR_MAX and INTPTR_MIN Seth McDonald
2026-01-09  6:40 ` [PATCH v1 06/25] man/man3type/intptr_t.3type: HISTORY: [U]INTPTR_WIDTH is not in POSIX Seth McDonald
2026-01-09  6:40 ` [PATCH v1 07/25] man/man3type/intptr_t.3type: DESCRIPTION: ffix Seth McDonald
2026-01-09  6:40 ` [PATCH v1 08/25] man/man3type/iovec.3type: HISTORY: Update first POSIX appearance of iovec(3type) Seth McDonald
2026-01-09  6:40 ` [PATCH v1 09/25] man/man3type/lconv.3type: HISTORY: Split lconv(3type) and int_[np]_{cs_precedes,sep_by_space,sign_posn} Seth McDonald
2026-01-09  6:40 ` [PATCH v1 10/25] man/man3type/lconv.3type: HISTORY: Update first SUS appearance of lconv(3type) Seth McDonald
2026-01-09  6:40 ` [PATCH v1 11/25] man/man3type/mbstate_t.3type: HISTORY: Update first SUS appearance of mbstate_t(3type) Seth McDonald
2026-01-09  6:40 ` [PATCH v1 12/25] man/man3type/ptrdiff_t.3type: HISTORY: Update first SUS appearance of ptrdiff_t(3type) Seth McDonald
2026-01-09  6:40 ` [PATCH v1 13/25] man/man3type/size_t.3type: HISTORY: Update first POSIX appearance of [s]size_t(3type) Seth McDonald
2026-01-09  6:40 ` [PATCH v1 14/25] man/man3type/time_t.3type: HISTORY: Update first POSIX appearance of time_t(3type) Seth McDonald
2026-01-09  6:40 ` [PATCH v1 15/25] man/man3type/time_t.3type: HISTORY: Update first POSIX appearance of suseconds_t(3type) Seth McDonald
2026-01-09  6:40 ` [PATCH v1 16/25] man/man3type/time_t.3type: HISTORY: Update first POSIX appearance of useconds_t(3type) Seth McDonald
2026-01-09  6:40 ` [PATCH v1 17/25] man/man3type/timeval.3type: HISTORY: Update first SUS appearance of timeval(3type) Seth McDonald
2026-01-09  6:40 ` [PATCH v1 18/25] man/man3type/va_list.3type: HISTORY: Update first SUS appearance of va_list(3type) Seth McDonald
2026-01-09  6:40 ` [PATCH v1 19/25] man/man3type/void.3type: HISTORY: Update first POSIX appearance of void(3type) Seth McDonald
2026-01-09 10:33   ` Alejandro Colomar
2026-01-10  7:57     ` Seth McDonald
2026-01-10 11:30       ` Alejandro Colomar
2026-01-10 11:52         ` origin of "void *" (was: " G. Branden Robinson
2026-01-10 12:07           ` Alejandro Colomar
2026-01-10 12:07             ` Alejandro Colomar
2026-01-10 22:32     ` Adam Sampson
2026-01-12 14:28       ` Alejandro Colomar [this message]
2026-01-09  6:40 ` [PATCH v1 20/25] man/man3type/wchar_t.3type: HISTORY: Split wchar_t(3type) and WCHAR_M{AX,IN} Seth McDonald
2026-01-09  6:40 ` [PATCH v1 21/25] man/man3type/wchar_t.3type: HISTORY: Update first SUS appearance of wchar_t(3type) Seth McDonald
2026-01-09 10:37   ` Alejandro Colomar
2026-01-10  9:08     ` Seth McDonald
2026-01-10 11:44       ` Alejandro Colomar
2026-01-09  6:40 ` [PATCH v1 22/25] man/man3type/wchar_t.3type: HISTORY: Update first SUS appearance of WCHAR_M{AX,IN} Seth McDonald
2026-01-09  6:40 ` [PATCH v1 23/25] man/man3type/wint_t.3type: HISTORY: Split wint_t(3type) and WEOF from WINT_M{AX,IN} Seth McDonald
2026-01-09  6:40 ` [PATCH v1 24/25] man/man3type/wint_t.3type: HISTORY: Update first SUS appearance of wint_t(3type) and WEOF Seth McDonald
2026-01-09  6:40 ` [PATCH v1 25/25] man/man3type/wint_t.3type: DESCRIPTION: ffix Seth McDonald
2026-01-09 10:39 ` [PATCH v1 00/25] man/man3type/*: Update history of all other types Alejandro Colomar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aWUAXoVyRpanc-sF@devuan \
    --to=alx@kernel.org \
    --cc=ats@offog.org \
    --cc=linux-man@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox