Annotation of src/usr.bin/make/error.h, Revision 1.13
1.6 espie 1: #ifndef ERROR_H
2: #define ERROR_H
1.13 ! guenther 3: /* $OpenBSD: error.h,v 1.12 2012/09/21 07:55:20 espie Exp $ */
1.1 espie 4:
1.6 espie 5: /*
6: * Copyright (c) 2001 Marc Espie.
1.1 espie 7: *
8: * Redistribution and use in source and binary forms, with or without
9: * modification, are permitted provided that the following conditions
10: * are met:
11: * 1. Redistributions of source code must retain the above copyright
12: * notice, this list of conditions and the following disclaimer.
13: * 2. Redistributions in binary form must reproduce the above copyright
14: * notice, this list of conditions and the following disclaimer in the
15: * documentation and/or other materials provided with the distribution.
16: *
1.6 espie 17: * THIS SOFTWARE IS PROVIDED BY THE OPENBSD PROJECT AND CONTRIBUTORS
18: * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBSD
21: * PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27: * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28: */
29: /* Error Print a tagged error message. The global
30: * MAKE variable must have been defined. This
31: * takes a format string and two optional
32: * arguments for it.
33: *
34: * Fatal Print an error message and exit. Also takes
35: * a format string and two arguments.
36: *
37: * Punt Aborts all jobs and exits with a message. Also
38: * takes a format string and two arguments.
1.1 espie 39: *
1.6 espie 40: * Finish Finish things up by printing the number of
1.7 mpech 41: * errors which occurred, as passed to it, and
1.6 espie 42: * exiting.
1.1 espie 43: */
1.13 ! guenther 44: extern void Error(const char *, ...)
! 45: __attribute__((__format__ (printf, 1, 2)));
! 46: extern void Fatal(const char *, ...)
! 47: __attribute__((__format__ (printf, 1, 2)));
! 48: extern void Punt(const char *, ...)
! 49: __attribute__((__format__ (printf, 1, 2)));
1.12 espie 50: extern void Finish(void);
1.1 espie 51:
1.6 espie 52: /*
53: * Error levels for parsing. PARSE_FATAL means the process cannot continue
54: * once the makefile has been parsed. PARSE_WARNING means it can. Passed
55: * as the first argument to Parse_Error.
56: */
57: #define PARSE_WARNING 2
58: #define PARSE_FATAL 1
1.13 ! guenther 59: extern void Parse_Error(int, const char *, ...)
! 60: __attribute__((__format__ (printf, 2, 3)));
1.6 espie 61: extern int fatal_errors;
1.8 espie 62: /* Needed for fatal errors: we have to know whether we must abort other jobs
63: * or not */
64: extern bool supervise_jobs;
1.6 espie 65: #endif