1 /* Declaration for error-reporting function for Bison. 2 Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. 3 4 This program is free software; you can redistribute it and/or modify it 5 under the terms of the GNU General Public License as published by the 6 Free Software Foundation; either version 2, or (at your option) any 7 later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License 15 along with this program; if not, write to the Free Software 16 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 17 USA. */ 18 19 #ifndef COMPLAIN_H_ 20 # define COMPLAIN_H_ 1 21 22 # include "location.h" 23 24 # ifdef __cplusplus 25 extern "C" { 26 # endif 27 28 /* Informative messages, but we proceed. */ 29 30 void warn (char const *format, ...) 31 __attribute__ ((__format__ (__printf__, 1, 2))); 32 33 void warn_at (location loc, char const *format, ...) 34 __attribute__ ((__format__ (__printf__, 2, 3))); 35 36 /* Something bad happened, but let's continue and die later. */ 37 38 void complain (char const *format, ...) 39 __attribute__ ((__format__ (__printf__, 1, 2))); 40 41 void complain_at (location loc, char const *format, ...) 42 __attribute__ ((__format__ (__printf__, 2, 3))); 43 44 /* Something bad happened, and let's die now. */ 45 46 void fatal (char const *format, ...) 47 __attribute__ ((__noreturn__, __format__ (__printf__, 1, 2))); 48 49 void fatal_at (location loc, char const *format, ...) 50 __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))); 51 52 /* This variable is set each time `warn' is called. */ 53 extern bool warning_issued; 54 55 /* This variable is set each time `complain' is called. */ 56 extern bool complaint_issued; 57 58 # ifdef __cplusplus 59 } 60 # endif 61 62 #endif /* !COMPLAIN_H_ */ 63