From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jack Howarth Newsgroups: gmane.lisp.guile.bugs Subject: bug#15798: Bad variable name "noreturn" in libguile/throw.h Date: Mon, 4 Nov 2013 20:48:32 -0500 Message-ID: <20131105014832.GA25389@bromo.med.uc.edu> References: <87r4avn06a.fsf@netris.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1383616153 10527 80.91.229.3 (5 Nov 2013 01:49:13 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 5 Nov 2013 01:49:13 +0000 (UTC) To: 15798@debbugs.gnu.org, mhw@netris.org, boards@gmail.com Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Tue Nov 05 02:49:18 2013 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VdVld-0000J9-0u for guile-bugs@m.gmane.org; Tue, 05 Nov 2013 02:49:17 +0100 Original-Received: from localhost ([::1]:52807 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VdVlc-0007G9-Dp for guile-bugs@m.gmane.org; Mon, 04 Nov 2013 20:49:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56660) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VdVlU-00078v-5m for bug-guile@gnu.org; Mon, 04 Nov 2013 20:49:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VdVlO-0000HE-M6 for bug-guile@gnu.org; Mon, 04 Nov 2013 20:49:08 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:49062) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VdVlO-0000H3-JE for bug-guile@gnu.org; Mon, 04 Nov 2013 20:49:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1VdVlO-0007rJ-2w for bug-guile@gnu.org; Mon, 04 Nov 2013 20:49:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Jack Howarth Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Tue, 05 Nov 2013 01:49:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15798 X-GNU-PR-Package: guile X-GNU-PR-Keywords: Original-Received: via spool by 15798-submit@debbugs.gnu.org id=B15798.138361612130176 (code B ref 15798); Tue, 05 Nov 2013 01:49:01 +0000 Original-Received: (at 15798) by debbugs.gnu.org; 5 Nov 2013 01:48:41 +0000 Original-Received: from localhost ([127.0.0.1]:34848 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VdVl3-0007qe-7Q for submit@debbugs.gnu.org; Mon, 04 Nov 2013 20:48:41 -0500 Original-Received: from bromo.med.uc.edu ([129.137.3.146]:53191) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VdVl0-0007qR-KF for 15798@debbugs.gnu.org; Mon, 04 Nov 2013 20:48:39 -0500 Original-Received: from bromo.med.uc.edu (localhost.localdomain [127.0.0.1]) by bromo.med.uc.edu (Postfix) with ESMTP id ABC37B0041; Mon, 4 Nov 2013 20:48:32 -0500 (EST) Original-Received: (from howarth@localhost) by bromo.med.uc.edu (8.14.3/8.14.3/Submit) id rA51mWbo025475; Mon, 4 Nov 2013 20:48:32 -0500 Content-Disposition: inline In-Reply-To: <87r4avn06a.fsf@netris.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:7333 Archived-At: On Mon, Nov 04, 2013 at 07:48:29PM -0500, Mark H Weaver wrote: > Matt Sicker writes: > > In the function scm_ithrow, the parameter "int noreturn" is given. Now > > this works fine normally, but if stdnoreturn.h is included before > > throw.h (or libguile.h more likely), then this causes a compilation > > error. In throw.c, noreturn is even marked as an unused variable, so > > this is even more annoying! I recommend using "no_return" to prevent > > any namespace conflicts. > > Fixed in stable-2.0. Thanks for the report. > > http://git.savannah.gnu.org/gitweb/?p=guile.git;a=commit;h=36c40440078c005cd5e239cca487d29f6f60007d > > Mark > > What is the motivation to change from attribute (noreturn) to attribute (__noreturn__). Xcode 5.0 has /Library/Developer/CommandLineTools/usr/lib/clang/5.0/include/stdnoreturn.h with... /*===---- stdnoreturn.h - Standard header for noreturn macro ---------------=== * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. * *===-----------------------------------------------------------------------=== */ #ifndef __STDNORETURN_H #define __STDNORETURN_H #define noreturn _Noreturn #define __noreturn_is_defined 1 #endif /* __STDNORETURN_H */ I only see the use of __attribute__((__noreturn__)) in /usr/include/c++/4.2.1/ on darwin13 (aka libstdc++). The /Library/Developer/CommandLineTools/usr/lib/c++/v1 directory for libc++ only shows the usage of __attribute__((noreturn)) and not any usages of __attribute__((__noreturn__)). Jack ps Also see http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15807.