X-Recipient: archive-cygwin@delorie.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=XHZ7
	Y2dEZtQcKlBklvipk2fSZ5LdShATBS7732maa+0BLwEMIy9w2HJuthCbIxXG3Q9n
	Q7jCDx+T8AuzNJwOXoVlfOZqFw2Qbkyat8/wtwJRqujBmrawbikyWDjIMpeqDk9j
	fC3/8UO8O4YI0IiYjF8vm+zPVCMeaX5PISUh14g=
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=dTtsgdPF/R
	4lzK1pXalPTIzCfV0=; b=qvj/tWLaaPkN6ZELUrqxpEAvR8Nt7IxH5IC7j6VeCM
	Qnm0ZFFl62IZ3U15j2Nwf62avgakmsls19JVm1bn3+QH58d7sR7JFfOhSjNaOuqJ
	bbaRTbeomoekG9sf4RgiQ4bK3nUVIbU6qkZBsqoe9v/Fq4SWcskF2ZNrnvI95Ym8
	E=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.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=bruno, Bruno, HTo:U*bug-gnulib
X-HELO: mx1.redhat.com
DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com EFF956908E
Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=eblake@redhat.com
Subject: Re: stdnoreturn: fix for Cygwin
To: Bruno Haible <bruno@clisp.org>, bug-gnulib@gnu.org,
        The Cygwin Mailing List <cygwin@cygwin.com>
References: <4260817.MvLg4Vb6y4@omega>
From: Eric Blake <eblake@redhat.com>
Openpgp: url=http://people.redhat.com/eblake/eblake.gpg
Message-ID: <4e8c3f47-fb4b-eb8d-12d9-6ad40e219279@redhat.com>
Date: Wed, 16 Aug 2017 19:59:55 -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: <4260817.MvLg4Vb6y4@omega>
Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="EhUPqkkSTLAGpmSr1xEpQAMD5lIMoGKT8"
X-IsSubscribed: yes

--EhUPqkkSTLAGpmSr1xEpQAMD5lIMoGKT8
Content-Type: multipart/mixed; boundary="7KNKfwQlrC6UICv24IicVRKHU19E3K8K6";
 protected-headers="v1"
From: Eric Blake <eblake@redhat.com>
To: Bruno Haible <bruno@clisp.org>, bug-gnulib@gnu.org,
 The Cygwin Mailing List <cygwin@cygwin.com>
Message-ID: <4e8c3f47-fb4b-eb8d-12d9-6ad40e219279@redhat.com>
Subject: Re: stdnoreturn: fix for Cygwin
References: <4260817.MvLg4Vb6y4@omega>
In-Reply-To: <4260817.MvLg4Vb6y4@omega>


--7KNKfwQlrC6UICv24IicVRKHU19E3K8K6
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

Adding cygwin list...

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:
>=20
> /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)));

> +
> +   Similarly, on Cygwin, standard include files contain declarations like
> +     void __cdecl abort (void) __attribute__ ((noreturn));
> +   "#define noreturn _Noreturn" would cause this declaration to be rewri=
tten
> +   to the invalid
> +     void __cdecl abort (void) __attribute__ ((__attribute__ ((__noretur=
n__))));

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.

I'll look into patching Cygwin to fix all barename attributes I can find
that should be __barename__ instead.

--=20
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


--7KNKfwQlrC6UICv24IicVRKHU19E3K8K6--

--EhUPqkkSTLAGpmSr1xEpQAMD5lIMoGKT8
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/

iQEzBAEBCAAdFiEEccLMIrHEYCkn0vOqp6FrSiUnQ2oFAlmU6osACgkQp6FrSiUn
Q2qKJwf/XMQLWhRYGsUETLypQfeVO/8stWMalB4UZVx+SgJdei0mBZpFpb21uV+j
x3S6zX+xBFZSCCIlgmugk7MOc4tLkC5S2zKzllyzSkhwm/lYxZij2ph2eVRSWWgx
GkbCZjM8ebkRxZYtDI+9tpg27x0uPyEG5vN3aiKrVnYDc8yYNutKaLZW14j7v8dm
9ZszSN5RcwgW1t0TlHQRi64s5tCXEHRKWtxKhaio+7uDZ+YOd1mKs6H5OFYLFRcm
M4piJVSkLdjuRZIDMTM9vgvyZEBbuc5zSPN4U/rzvjMZ7WO1E6WjT8ASlcSGDYsS
zZnLqaZ6r2R+M2d2fxIeOdjdAQKX7g==
=K5rp
-----END PGP SIGNATURE-----

--EhUPqkkSTLAGpmSr1xEpQAMD5lIMoGKT8--
