From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 114720 invoked by alias); 17 Aug 2017 01:55:05 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 109633 invoked by uid 89); 17 Aug 2017 01:55:03 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 17 Aug 2017 01:55:02 +0000 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B6F6215557; Thu, 17 Aug 2017 01:55:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com B6F6215557 Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=eblake@redhat.com Received: from [10.10.120.34] (ovpn-120-34.rdu2.redhat.com [10.10.120.34]) by smtp.corp.redhat.com (Postfix) with ESMTP id CF5C75C7A7; Thu, 17 Aug 2017 01:54:59 +0000 (UTC) Subject: Re: stdnoreturn: fix for Cygwin To: Bruno Haible , bug-gnulib@gnu.org, The Cygwin Mailing List References: <4260817.MvLg4Vb6y4@omega> <4e8c3f47-fb4b-eb8d-12d9-6ad40e219279@redhat.com> From: Eric Blake Openpgp: url=http://people.redhat.com/eblake/eblake.gpg Message-ID: <6fe7ba4d-f88f-3ef0-92ff-15cd667f190d@redhat.com> Date: Thu, 17 Aug 2017 01:55:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <4e8c3f47-fb4b-eb8d-12d9-6ad40e219279@redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="Jrvsn4vB6cedFMOXHCNKsD54cCl3OEvJu" X-IsSubscribed: yes X-SW-Source: 2017-08/txt/msg00149.txt.bz2 --Jrvsn4vB6cedFMOXHCNKsD54cCl3OEvJu Content-Type: multipart/mixed; boundary="aLRGPfk5wQjp90KTOn2eRsHQ86cufFlbM"; protected-headers="v1" From: Eric Blake To: Bruno Haible , bug-gnulib@gnu.org, The Cygwin Mailing List Message-ID: <6fe7ba4d-f88f-3ef0-92ff-15cd667f190d@redhat.com> Subject: Re: stdnoreturn: fix for Cygwin References: <4260817.MvLg4Vb6y4@omega> <4e8c3f47-fb4b-eb8d-12d9-6ad40e219279@redhat.com> In-Reply-To: <4e8c3f47-fb4b-eb8d-12d9-6ad40e219279@redhat.com> --aLRGPfk5wQjp90KTOn2eRsHQ86cufFlbM Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable Content-length: 1651 On 08/16/2017 07:59 PM, Eric Blake wrote: > Adding cygwin list... >=20 > On 08/16/2017 07:01 PM, Bruno Haible wrote: >> On Cygwin 1.7.30, I'm seeing this testdir build failure, when compiling >> test-stdnoreturn.c: >> >> /usr/include/stdlib.h:66:28: error: expected =E2=80=98,=E2=80=99 or =E2= =80=98;=E2=80=99 before =E2=80=98)=E2=80=99 token >> _VOID _EXFUN(abort,(_VOID) _ATTRIBUTE ((noreturn))); >=20 >> + >> + Similarly, on Cygwin, standard include files contain declarations li= ke >> + void __cdecl abort (void) __attribute__ ((noreturn)); >> + "#define noreturn _Noreturn" would cause this declaration to be rewr= itten >> + to the invalid >> + void __cdecl abort (void) __attribute__ ((__attribute__ ((__noretu= rn__)))); >=20 > Hmm. It's evil for any system .h file to ever use > __attribute__((barename)), since barename is in the user's namespace and > can therefore be defined to anything else, possibly breaking the header > (as you just proved). Hopefully, the problem goes away if cygwin > patches its headers to use __attribute__((__noreturn__)), so that gnulib > can then define noreturn at will. >=20 > I'll look into patching Cygwin to fix all barename attributes I can find > that should be __barename__ instead. On a closer look, I've already done this, several years ago (although a few more have crept in since then): https://cygwin.com/git/gitweb.cgi?p=3Dnewlib-cygwin.git;a=3Dcommitdiff;h=3D= ada456dcf Bruno, your cygwin installation of 1.7.30 is old, compared to current 2.8.2 --=20 Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org --aLRGPfk5wQjp90KTOn2eRsHQ86cufFlbM-- --Jrvsn4vB6cedFMOXHCNKsD54cCl3OEvJu Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" Content-length: 619 -----BEGIN PGP SIGNATURE----- Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEzBAEBCAAdFiEEccLMIrHEYCkn0vOqp6FrSiUnQ2oFAlmU93IACgkQp6FrSiUn Q2rJzwgAprOyGBNmQtfrC1BLveEsJ1XB57AFs3C+1jXNOcLdrrozyx4bzwT5B9uM omFwEQ4o3HkO8OLAE00fWUNnFWbOF72YWEC/v9vKEApXLnWbo67vw8K7Oc3Tz8ip tAwyz5SxKkirOp5cb3O3y/4P0RsL/kS9hQZ4PrmKDD1xs4iwJyuN1wIJNNSVMsi3 TRdB+DSRYnbCU/W472o/qHX+owUKRIp/YK0aKbhydPUxyjzULGfNK4VL793KIGT6 ecGFrNuukRTnWepUSxluAkXyqDeRn6l4+CAb3uz/uV+0wmu8Tpc5bV/OwvTkh5XT EIirlxevP2nDZew+D+Ukq6rZEIAJ/A== =c3nV -----END PGP SIGNATURE----- --Jrvsn4vB6cedFMOXHCNKsD54cCl3OEvJu--