delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2014/07/31/00:22:30

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:message-id:date:from:mime-version:to:subject
:references:in-reply-to:content-type; q=dns; s=default; b=W0GF8H
/baXZ9lJsDvW1bOH/aaJAf0HD5gA3QRKLmYPq1tQ5ZV3txyhSSJZt33kxymrR2a5
HCLH38FW0OWoiMaCjLp8ykUxp2uo3f1jxO1xjFOi50lEanN1yIWIkYxCPliyB6BQ
sOeYptVYFDLwP/2/0DKajIqTrNARHsh3OwnAU=
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:message-id:date:from:mime-version:to:subject
:references:in-reply-to:content-type; s=default; bh=RG7Sl9W82p+v
KT7KX3VYoS+o4Mw=; b=nKBYIxBnmhWl0sTYALvLuvVv/UGpXBUmo83esY0hdMbJ
NjYQy9CrTK8phfv9970ahvbZQayDu+9Yz3a7FjA+Nx0zySqMWG1+WprwK9u0AXad
4Oo0kCRY9eQJNRlG7MMFoJojVe58ST7xq4erxLfWm05UHGiACvyxoWKNPvWXAvo=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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=-2.3 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2
X-HELO: mx1.redhat.com
Message-ID: <53D9C46E.8060109@redhat.com>
Date: Wed, 30 Jul 2014 22:22:06 -0600
From: Eric Blake <eblake AT redhat DOT com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: bug-gnulib AT gnu DOT org, The Cygwin Mailing List <cygwin AT cygwin DOT com>
Subject: Re: [PATCH] openat-die: use _Noreturn markup
References: <1406755527-26369-1-git-send-email-eblake AT redhat DOT com> <53D9BDAD DOT 3000504 AT redhat DOT com>
In-Reply-To: <53D9BDAD.3000504@redhat.com>
OpenPGP: url=http://people.redhat.com/eblake/eblake.gpg
X-IsSubscribed: yes

--W5Q5aDfTWxJB3s9UIHeLncAwLGRT9SJHi
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 07/30/2014 09:53 PM, Eric Blake wrote:

>=20
> Meanwhile, './gnulib-tool --test stdnoreturn' is failing on cygwin, so
> I'm trying to track down why.
>=20
> In file included from /usr/include/stdlib.h:11:0,
>                  from ../../gltests/test-stdnoreturn.c:23:
> ./../config.h:33:21: error: expected '(' before '__attribute__'
>  #  define _Noreturn __attribute__ ((__noreturn__))
>                      ^
>=20

Oh, I think I see the problem.  Pasting more of the error message:

/usr/include/stdlib.h:66:28: error: expected ',' or ';' before ')' token
 _VOID _EXFUN(abort,(_VOID) _ATTRIBUTE ((noreturn)));
                            ^

Looks like the cygwin headers are broken for misusing 'noreturn' instead
of __noreturn__ inside __attribute__; something that is easier to patch
in cygwin than work around in gnulib.

For more proof:

$ printf '#include <stdnoreturn.h>\n#include <stdlib.h>\n' \
  | gcc -xc -E - | grep abort
void __attribute__((__cdecl__)) abort (void) __attribute__ ((_Noreturn));
$ printf '#include <stdnoreturn.h>\n#include <stdlib.h>\n' \
  | gcc -xc -E - -D_Noreturn=3D'__attribute__((__noreturn__))' \
  | grep abort
void __attribute__((__cdecl__)) abort (void) __attribute__
((__attribute__((__noreturn__))));



--=20
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


--W5Q5aDfTWxJB3s9UIHeLncAwLGRT9SJHi
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Public key at http://people.redhat.com/eblake/eblake.gpg

iQEcBAEBCAAGBQJT2cRuAAoJEKeha0olJ0Nq8ZgH+wSxnXNc6J5tEqOA28mzNE+a
AdekhekjkBVZemKK9Hz0dlf05qwdYbnj826HNnOKI2K//64ki4I18h8th6nWgATn
8sxR0MMWYS6Ax8bVfTejNtcjYfQ986Oo3UJ68ALaPXJZZ4VNvYuYMUNv00RN3N2z
vshX72reaoBwBFRs5H0As+6N8PNi5b2OMBN99Lr7hCagrwWB6sTEv6NdD+dtbre2
Zyly0rqNlkT5SzOpy2UekysWvadPuGVpZ2I8RT3hBsnflXFnlyZvymLrNPnBAIF7
oV2N8x9eXrN0PChZt0++Uiq9px17pHf7a7Y1xQ39h563Ewdgc/0oqnKlt7O+eBA=
=qsyB
-----END PGP SIGNATURE-----

--W5Q5aDfTWxJB3s9UIHeLncAwLGRT9SJHi--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019