Home | History | Annotate | Download | only in src
      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