Newsgroups: php.internals
Path: news.php.net
Xref: news.php.net php.internals:124920
X-Original-To: internals@lists.php.net
Delivered-To: internals@lists.php.net
Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5])
	by qa.php.net (Postfix) with ESMTPS id 36C1D1A00B7
	for <internals@lists.php.net>; Tue, 13 Aug 2024 15:00:36 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail;
	t=1723561341; bh=r49EZKKTKI3qtof729wnSMJ62hLW0qXU4NfZIWdpRLU=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=eN28d9lQHV0Ev1vLy3wRI0zVSEM2yx7c24evpJPxvzAdbNVKBreAo7LkLgEKxGKa+
	 lwabSQ8Bk016ZXcfDkO5dL7jJbTjlCM2B5qd9jGgUELv4U4h2ThXtvxVhT0gDxM3ek
	 ADdkoS7c0BM3+GC509sTDW0EyNfT2OsGuIow/NnHoRONJjiYQBN2+dE2XerQRvI1gE
	 BI9o55zBAX4De/kWMsPJ+3Nz3c0r+T5ay/XDqOrgdKoICbOlhejAfaPNCRCRHmTtNY
	 2QJbUcUozJXlCvLAviXN/ukK7ppshg39r0kvL3iqhzb9QAnk4Xl3ARlJK+3TxjCdnv
	 4bym3yw02LfUQ==
Received: from php-smtp4.php.net (localhost [127.0.0.1])
	by php-smtp4.php.net (Postfix) with ESMTP id C37CF180209
	for <internals@lists.php.net>; Tue, 13 Aug 2024 15:02:20 +0000 (UTC)
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net
X-Spam-Level: 
X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED,
	DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,RCVD_IN_DNSWL_NONE,
	RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no
	autolearn_force=no version=4.0.0
X-Spam-Virus: No
X-Envelope-From: <levi.morrison@datadoghq.com>
Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
	(No client certificate requested)
	by php-smtp4.php.net (Postfix) with ESMTPS
	for <internals@lists.php.net>; Tue, 13 Aug 2024 15:02:20 +0000 (UTC)
Received: by mail-io1-f54.google.com with SMTP id ca18e2360f4ac-81f9339e544so250513639f.0
        for <internals@lists.php.net>; Tue, 13 Aug 2024 08:00:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=datadoghq.com; s=google; t=1723561234; x=1724166034; darn=lists.php.net;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=r49EZKKTKI3qtof729wnSMJ62hLW0qXU4NfZIWdpRLU=;
        b=ONpcU7IIs2d9HIJWFfU7l/PfzpTRZJ8P91hDqB0PLZGv/tOquB2bZ4YQiMxh2tHjh0
         YU2dl/LK0Wzx0/SJQauXDWbj6E2lWITdDBLNpJHo7xG2iW3pqhbgQ9zPPTIgKUC1Fpi8
         kzs+K1HPV2GZQk55aFg09tDkkr1/91P8MBlbg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1723561234; x=1724166034;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=r49EZKKTKI3qtof729wnSMJ62hLW0qXU4NfZIWdpRLU=;
        b=r9w3wWbwvCs+NVrmuGc01P4fUjM57UnUJWqS52zz5f7cgICENO7QL9/8COy5/pwmcE
         7jjnYogDpn/WE+KssnhQEkdoYrXw64FlYVFUk/vyxSodrUaZQ8PUzSzy1IHMSNEokk8S
         04olX9dtUqvJ+j88UTg/NPH93N571hq6efusGUKvdy4PdMziEw3OKYvLOl0BezVfnhjH
         1ZOUgmtc9+mX0aSQOVE/1LbnlcNeiZ2TgdwQE630dcGnpkDqfbJ2GTXeP8PAR7PonvXp
         dvCJUmRW5l9q0Fv2zwdifNnptdHi0uywXNNxMzHOVywb35+4GlpZUR2oWE5IgJ0A9yvJ
         erUA==
X-Gm-Message-State: AOJu0YxHNFcLUeUZJPtIlcn1rgKSF0TMRIvHzARZ1JCMc2c1bO152hhK
	loxwhrQ/qXSJUtNw4GKU5IoG1H0Y6vnCyyLb4H25Obv38jEFL1a5jIJpS+gyyfeDyktvGNR8mDk
	zhKzuQ+pHAe8PDVWSMNPy0T+UbL6xnNRsbmsPDvH6n2jUAbI5
X-Google-Smtp-Source: AGHT+IG+Ij6pd2KqVcGgQz73oBwH04FkEfNMAGtvUceZgQrMNjTvcA6AEt/Qm52yAztiFIAz31vzRjorbB7CFw6jeWU=
X-Received: by 2002:a05:6602:6111:b0:824:d7b5:457 with SMTP id
 ca18e2360f4ac-824d7b507d7mr110116639f.5.1723561233761; Tue, 13 Aug 2024
 08:00:33 -0700 (PDT)
Precedence: bulk
list-help: <mailto:internals+help@lists.php.net
list-unsubscribe: <mailto:internals+unsubscribe@lists.php.net>
list-post: <mailto:internals@lists.php.net>
List-Id: internals.lists.php.net
x-ms-reactions: disallow
MIME-Version: 1.0
References: <CAPyj-LB11wiZyHV8=7fEs=J==tDO+m+z4qRsXRroPnqXzNZvvg@mail.gmail.com>
 <9e1068ae-593e-40bc-91d7-dd63545d9e60@gmx.de> <CAAKU0ukMEAdCYQmti=aqM7QyjtnuzOx6fCd0aWGGf6EN3CRZBw@mail.gmail.com>
 <CAPyj-LCArhAARxFrCh+9C4T2oj=3EL1vy98+whuStjsBHJAMCQ@mail.gmail.com>
In-Reply-To: <CAPyj-LCArhAARxFrCh+9C4T2oj=3EL1vy98+whuStjsBHJAMCQ@mail.gmail.com>
Date: Tue, 13 Aug 2024 09:00:22 -0600
Message-ID: <CAAKU0uk+wwDp0Ujz7CRO-S8SA-qEaGrX7w-eUx5zFCTsUf8cOQ@mail.gmail.com>
Subject: Re: [PHP-DEV] Require C11 in PHP 8.4
To: Ilija Tovilo <tovilo.ilija@gmail.com>
Cc: PHP internals <internals@lists.php.net>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
From: levi.morrison@datadoghq.com (Levi Morrison)

On Tue, Aug 13, 2024 at 8:17=E2=80=AFAM Ilija Tovilo <tovilo.ilija@gmail.co=
m> wrote:
>
> Hi Levi
>
> On Mon, Aug 12, 2024 at 5:56=E2=80=AFPM Levi Morrison
> <levi.morrison@datadoghq.com> wrote:
> >
> > Given the timetable, I wouldn't change the C std requirements for 8.4.
>
> Just to state it officially: You object to switching to C11 in 8.4? In
> that case, we'll have to postpone.

I don't object. I think it's smarter to wait, and do more than just
redeclare a few typedefs. But I won't block it.

> > I would stop relying on the typedef and forward declare only the
> > struct, and that. Note that although Windows supports C11, it does not
> > support all features including atomics. Someone chimed in to say that
> > they are available, but this doesn't match the information I got from
> > a coworker who did a similar test. Given conflicting information and
> > the short timetable, I think we should lean towards being cautious. I
> > hope for 8.5/9.0 we can move to C11/C17 which can improve the typedef
> > situation, simplify our atomics handling, and more.
>
> I'm a bit confused about the relevance of C11 atomics. As I'm sure
> you're aware, they remain optional in C17/C23. So, we'll need to
> support a fallback, my suggestion was not to remove the fallback.
>
> Essentially, code-wise, nothing would change if we adopt C11, except
> being allowed to redeclare typedefs. Apart from that, only the
> documentation would change.

If only documentation changes, then I think the risk is lower. We
definitely should not be doing configure checks in 8.4 with how little
time there is, except maybe _one_ that attempts to redeclare a typedef
to see if it compiles, and give a nicer error message.