Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1765650AbXEYVoQ (ORCPT ); Fri, 25 May 2007 17:44:16 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1759135AbXEYVoH (ORCPT ); Fri, 25 May 2007 17:44:07 -0400 Received: from terminus.zytor.com ([192.83.249.54]:45578 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758932AbXEYVoE (ORCPT ); Fri, 25 May 2007 17:44:04 -0400 Message-ID: <4657589F.7050509@zytor.com> Date: Fri, 25 May 2007 14:43:59 -0700 From: "H. Peter Anvin" User-Agent: Thunderbird 2.0.0.0 (X11/20070419) MIME-Version: 1.0 To: "Robert P. J. Day" CC: Linux Kernel Mailing List , Ralf Baechle Subject: Re: [PATCH] MIPS: Transform old-style macros to newer "__noreturn" standard. References: <46572DAF.1000108@zytor.com> <46573B23.1090700@zytor.com> In-Reply-To: X-Enigmail-Version: 0.95.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 973 Lines: 29 Robert P. J. Day wrote: >> ... and declare functions as: >> >> __noreturn f(); >> >> ... which is the syntactially sane way of doing it. > > that may be, but keep in mind that gcc allows attributes to *follow* > the parameter list as well, and some people might prefer to do the > following: > > f() __noreturn; > > that would fail badly if you defined __noreturn as you suggest. That's equally moronic that saying that "some people might prefer to write 'f() void;'", which is what it's *EXACTLY* equivalent to. Yes, they might "prefer" it, but it's syntactically invalid and the compiler won't accept it. As it shouldn't. __noreturn here takes the syntactic place of the return type, because that's what it IS. -hpa - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/