From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by sourceware.org (Postfix) with ESMTPS id 5DA6E389900F for ; Fri, 28 Jun 2024 21:32:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5DA6E389900F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=systematicsw.ab.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=systematicsw.ab.ca ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5DA6E389900F Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=216.40.44.13 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1719610363; cv=none; b=riOgJ3Jaxcbx9HhggLBsjS+gL6Ow+rpxLIdoNKljsW28GRAvh0zIC/Y63/M8+pkN3JqMdZgT2BpG+zYK8rpg7YcRUZHHX1/RgbO152jBsebD4HWbUuQn0urWRCmmLbSZiNypJThZjXRSlO+ZPpxfSiMtBwKX3k+iHkuVlrcBLSo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1719610363; c=relaxed/simple; bh=PQ00pxZiYE2XziV7l0t5ZbXbNXgNM0dPb9rk5vPZeQc=; h=Message-ID:Date:MIME-Version:From:Subject:To; b=NJsV9rXASvRxy0S7zoVpc26rsVcfBr8L3vxfjuFxezgZZy9mRLDdtAYn8at+VmwUyKZD6H4zfJ2GWg3hufb7f23KneIkb2Qw3hlSsEVwqURSrAouBvF6288E3kIrsDeZr66wQrnBdH1WoNC3oZ8y4Gt0LHqWdyNQIY3X/HsMLCo= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from omf08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id CCCF5A2490 for ; Fri, 28 Jun 2024 21:32:40 +0000 (UTC) Received: from [HIDDEN] (Authenticated sender: Brian.Inglis@SystematicSW.ab.ca) by omf08.hostedemail.com (Postfix) with ESMTPA id 5405D20029 for ; Fri, 28 Jun 2024 21:32:38 +0000 (UTC) Message-ID: <8128b808-e10d-483d-b9ee-539fa0dc8d49@systematicsw.ab.ca> Date: Fri, 28 Jun 2024 15:32:37 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: brian.inglis@systematicsw.ab.ca Reply-To: newlib@sourceware.org Subject: Re: C11/POSIX-2024 Questions Content-Language: en-CA To: newlib@sourceware.org References: Organization: Systematic Software In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Stat-Signature: 84r1q7c5ypdosiiuu8797d9nyd73e8uf X-Rspamd-Server: rspamout05 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Rspamd-Queue-Id: 5405D20029 X-Session-Marker: 427269616E2E496E676C69734053797374656D6174696353572E61622E6361 X-Session-ID: U2FsdGVkX1/ZnIgjJgqzXYOP63mBs78ZKUp9c7F2g5c= X-HE-Tag: 1719610358-117053 X-HE-Meta: U2FsdGVkX1/sa5c/e6/I9MOZRGp5eiKibK3c0iZzMDxaRmZ3bOuVmgkJtq/tROzP2oHuwk/XP6+S0XLhC8x3DBB4ES+UUGhdgvhjkrcSefI6hOM2tCD8vfoaFMSz6Q3lXwARawB7Y83EUWA7bdg5Ozl4M29ynq32fnnjdyNukGCqRrNvAC/rbU5D114ZE3EjWW+OsrCyHDyqMeo4mvfS08T6x9LE00N1K9H8b/MB4kkmdaaEcJW8VSj0WYN666bFvfpsEoYQO4ZO6/z8EuLCE5PscKWvEMUw4rrh5k70RYhlQHUa6MtvaCa5pd/jH2XKeftZ+4bGJIZj77SgHXTLtxVpzQsopXYrYNw+cUuDHLqlwRsczSci3s/W3PUWHxwyOnJxb6LTeiGacs+Vl4LhDdAKBYeetEtmFOLe5fSaTyQUDGHrGq+EYmCBL4kyCYTCEudLuHpQgU3MiEzeo6kzB56nIRvUHIxiLXLXsPn+cTcSGeMnXjEjPrb9b5o1FDyMZIZw2cgssjGylKllhzdcmTm52OmcwZgcLr4srP0fiX9KWU7vcRaDsb/i+NroO580QNWFQrp8qPfmKangDp93Iy4cbvuBP1+S X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 2024-06-28 08:37, Joel Sherrill wrote: > Hi > > I am finishing up reviewing the additions from POSIX Issue 8 which was released > recently. I noticed a few things and have questions on the right approach. > > + I only have the final draft for POSIX-2024. It says "_POSIX_VERSION to the value > 20yymmL." It isn't on the web yet for the HTML version. Anyone know the value > this has in the final version? The Austin Group minutes say in: https://www.mail-archive.com/austin-group-l@opengroup.org/msg12711.html "The IEEE and The Open Group pdf edition was published on Friday June 14th." so I would expect POSIX-1.2004/IEEE Std. 1003-1(2024) to have 202406L date. Another email states it could take another month for the HTML ~July 21. > + sys/features.h appears to need this new POSIX version added at least to the > comment block. I don't think it necessarily changes any logic below that. The latest draft normative references include ISO/IEC 10646:2020 (6th edition) so Unicode should be at least 13 dated 2020-03-06 and __STDC_ISO_10646__ at least 202003L. This was amended by ISO/IEC 10646:2020/Amd1:2023 2023-07-17 so Unicode could be up to 15.0 dated 2022-09-09 with __STDC_ISO_10646__ 202209L. There were no amendments for Unicode 14 2021-09-10 or 15.1 2023-08-28. Future considerations expect Unicode 16 in Amendment 2:2025. ISO/IEC JTC 1/SC2 WG2 is no longer at http://std.dkuug.dk/jtc1/sc2/wg2 (NXDOMAIN) so old working documents are no longer available but has moved to https://www.unicode.org/wg2/ where more recent working documents are available, and hopes are that ISO/IEC standards can be stabilized with normative references to Unicode specs like UTS Unicode Technical Standards and UAX Unicode Standard Annexes. > + memmem is in string.h under the __GNU_VISIBLE guard. Does it now need to be > under a __POSIX_VISIBLE > 2024mmdd and __GNU_VISIBLE? > > + aligned_alloc in stdlib.h is only guarded by C > 2011. Does that need to be an > || POSIX >= 2024 also? > > + C11 and POSIX-2024 add these complex methods. > > double complex CMPLX(double x, double y); > float complex CMPLXF(float x, float y); > long double complex CMPLXL(long double x, long double y); > > FreeBSD has a macro implementation > (https://github.com/lattera/freebsd/blob/master/include/complex.h#L49 > ). If I > add that to complex.h, does it also need a __ISO_C_VISIBLE >= 2011 || > __POSIX_VISIBLE > 2024mmdd guard? The same minutes linked above says: "The ISO/IEC [POSIX] ballot closes on June 28." Also note that ISO/IEC 9899:2024 C is targeted for July 12, and JTC 1/SC 22/WG 14 hope to get that passed by some picky ISO editors in time, or it will be cancelled for this year. So look for ISO C >= 2024 and add changes, including docs and compiler options, and note 202X is becoming ambiguous so groups are using 202Y. > + Should I continue to look for guards on things that are newly added in POSIX > 2024 and already in newlib? > > That's it so far. Just picky stuff that I plan to address given some advice. I am also waiting to see if this will be issued as SUSv5? -- Take care. Thanks, Brian Inglis Calgary, Alberta, Canada La perfection est atteinte Perfection is achieved non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut -- Antoine de Saint-Exupéry