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.