public inbox for linux-man@vger.kernel.org
 help / color / mirror / Atom feed
From: Adam Sampson <ats@offog.org>
To: Alejandro Colomar <alx@kernel.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: Sat, 10 Jan 2026 22:32:30 +0000	[thread overview]
Message-ID: <y2abjj1cd4x.fsf@offog.org> (raw)
In-Reply-To: <aWDZFvDvb-hAXQMJ@devuan> (Alejandro Colomar's message of "Fri, 9 Jan 2026 11:33:58 +0100")

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".

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,

-- 
Adam Sampson <ats@offog.org>                         <http://offog.org/>

  parent reply	other threads:[~2026-01-10 22:32 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 [this message]
2026-01-12 14:28       ` Alejandro Colomar
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=y2abjj1cd4x.fsf@offog.org \
    --to=ats@offog.org \
    --cc=alx@kernel.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