X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type; q=dns; s=default; b=c8JA CgbgXoPBLTnBBd7eNvqfNuStJnSzsnQ0+G/P1e2K2XXZF99vY3cgwTXJqeJhKmxM 5wyTNjDQ2OVhIQWjjGOCx17MhygEuK758lMAe0OnKbKTkqz1sYJYi9Gq+Nh7/foY xNDMHmQQtmKcyByo53VeTJni3yqty9DIb56DU2M= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type; s=default; bh=iCmGqZ8XIw HUuNLRM2a0u0do0nw=; b=poSC8D+/ABmElLOP8/LqoPZ2A7ZZd+UTlWQ9eet1Q1 7xc0S2rATsoDObJhEUcA42PJPBgWV8gAG9wpy7sw8AIS6LBovYefUSe5YxoED02m xTISFz7wTAzPZbS6UdtUExOmbI8sKjpYr1cP1E6dR3wBQgjH50Kz3unTr4CKmu/T 8= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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 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 AT redhat DOT com Subject: Re: stdnoreturn: fix for Cygwin To: Bruno Haible , bug-gnulib AT gnu DOT org, The Cygwin Mailing List References: <4260817 DOT MvLg4Vb6y4 AT omega> <4e8c3f47-fb4b-eb8d-12d9-6ad40e219279 AT redhat DOT com> From: Eric Blake Openpgp: url=http://people.redhat.com/eblake/eblake.gpg Message-ID: <6fe7ba4d-f88f-3ef0-92ff-15cd667f190d@redhat.com> Date: Wed, 16 Aug 2017 20:54:58 -0500 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 --Jrvsn4vB6cedFMOXHCNKsD54cCl3OEvJu Content-Type: multipart/mixed; boundary="aLRGPfk5wQjp90KTOn2eRsHQ86cufFlbM"; protected-headers="v1" From: Eric Blake To: Bruno Haible , bug-gnulib AT gnu DOT org, The Cygwin Mailing List Message-ID: <6fe7ba4d-f88f-3ef0-92ff-15cd667f190d AT redhat DOT com> Subject: Re: stdnoreturn: fix for Cygwin References: <4260817 DOT MvLg4Vb6y4 AT omega> <4e8c3f47-fb4b-eb8d-12d9-6ad40e219279 AT redhat DOT com> In-Reply-To: <4e8c3f47-fb4b-eb8d-12d9-6ad40e219279 AT redhat DOT com> --aLRGPfk5wQjp90KTOn2eRsHQ86cufFlbM Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable 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" -----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--