From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sonic301-35.consmr.mail.ne1.yahoo.com (sonic301-35.consmr.mail.ne1.yahoo.com [66.163.184.204]) by sourceware.org (Postfix) with ESMTPS id D59123858C33 for ; Tue, 25 Jul 2023 23:48:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D59123858C33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=att.net Authentication-Results: sourceware.org; spf=none smtp.mailfrom=att.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=att.net; s=s1024; t=1690328913; bh=Kgxw5ETpVMRuHv4e/4/IJp0eV5YrMyrRD4dw2ZEi7/4=; h=Date:From:Subject:To:In-Reply-To:References:From:Subject:Reply-To; b=hwxW9XtwuFZ4muuN7Y7e0vIMj6qAQt0VW71LKBO/rhzd3RBE6ahbAa7NHI6XKofvY21qi/AWpSeIqt1CF1ucvdhNA+ugip6dfTG6AOmQwIw7q1ZDRi7Hz6AKvSwF8Vq/y77fih2Lxo8UrlaUAgf2MmoRYrdJCHoQQS0x5FMxgRI= X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1690328913; bh=NM1Ij2eezQGzpGihNaZO7AX2AUiBOVpVJ+HGG0OBI9H=; h=X-Sonic-MF:Date:From:Subject:To:From:Subject; b=QeQuQAcTG7wtrR3y9pNERJcg/rqcdwoh3bQeZYlnjpK5mPzlxQIUTEoLBILuuJhzoxQxIzO/IFzW6MRXUNVBXAgA5RCZMNburGvQwPlZZ06ee0nZDv44x2ssgB7Js0/p/t6ssVuEUvuvyJ5jD3w76K5h9KhwpC2AHXxi/PbBW/hnDSrmtT5tqqv9pzJLRhbZ9fx2jz+f2DKPjobPNdJ3cXEyffl0n+bYwOts+plMOLfZHsO7rOHxGf99/UkWcINK/DSU4y27HBDR72eHE9cCnemGpz+LP+tgZHUJ23diU3TXAh88yyYwbKoV4xYHFyruK6yHiUCx4A4D1X44IXvXIA== X-YMail-OSG: .Pe3JVwVM1kxaw0wi74Ew6pnP5niUAAT5OAhAv37bI445pr1XwhKMnh3QWkVjQv 7PAJT9NiYf4jSujZU.b4kV8SpViVMW4yy1fnnqcQHM4JCKTvsz6hwP107S.cpD1bg2ilzg6OTTRv w28RApeyeu5rlwrgll4GgfMbfwgPdgcTNUPoyLEg31kLTSpjS2dL63r0B.5QbIZrD87_xp.W1xHE H5J1cxtj_lyvho6naX8THTbPh.0Mez2r1nzOv3DJ3o2hPG5UUKJa_SDVwDrsJG0cl13fjOhnL5M2 kaqOfL5bH_icjHQdEqvHevOcRoKsaZ1I8V.nRNiaId6_jlcRixYOWb5n4vUIQAnI7VhYwNwRiaUF mNFCuUnHjI6AR1TNOhWoq4SMyvxuOz3jnHzP1PR1PvW.zZ1co1XXtestgtD3ZS9AxEhNCD9ViaXW zSNkPvilKKt8nnuULvdHsNxDvmmf6ozDkwiUYYdktinH8fjY7ivaxlwNk9DdPwlukI2uxvlU7GMh 8T3vmENj6EUl4c5cUUmR1VvaSxb27ru7cw9hMBFA7522yK28vaeo6N8Wp33ckB1okNk1P8OKv4.j AGOOm3L.VwQWWnO7CzDlaO5czE0kEkrHQPDbpSsKo4Lw_QzfNqOHv1kTeS68X358jV6TaWx6bHL8 TTY_W9QvWJDj3qY_DnoRnOoJkWic1xbrrD8.F1gn.hxFZ7IES9bckGxfWSMmKvNv_YLSMosoZE5f jhewCAds4d.3fL2ncAHc.8ypPfuZxKso7mgVgO8D3yMmSG9M9GOOLGoCog4wTiOOvsy52u7kO2f1 QGpa9tGZc60xeffErj06NYQrA8wnp3A8f2.3bAa4ad1QnI2eSOpzfd.o1sUbcFgGz2_mhXY_Jv64 Wz1Fy5hcQcY8.CwBoqRbmKjRj0kc8Jrz1MFJCluCqjrBH0DMc24Kr8BBbg8FRWaYuizoIoh0I2j. EFKY9G7j_ks2tfuqIOWRFqev1PZjYfrqIHBmC0nZ8tf8fpXI0vlGA6XBLjo6F5610mRwcBNg8oON 3iiarJl.LmpNDZLE7CnIAsrJCgnEATGmO.n17XxKwrJ1Rvcz3FgLFmziO_Lci0ONj9wg8pNJGkcS YtuICNCn6q58YxIQkW5z.rnX2o7o6t8.HcHiU7iHPYajtroVFAFmc0NM4RuhzGFGXHEiEpzwVGfO X13LD1bEP2RUUvNX3GdWx46CpHbLmaff57ddVFqYAFsFfWGPTTiZ6hUeqPiNn_wVkYQZxmXF4fHw gQTyWJVBIocKU..ujwiROzx6zGftx0gg7zNbxaZ1z.bIjUcq_RloE4Ua5t9O6H_E7KdvRhOIK1rF .ffLE4KJgrZJUoglPI2XiDvfsc7cQDMrlxi82zU_qmvUsA2cx1zEiAjQm0Gv1Up_AdBK1nYYJrVL ix3uAc.Wsqvyml_RmAYZRjV17fPzd8C3jbrZe9nSZeVIFKMgXdrKnuN6QK7ZgncALeC.YToRMCKM C812UQaE8yvrP319xOGZ3ipIPoRN_h3XQm0nDjARxZ1OXWO82tuiWY4j5T44mo_aX8hKWE6q7Gt2 Oq8m.pD88T7M_R4F_BbUabn23Wtl55hHG83g0RWMLh.Aq4I_fX_PhXxM3KM_yYu9LstuCDR78ndY 26y89q2o.N9AZxFdVXnWzpY6mraipEZQfiBhQuB.eAMKCCnowHf7ISd33L_L69xhzGXPB_6fcomX 8Ez7Qe.1TQNQ2KU769Ce19EjmyU8xmYkJ8hixqJNbP4aNnlPlZaldJzG3vuE5t3hd2VByQruQoZT ASjo2DOHqSU8VHqvK2eVzmYm_Hgqz3_wP0SqjrGetPEK43kSCW3Pxc8lMz3O7AWg41NZpKIe05xO lKnD6kvznci54WCuTmnv1oLpTvm84LZW7vMqAR2Fb5lwT1BNTuDAuCOmZNzf7viYbchOMKtbxWVC 8aA_jVWnKo2ETcXCCAQt2.dYV6lLCaZ.9cqx_BCmV75uGcvQ6p94RrWfgCC6Ba5o.aePkd7IXIjn RsVRYZi8T6TowzTa94Sv.xyZ6uocPhd4KqffxniDNwOAaHts7swf5PTP41X2Drg_1Mjbj0TQLwi0 b8DJeSIy9PG69Zpq0ieqWm9GAfmBn3hSIowjUkCBXu2kuuAh5EA68RNYY6lHF7VhKEw6dvbzWexw szsAkMPM_4hZZoAoPg6n3zTysICx50pbesy4Jr9iueHJOKO6GcfWIvneNeK8BWZ5MM78v2xzBM0H IPN_Hd2ouPpvs8t4M X-Sonic-MF: X-Sonic-ID: e875d162-807c-47f3-b61e-403798a41c45 Received: from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.ne1.yahoo.com with HTTP; Tue, 25 Jul 2023 23:48:33 +0000 Received: by hermes--production-gq1-7d844d8954-pkqkw (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 7a9546b358f4c6a18173036791142123; Tue, 25 Jul 2023 23:48:30 +0000 (UTC) Date: Tue, 25 Jul 2023 19:48:22 -0400 From: Steven J Abner Subject: Re: newlib header breaks restricted pointers in C++ To: newlib@sourceware.org Message-Id: In-Reply-To: References: <3126b987-ca19-97f6-9c7a-06243add9354@embedded-brains.de> X-Mailer: geary/40.0 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=-4l2eBCRSaMt/GIT/8Edb" X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --=-4l2eBCRSaMt/GIT/8Edb Content-Type: text/plain; charset=us-ascii; format=flowed Curiosity killed the cat, I might not understand, could you clarify. It mentions 'restrict is not a keyword in C++'. So doesn't #if __cpplusplus need to define 'restrict'. Additionally, shouldn't the below mentioned '#define'(s) include '__restrict__ ? On Tue, Jul 25 2023 at 06:48:35 PM +0000, Corinna Vinschen wrote: > On Jul 25 19:46, Sebastian Huber wrote: >> On 25.07.23 19:35, Corinna Vinschen wrote: >> > Hi Bruno, >> > >> > On Jul 24 22:23, Bruno De Fraine wrote: >> > > Hello, >> > > >> > > As an extension, GCC and clang offer C99-style restricted >> pointers in C++ mode: >> > > >> > > >> > > We notice that this extension is broken when including newlib >> headers: restricted pointers are treated as ordinary pointers. >> > > >> > > We traced this to the following section of >> newlib/libc/include/sys/cdefs.h: >> > > >> > > /* >> > > * GCC 2.95 provides `__restrict' as an extension to C90 to >> support the >> > > * C99-specific `restrict' type qualifier. We happen to use >> `__restrict' as >> > > * a way to define the `restrict' type qualifier without >> disturbing older >> > > * software that is unaware of C99 keywords. >> > > */ >> > > #if !(__GNUC__ == 2 && __GNUC_MINOR__ == 95) >> > > #if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901 >> > > #define __restrict >> > > #else >> > > #define __restrict restrict >> > > #endif >> > > #endif >> > > >> > > While the GCC __restrict extension was indeed introduced in GCC >> 2.95, it is not limited to this version; the extension is also not >> limited to C90: >> > > >> > Either way, the above has been taken from FreeBSD, and it is >> still, >> > as of today, the same expression as used in FreeBSDs sys/cdefs.h >> > file. >> > >> > Seb, any input on this? >> >> I added a FreeBSD bug report: >> >> > > Great, thanks! Do we want to wait for a FreeBSD solution, or do > we want to change it now and, maybe, take the FreeBSD version later? > > Does anybody want to provide a git compatible patch? > > > Thanks, > Corinna > --=-4l2eBCRSaMt/GIT/8Edb--