| /* Declarations for error-reporting facilities. |
| |
| Copyright (C) 1986-2021 Free Software Foundation, Inc. |
| |
| This file is part of GDB. |
| |
| This program is free software; you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation; either version 3 of the License, or |
| (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
| |
| #ifndef COMMON_ERRORS_H |
| #define COMMON_ERRORS_H |
| |
| /* A problem was detected, but the requested operation can still |
| proceed. A warning message is constructed using a printf- or |
| vprintf-style argument list. The function "vwarning" must be |
| provided by the client. */ |
| |
| extern void warning (const char *fmt, ...) |
| ATTRIBUTE_PRINTF (1, 2); |
| |
| extern void vwarning (const char *fmt, va_list args) |
| ATTRIBUTE_PRINTF (1, 0); |
| |
| /* A non-predictable, non-fatal error was detected. The requested |
| operation cannot proceed. An error message is constructed using |
| a printf- or vprintf-style argument list. These functions do not |
| return. The function "verror" must be provided by the client. */ |
| |
| 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); |
| |
| /* An internal error was detected. Internal errors indicate |
| programming errors such as assertion failures, as opposed to |
| more general errors beyond the application's control. These |
| functions do not return. An error message is constructed using |
| a printf- or vprintf-style argument list. FILE and LINE |
| indicate the file and line number where the programming error |
| was detected. The function "internal_verror" must be provided |
| by the client. */ |
| |
| 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); |
| |
| /* An internal problem was detected, but the requested operation can |
| still proceed. Internal warnings indicate programming errors as |
| opposed to more general issues beyond the application's control. |
| A warning message is constructed using a printf- or vprintf-style |
| argument list. The function "internal_vwarning" must be provided |
| by the client. */ |
| |
| extern void internal_warning (const char *file, int line, |
| const char *fmt, ...) |
| ATTRIBUTE_PRINTF (3, 4); |
| |
| extern void internal_vwarning (const char *file, int line, |
| const char *fmt, va_list args) |
| ATTRIBUTE_PRINTF (3, 0); |
| |
| |
| /* Like "error", but the error message is constructed by combining |
| STRING with the system error message for errno. This function does |
| not return. This function must be provided by the client. */ |
| |
| extern void perror_with_name (const char *string) ATTRIBUTE_NORETURN; |
| |
| /* Call this function to handle memory allocation failures. This |
| function does not return. This function must be provided by the |
| client. */ |
| |
| extern void malloc_failure (long size) ATTRIBUTE_NORETURN; |
| |
| /* Flush stdout and stderr. Must be provided by the client. */ |
| |
| extern void flush_streams (); |
| |
| #endif /* COMMON_ERRORS_H */ |