From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10832 invoked by alias); 18 Jul 2014 10:44:52 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 10811 invoked by uid 89); 18 Jul 2014 10:44:52 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 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 Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Fri, 18 Jul 2014 10:44:51 +0000 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s6IAinHB000325 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 18 Jul 2014 06:44:49 -0400 Received: from blade.nx (ovpn-116-94.ams2.redhat.com [10.36.116.94]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s6IAimGw027021; Fri, 18 Jul 2014 06:44:48 -0400 Received: by blade.nx (Postfix, from userid 1000) id 855E52640C7; Fri, 18 Jul 2014 11:44:47 +0100 (BST) Date: Fri, 18 Jul 2014 11:23:00 -0000 From: Gary Benson To: Doug Evans Cc: Pedro Alves , gdb-patches , Tom Tromey Subject: Re: [PATCH 01/15 v3] Introduce common/errors.h Message-ID: <20140718104447.GA21385@blade.nx> References: <1405520243-17282-1-git-send-email-gbenson@redhat.com> <1405520243-17282-2-git-send-email-gbenson@redhat.com> <20140717134728.GB31916@blade.nx> <53C7E6AB.4080703@redhat.com> <20140717153957.GA1921@blade.nx> <53C7F5D6.6060102@redhat.com> <20140718090630.GA17917@blade.nx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-IsSubscribed: yes X-SW-Source: 2014-07/txt/msg00493.txt.bz2 Doug Evans wrote: > On Fri, Jul 18, 2014 at 10:06 AM, Gary Benson wrote: > > [...] > > /* Throw a fatal error, constructing the message using a printf-style > > format string and a printf- or vprintf-style argument list. This > > function does not return. The application will exit. */ > > > > extern void fatal (const char *fmt, ...) > > ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2); > > > > extern void vfatal (const char *fmt, va_list args) > > ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 0); > > [...] > > Remember gdb doesn't exit on fatal(). > fatal() in gdb is essentially ^c (quit() calls fatal()!). > > Can I repeat my request to please document this in the function > comment. I wanted to avoid putting implementation details here, but I see this isn't going to happen. Is the attached ok? Cheers, Gary -- /* Display a warning message to the user. The message is constructed using a printf-style format string and a printf- or vprintf-style argument list. */ extern void warning (const char *fmt, ...) ATTRIBUTE_PRINTF (1, 2); extern void vwarning (const char *fmt, va_list args) ATTRIBUTE_PRINTF (1, 0); /* Throw a generic error, constructing the message using a printf- style format string and a printf- or vprintf-style argument list. This function does not return. */ extern void error (const char *fmt, ...) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2); extern void verror (const char *fmt, va_list args) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 0); /* Throw a generic error, constructing the message by combining STRING with the system error message for errno. This function does not return. */ extern void perror_with_name (const char *string) ATTRIBUTE_NORETURN; /* Throw a fatal error, constructing the message using a printf-style format string and a printf- or vprintf-style argument list. This function does not return. Fatal errors cause GDB to return to the command level. Fatal errors cause gdbserver to exit. */ extern void fatal (const char *fmt, ...) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2); extern void vfatal (const char *fmt, va_list args) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 0); /* Throw an internal error, constructing the message using a printf- style format string and a printf- or vprintf-style argument list. This function does not return. */ extern void internal_error (const char *file, int line, const char *fmt, ...) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (3, 4); extern void internal_verror (const char *file, int line, const char *fmt, va_list args) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (3, 0); /* A special case of internal error used to handle memory allocation failures. */ extern void malloc_failure (long size) ATTRIBUTE_NORETURN;