Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124801 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 095F71A00B7 for ; Tue, 6 Aug 2024 11:04:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1722942379; bh=gmtzGui/aJPNmYZcuRC2wMKVWERaT3k5TTKA/dIXJTg=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=PEUfj7qD+nKC69LyW3IIOMmGv36N+HNdtgOv1Dmt0lSy+bf/P0lfD4ZOAUpvdIaWT EnI7c5UeB8gkbhYZ1ArBNmJ3EWW1nuqBbYIgSc427z7ZksORl38W03kvzAR6/q1pLG 68cXo1uo3TlbEXfRu/DPA7WxHuwUrPnx0slr8hlz99d4XMKb0697lT8Z4rnr/AP8qk e76TSJoJuZ4ThzuSVms2IcvK52JYt87UV0JLGGhp92Y43PbGjiUVfL/Eo4OYNE3j+v Fl/OIhGWc5rnePO3BMNrEOV2AvQlekNdhxwBmaUTqNCqqGvcriD2YGgoDDyIeUi2rQ +eFdCusNvckAw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 9082918006F for ; Tue, 6 Aug 2024 11:06:18 +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.1 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW, 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: Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 6 Aug 2024 11:06:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1722942271; x=1723547071; i=cmbecker69@gmx.de; bh=H0r4Gw7eS2Sw8kFGZ9Y6/OwsCmg/7mrvWSBgdCaDSZc=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=QKdcvnahOuHaoNaQyvr/uTkDlWLwLNrFkZEhxTrQcMb2xrkIj12XucRgzbUGZowv uj+bphO7JHqhXJcs8ZpOzwXj3S6yrx4x/ojxWnCIsP9eJaqIWvCF+zKEI1wsJWbHg izy8+/lKOA7bPNQ6PstlImw/vzgRd4InCAreK9HCwkV9fEVAB0BBMz143Gu3denV/ 6iaQTzr1BwbJKlaSnhqXmao4y6QNySmykCe/TBt4ZjYtdUEm2ImRAFDRVaS9HOfvC paVRDDojPQY0ChGsgItUIJWceBzITotPTcRUf/wyGum7Gj9ZoZ8/MCkLgDAGM3PmB j04mU8/vMXhxsLh3ng== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.2.130] ([79.251.205.37]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MG9gE-1sRSD52Irk-005Stg; Tue, 06 Aug 2024 13:04:31 +0200 Message-ID: <1f4e9f6f-d0df-4c94-b5c4-04c0111bb85b@gmx.de> Date: Tue, 6 Aug 2024 13:04:31 +0200 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PHP-DEV] Require C11 in PHP 8.4 Content-Language: de-DE To: Levi Morrison , "Gina P. Banyard" Cc: Giovanni Giacobbi , Ilija Tovilo , PHP internals References: In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:AO8MR6Oh2It5kjUSKHYS0XpDgTc2gBFrEtOmjwDM+1rGJ8/VhKb UKUTeKoO+vKAyuStmwPYks/P/WZUqNsGwv5ZmIbDNqmycH5ONKh7HAgD+7tb6QnC+7yeWbD bmkM9L8IyvstxwJB/kJ53GZjbuabwo4cYzdtTLtvc+7RThY/GlQ1iGGdArT/dhjQOVWR22E RmehUYfb5CkY4sZMPJkkQ== UI-OutboundReport: notjunk:1;M01:P0:JCxWU+OmMqM=;HkY7YPgq74oYashupI8O/foCHBZ zi0TjdetCVgBFe+2Uv6k59zG4/PKKpm0U4q1TlEUAXq95ju5AOOuQRxNCP+UD8ClmfpAZR2yQ xnnlEipUJNebwij8LeepdF+gCi3CDrGA/SCT9SHvn4gBb4j6Fe70CxRQuMiqevAtSJSQKpqK+ h3EzhpppeMJ060Vv6uTmuRkbvP394pNZaCTdceot7lPt7+xcOcSL9xt2Cd1D+wbfIgJVKK3da 1yTM05LSSY/hw1HBoSEG+wXz5m5lf8B2n01TgfxuN2Aab8R9V13SspmRm+OTK/2IxD8Sm0H6r del1jblvJxcWj4+kjnUZiTlad+nsuuRrxKxj7ddw8Vk0ragDPDhnTYCzIfJ64ffQ9HMsXFuAw yJkm8CLHLoVt3bWNRszSmMmUWmu/NXD1qm6Gi1BCYY/5ydYv+0tbLC1F2E4b4ecX1rLW4CyD7 8s7aqUSgRycXvqx0mwd5bm5nPOkjW8cVfsMhcmMzO/CQuWlwx523dXFdAJaFt7BwMMjGJ/MMC hMY9f5smyVBEokdM1FjHyVRa3T3rkyFi5PL1caMSSr1t1QGEaesKEZyu6QQgPD6jStaIqvfuo srZUll6Rvpmud8XnRIgddqZvgr6491H80uhjKvMeKopizITGTFN9BoXcMUkZpX4iKc/rbB9Zz 3N+/+KyWRGe9kOjpWDui3IRj6ld528GXuDOl+nqGcaMe2R9VflKD6qe4iFejmdHoBX87IZo91 +v8J6oppu/VZQdtKRzIidLc62524QHy8pReRmh+1I/YkUmkSIRJxf5pNNQVA2xm56YmLTb/Ed 3p1aphs0pj7nCsdUUz4U4GK9rMORHARVMZMm1HpsUQ3Vg= From: cmbecker69@gmx.de ("Christoph M. Becker") On 05.08.2024 at 18:42, Levi Morrison wrote: > As a person who wrote some of those atomics, I would definitely prefer > to move to standard C11/C17 atomics at some point in the future and > remove all other fallbacks. The blocker right now is Microsoft Visual > Studio. Although they added C11/C17 support a few versions back, they > did not add atomics at that time. It's available now, but it is still > experimental as far as I can tell. There is a MS blog post from December, 2022[1] which claims that it is experimental, and that you would need to specify the /experimental:c11atomics flag in addition to /std:c11 to enable atomics support. I though, hey, why not try that out, added only /std:c11 and got a failing minimal build, because apparently max_align_t is not defined in stddef.h even with the latest available SDK (10.0.26100.0) offered by Visual Studio 2022 for my Windows 10 machine. It might be available with SDK 10.0.22621.2428, which according to the documentation[2] has been "Relesed in October 2024"[sic]. I wonder whether I would trust more detailed information there. (FWIW, the official Windows builds use 10.0.22621.0, and we probably should enforce some common version; I think for now we use just what can be found in the build environment.) Anyway, I worked around the missing max_align_t definition, and the build succeeded, even though I've added #ifndef __STDC_NO_ATOMICS__ # error cmb #endif in zend_API.c. Thus, I conclude that atomics support in latest Visual Studio 17.10.5 is no longer deemed experimental, and locking atomics are implemented now. I think it is worth investigating whether that support actually works for our purposes, but probably not use that for PHP 8.4. [1] [2] Christoph