Merge from vendor branch TCPDUMP:
[dragonfly.git] / contrib / gcc / toplev.h
1 /* toplev.h - Various declarations for functions found in toplev.c
2    Copyright (C) 1998, 1999 Free Software Foundation, Inc.
3
4 This file is part of GNU CC.
5
6 GNU CC is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
10
11 GNU CC is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with GNU CC; see the file COPYING.  If not, write to
18 the Free Software Foundation, 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA.  */
20
21 #ifndef __GCC_TOPLEV_H__
22 #define __GCC_TOPLEV_H__
23
24 #ifdef ANSI_PROTOTYPES
25 union tree_node;
26 struct rtx_def;
27 #endif
28
29 extern int read_integral_parameter      PROTO ((const char *, const char *,
30                                                 const int));
31 extern int count_error                  PROTO ((int));
32 extern void strip_off_ending            PROTO ((char *, int));
33 extern void print_time                  PROTO ((const char *, int));
34 extern void debug_start_source_file     PROTO ((char *));
35 extern void debug_end_source_file       PROTO ((unsigned));
36 extern void debug_define                PROTO ((unsigned, char *));
37 extern void debug_undef                 PROTO ((unsigned, char *));
38 extern void fatal                       PVPROTO ((const char *, ...))
39   ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
40 extern void fatal_io_error              PROTO ((const char *))
41   ATTRIBUTE_NORETURN;
42 extern void pfatal_with_name            PROTO ((const char *))
43   ATTRIBUTE_NORETURN;
44 extern void fatal_insn_not_found        PROTO ((struct rtx_def *))
45   ATTRIBUTE_NORETURN;
46 extern void fatal_insn                  PVPROTO ((const char *,
47                                                   struct rtx_def *, ...))
48   ATTRIBUTE_PRINTF(1, 3) ATTRIBUTE_NORETURN;
49 extern void warning                     PVPROTO ((const char *, ...))
50                                                 ATTRIBUTE_PRINTF_1;
51 extern void error                       PVPROTO ((const char *, ...))
52                                                 ATTRIBUTE_PRINTF_1;
53 extern void pedwarn                     PVPROTO ((const char *, ...))
54                                                 ATTRIBUTE_PRINTF_1;
55 extern void pedwarn_with_file_and_line  PVPROTO ((const char *, int,
56                                                   const char *, ...))
57   ATTRIBUTE_PRINTF_3;
58 extern void warning_with_file_and_line  PVPROTO ((const char *, int,
59                                                   const char *, ...))
60   ATTRIBUTE_PRINTF_3;
61 extern void error_with_file_and_line    PVPROTO ((const char *, int,
62                                                   const char *, ...))
63   ATTRIBUTE_PRINTF_3;
64 extern void sorry                       PVPROTO ((const char *, ...))
65   ATTRIBUTE_PRINTF_1;
66 extern void really_sorry                PVPROTO((const char *, ...))
67   ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
68 extern void default_print_error_function PROTO ((const char *));
69 extern void report_error_function       PROTO ((const char *));
70
71 extern void rest_of_decl_compilation    PROTO ((union tree_node *,
72                                                 const char *, int, int));
73 extern void rest_of_type_compilation    PROTO ((union tree_node *, int));
74 extern void rest_of_compilation         PROTO ((union tree_node *));
75
76 /* The *_with_decl functions aren't suitable for ATTRIBUTE_PRINTF. */
77 extern void pedwarn_with_decl           PVPROTO ((union tree_node *,
78                                                   const char *, ...));
79 extern void warning_with_decl           PVPROTO ((union tree_node *,
80                                                   const char *, ...));
81 extern void error_with_decl             PVPROTO ((union tree_node *,
82                                                   const char *, ...));
83
84 extern void announce_function           PROTO ((union tree_node *));
85
86 extern void error_for_asm               PVPROTO((struct rtx_def *,
87                                                  const char *, ...))
88   ATTRIBUTE_PRINTF_2;
89 extern void warning_for_asm             PVPROTO((struct rtx_def *,
90                                                  const char *, ...))
91   ATTRIBUTE_PRINTF_2;
92 #if defined (_JBLEN) || defined (setjmp)
93 extern void set_float_handler PROTO((jmp_buf));
94 extern int push_float_handler PROTO((jmp_buf, jmp_buf));
95 extern void pop_float_handler PROTO((int, jmp_buf));
96 #endif
97 extern int do_float_handler PROTO((void (*) (PTR), PTR));
98
99 #ifdef BUFSIZ
100 extern void output_quoted_string        PROTO ((FILE *, const char *));
101 extern void output_file_directive       PROTO ((FILE *, const char *));
102 #endif
103
104 extern void fancy_abort                 PROTO ((void)) ATTRIBUTE_NORETURN;
105 extern void do_abort                    PROTO ((void)) ATTRIBUTE_NORETURN;
106 extern void botch                       PROTO ((const char *))
107   ATTRIBUTE_NORETURN;
108
109 #ifdef BUFSIZ
110 extern void fnotice                     PROTO ((FILE *, const char *, ...))
111   ATTRIBUTE_PRINTF_2;
112 #endif
113
114 #undef trim_filename
115 extern const char *trim_filename        PROTO ((const char *));
116 extern int wrapup_global_declarations   PROTO ((union tree_node **, int));
117 extern void check_global_declarations   PROTO ((union tree_node **, int));
118 #endif /* __GCC_TOPLEV_H */