From owner-svn-src-head@FreeBSD.ORG Sun Jun 21 16:17:31 2015 Return-Path: Delivered-To: svn-src-head@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 82821B83 for ; Sun, 21 Jun 2015 16:17:31 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from nm38-vm0.bullet.mail.bf1.yahoo.com (nm38-vm0.bullet.mail.bf1.yahoo.com [72.30.239.16]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2C6BAB38 for ; Sun, 21 Jun 2015 16:17:31 +0000 (UTC) (envelope-from pfg@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1434903052; bh=2qg63C6Z8mIo8Qzl4rVrH+SiQgZZav3Ldi4DDsBkIRk=; h=Date:From:To:CC:Subject:References:In-Reply-To:From:Subject; b=laJXBQKrAw9Ey0HfY2eNcZVYQIMZ9nzPqv7JfkKixyEFASzTkedcnI5dkf0+OvEZL6Bi8TrAgBKmFGhsUp6DCPH09y7iLRpr9fBAcru2uPWG8NkYLTeX8/lKXopmZp7WIiuD5UdRGX4MpnQ1Npp4/tNcY5gv5LxXsi0hlKlfHTYXXZh714qDEvJKpq+2isQCOjG9P5gsglmIlB1mLq3MY1poiiQcWK1+5+aIR+mxgisdugwwE3wJ3PGTKlKt3CWbrRA95GRe6WHBxnaRXhUVO9jVXB51uU71gGlZFmS20PRutLNMfGrTkmpnfJx4vckoljAVqp1zVUWAHyPmpN8DPw== Received: from [98.139.170.182] by nm38.bullet.mail.bf1.yahoo.com with NNFMP; 21 Jun 2015 16:10:52 -0000 Received: from [98.139.211.196] by tm25.bullet.mail.bf1.yahoo.com with NNFMP; 21 Jun 2015 16:10:52 -0000 Received: from [127.0.0.1] by smtp205.mail.bf1.yahoo.com with NNFMP; 21 Jun 2015 16:10:52 -0000 X-Yahoo-Newman-Id: 855087.19819.bm@smtp205.mail.bf1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: l.4Z67gVM1nCuGRwI4jyxy7vj5DAriBV58ypxmSOYmiDE4R 7rDdYYYg5Yz4ippAeKKPvIjzXjS0KDokhu2YOzvcy1pCFNTvcfzwd_H96qaF 5ohewuyNK8oy4nDYOTR2QB3EteYmO0GI65BaBukKRsN9ynswlHVO2xq.GwYa bUsRkY70IzRXNWNp9HE0LBKhP32_gP6VngSYki3FxX5wpsOnQOzZ1V5J6hjx wdneuzRCmrNbYmucDgSVwy7NZ6uZ2nicdZz4Iim5EAYaxuoZ.rjkOSlkspFv G8oVQjyv4XiZjXPGgpf75GEwgV1wcqt.EwPVG1nygomL5fLXPtGDY4.cmFZK FR1wKXp0Wl32Dojc5N.C8uIIbBQysN7xNHWwuVFfhmPYmjRnGLJek81lop3d ceVpiJWgGaST_XfuUEmaeqi8H8_dKnJ53XOOCWn9e6vWZPlQK3KVdEQ2Vris DhWqzrs0GXEz_Q9.h1QDobTSZFDQR10JO5S5IBoBo.VgWqg9gJu0OEO0yBL8 FnYI15H8_Uq5TB12zRSxEuqlrWed5o91Z X-Yahoo-SMTP: xcjD0guswBAZaPPIbxpWwLcp9Unf Message-ID: <5586E219.2010805@FreeBSD.org> Date: Sun, 21 Jun 2015 11:11:05 -0500 From: Pedro Giffuni User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Bruce Evans CC: Dimitry Andric , David Chisnall , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r268137 - head/sys/sys References: <201407020845.s628jRG5031824@svn.freebsd.org> <5BE3492F-86A0-4CE3-A27C-8DB5EB662C64@FreeBSD.org> <55842F16.5040608@FreeBSD.org> <20150620023835.N2562@besplex.bde.org> <55861046.4050501@FreeBSD.org> <20150621154332.U976@besplex.bde.org> <5586CBCE.2010608@FreeBSD.org> <20150622012426.S2603@besplex.bde.org> In-Reply-To: <20150622012426.S2603@besplex.bde.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Jun 2015 16:17:31 -0000 On 06/21/15 10:41, Bruce Evans wrote: > On Sun, 21 Jun 2015, Pedro Giffuni wrote: > >> On 06/21/15 01:09, Bruce Evans wrote: >>> On Sat, 20 Jun 2015, Pedro Giffuni wrote: >> * ... >>>> With the patch we would use: >>>> >>>> __Noreturn void >>>> foo(void) _dead2; >>>> >>>> Which is still ugly but C11-ish. >>> >>> That asks for the same problems as defining __weak. >>> >>> Why not just don't use _Noreturn? It is an unimprovement on the gcc >>> attribute. The attribute works at the beginning or end, while Noreturn >>> only works at the end. >> >> As I see it, newer (C11) software is likely to use _Noreturn in their >> headers > > We can define _Noreturn to support this (but possibly shouldn't). > > The newer software many be pure C11. Then it doesn't need any > definition, > and just doesn't compile with non-C11 compilers. > Well, the fact this we just do this in the tree and no one has bothered to "clean" the situation for older compilers just indicates that no one *cares* about older compilers. > If we defined _Noreturn, it would be to use it in non-C11 software, like > we do in stdlib.h. This is a fragile compatibility hack so it should > be avoided if possible. We can easily avoid it in our own headers by > not changing anything. Just use the old declaration, with __dead2 placed > at the end. Any reasonable implementation of __attribute__() must be > able > to support any new attribute that a new standard might add. > The thing is, why bother with gnuisms at all? I am personally OK with making it easier for everyone to use more modern constructs but I am not going out of my way to support gcc-1 or gcc-2. Let's just admit it: the build is basically broken for older compilers and no one cares enough to fix them. (Not ideal, just what we have). Pedro.