www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2016/05/30/12:51:48

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
:content-transfer-encoding; q=dns; s=default; b=BDYNpt+KIqf3OQpX
zdjlZFuvd6y7w7Kni3Kh0wMeS8a6rvdqRV2gQCaYARi8TKkQ5wS3GkP9N4CaPonr
aWiEsX2YmMiDIb21INAj0SsA+SKrY2qIxQJiNFGXW32axnJd6ZzFDjJIPyrdWldp
/pz2DF4tBhUZWIIeaSfEwu6w1aY=
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
:content-transfer-encoding; s=default; bh=hVnq8jiOJNAXZtF/Ww3qoc
zENeo=; b=kU/pvZzYlKn9rkqcRPqWm1jWRs5U7vwzuujyGpPNNhcJGF7lu0Bc2V
4LaEQK7WHTaSQYf2O49ZZkD2H1kTaS1+lVI7a7jfCP5GXGBr1mPH2L5v/cuGCXwb
IgAK6BIrcjwx4n+A44QwpyM94Z87F2xp/3+pM3vR6X/SkMM7/Ns1Y=
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=-0.0 required=5.0 tests=AWL,BAYES_20,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=30052016, 30.05.2016, buried, everybody
X-HELO: mailout07.t-online.de
Subject: Re: lint kills _Noreturn
To: cygwin AT cygwin DOT com
References: <6fef0097-c076-2691-c4f9-2af5a050a17e AT cornell DOT edu> <86fut07qha DOT fsf AT gmail DOT com> <9c66686a-0af8-dbfe-7804-797df8aad7c6 AT cornell DOT edu> <20160530084454 DOT GF12694 AT calimero DOT vinschen DOT de>
From: =?UTF-8?Q?Hans-Bernhard_Br=c3=b6ker?= <HBBroeker AT t-online DOT de>
Message-ID: <69fb49df-0c48-408e-b21b-924a3217becc@t-online.de>
Date: Mon, 30 May 2016 18:51:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0
MIME-Version: 1.0
In-Reply-To: <20160530084454.GF12694@calimero.vinschen.de>
X-IsSubscribed: yes

Am 30.05.2016 um 10:44 schrieb Corinna Vinschen:

> Our cdefs.h is taken almost verbatim from FreeBSD, and FreeBSD's
> cdefs.h uses the exact same expressions chcking for lint.

That means almost nothing.  The BSD guy might have a good, 
platform-specific reason to assign a specific meaning to the macro 
"lint" that's buried in their history, and doesn't even apply to Cygwin. 
  And of course like everybody else, they could simply have got it wrong.

 > Don't set lint.

It's not that simple.

On the one hand the global name "lint" is clearly in the user's name 
space.  If an implementation wants to use a macro that means something 
special, and which user code is not supposed to meddle with, that's what 
the language has reserved name space patterns for (it should then be 
__lint or __LINT).

OTOH the original lint, although it's a tool that's used to check for 
violations of such rules among others, unfortunately used to violate 
those same rules by predefining a global macro "lint", and existing code 
still relies on that property to hide non-standard constructs like that 
_Noreturn from lint.

Disappointingly the more modern implementations of lint still get this 
wrong, or at least not quite right, in different ways:  splint documents 
"S_SPLINT_S", which at least looks like a macro, but is still in user 
namespace.  Gimpel's ones have "_lint", which is better than "lint", but 
should really be "__lint".


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


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