]> git.saurik.com Git - bison.git/blame - src/complain.h
Don't use m4_divert since it makes m4_divert_push and m4_divert_pop
[bison.git] / src / complain.h
CommitLineData
a0f6b076 1/* Declaration for error-reporting function for Bison.
23eb2a69 2 Copyright (C) 2000, 2001, 2002, 2006 Free Software Foundation, Inc.
a0f6b076
AD
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
0fb669f9 16 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
a0f6b076
AD
17 USA. */
18
19#ifndef COMPLAIN_H_
ee000ba4 20# define COMPLAIN_H_ 1
a0f6b076 21
ee000ba4
AD
22# include "location.h"
23
24# ifdef __cplusplus
a0f6b076 25extern "C" {
ee000ba4 26# endif
a0f6b076 27
23eb2a69 28/** Informative messages, but we proceed. */
a0f6b076 29
81ebdef9 30void warn (char const *format, ...)
52489d44
AD
31 __attribute__ ((__format__ (__printf__, 1, 2)));
32
81ebdef9 33void warn_at (location loc, char const *format, ...)
e9955c83 34 __attribute__ ((__format__ (__printf__, 2, 3)));
a0f6b076 35
23eb2a69 36/** An error, but we continue and die later. */
a0f6b076 37
81ebdef9 38void complain (char const *format, ...)
52489d44
AD
39 __attribute__ ((__format__ (__printf__, 1, 2)));
40
81ebdef9 41void complain_at (location loc, char const *format, ...)
e9955c83 42 __attribute__ ((__format__ (__printf__, 2, 3)));
a0f6b076 43
23eb2a69 44/** A fatal error, causing immediate exit. */
a0f6b076 45
81ebdef9 46void fatal (char const *format, ...)
ec88357a 47 __attribute__ ((__noreturn__, __format__ (__printf__, 1, 2)));
e9955c83 48
81ebdef9 49void fatal_at (location loc, char const *format, ...)
ec88357a 50 __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3)));
a0f6b076 51
23eb2a69 52/** Whether an error was reported. */
ec88357a 53extern bool complaint_issued;
a0f6b076 54
ee000ba4 55# ifdef __cplusplus
a0f6b076 56}
ee000ba4 57# endif
a0f6b076
AD
58
59#endif /* !COMPLAIN_H_ */