]> gcc.gnu.org Git - gcc.git/blame - gcc/toplev.h
alpha.h (TARGET_SWITCHES): Turn on MASK_EXPLICIT_RELOCS if the assembler supports it.
[gcc.git] / gcc / toplev.h
CommitLineData
5f6da302 1/* toplev.h - Various declarations for functions found in toplev.c
400500c4 2 Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
0e6f0670 3
1322177d 4This file is part of GCC.
0e6f0670 5
1322177d
LB
6GCC is free software; you can redistribute it and/or modify it under
7the terms of the GNU General Public License as published by the Free
8Software Foundation; either version 2, or (at your option) any later
9version.
0e6f0670 10
1322177d
LB
11GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12WARRANTY; without even the implied warranty of MERCHANTABILITY or
13FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14for more details.
0e6f0670
JL
15
16You should have received a copy of the GNU General Public License
1322177d
LB
17along with GCC; see the file COPYING. If not, write to the Free
18Software Foundation, 59 Temple Place - Suite 330, Boston, MA
1902111-1307, USA. */
5f6da302 20
88657302
RH
21#ifndef GCC_TOPLEV_H
22#define GCC_TOPLEV_H
5f6da302 23
5148a72b 24#ifdef ANSI_PROTOTYPES
97263b8c 25union tree_node;
aa7ad670 26struct rtx_def;
97263b8c
MH
27#endif
28
6f5ef761
GDR
29/* If non-NULL, return one past-the-end of the matching SUBPART of
30 the WHOLE string. */
31#define skip_leading_substring(whole, part) \
32 (strncmp (whole, part, strlen (part)) ? NULL : whole + strlen (part))
33
8ac61af7 34extern int toplev_main PARAMS ((int, char **));
58782098 35extern int read_integral_parameter PARAMS ((const char *, const char *,
192babfd 36 const int));
58782098
KG
37extern int count_error PARAMS ((int));
38extern void strip_off_ending PARAMS ((char *, int));
77a02dba 39extern void print_time PARAMS ((const char *, long));
fce687f8 40extern const char *trim_filename PARAMS ((const char *));
400500c4 41extern void internal_error PARAMS ((const char *, ...))
400500c4
RK
42 ATTRIBUTE_NORETURN;
43extern void fatal_io_error PARAMS ((const char *, ...))
400500c4 44 ATTRIBUTE_NORETURN;
58782098 45extern void _fatal_insn_not_found PARAMS ((struct rtx_def *,
987009bf
ZW
46 const char *, int,
47 const char *))
400500c4 48 ATTRIBUTE_NORETURN;
58782098 49extern void _fatal_insn PARAMS ((const char *,
987009bf
ZW
50 struct rtx_def *,
51 const char *, int,
52 const char *))
400500c4 53 ATTRIBUTE_NORETURN;
987009bf 54
987009bf 55#define fatal_insn(msgid, insn) \
fbfc1192 56 _fatal_insn (msgid, insn, __FILE__, __LINE__, __FUNCTION__)
987009bf 57#define fatal_insn_not_found(insn) \
fbfc1192
ZW
58 _fatal_insn_not_found (insn, __FILE__, __LINE__, __FUNCTION__)
59
749ced52
ZW
60/* None of these functions are suitable for ATTRIBUTE_PRINTF, because
61 each language front end can extend them with its own set of format
62 specifiers. */
63extern void warning PARAMS ((const char *, ...));
64extern void error PARAMS ((const char *, ...));
400500c4 65extern void fatal_error PARAMS ((const char *, ...))
749ced52
ZW
66 ATTRIBUTE_NORETURN;
67extern void pedwarn PARAMS ((const char *, ...));
58782098 68extern void pedwarn_with_file_and_line PARAMS ((const char *, int,
749ced52 69 const char *, ...));
58782098 70extern void warning_with_file_and_line PARAMS ((const char *, int,
749ced52 71 const char *, ...));
58782098 72extern void error_with_file_and_line PARAMS ((const char *, int,
749ced52
ZW
73 const char *, ...));
74extern void sorry PARAMS ((const char *, ...));
58782098 75extern void report_error_function PARAMS ((const char *));
5f6da302 76
58782098 77extern void rest_of_decl_compilation PARAMS ((union tree_node *,
87e11268 78 const char *, int, int));
58782098
KG
79extern void rest_of_type_compilation PARAMS ((union tree_node *, int));
80extern void rest_of_compilation PARAMS ((union tree_node *));
87e11268 81
58782098 82extern void pedwarn_with_decl PARAMS ((union tree_node *,
400500c4 83 const char *, ...));
58782098 84extern void warning_with_decl PARAMS ((union tree_node *,
400500c4 85 const char *, ...));
58782098 86extern void error_with_decl PARAMS ((union tree_node *,
400500c4 87 const char *, ...));
87e11268 88
58782098 89extern void announce_function PARAMS ((union tree_node *));
5f6da302 90
58782098 91extern void error_for_asm PARAMS ((struct rtx_def *,
749ced52 92 const char *, ...));
58782098 93extern void warning_for_asm PARAMS ((struct rtx_def *,
749ced52 94 const char *, ...));
58782098 95extern int do_float_handler PARAMS ((void (*) (PTR), PTR));
50b2596f
KG
96
97#ifdef BUFSIZ
58782098
KG
98extern void output_quoted_string PARAMS ((FILE *, const char *));
99extern void output_file_directive PARAMS ((FILE *, const char *));
50b2596f 100#endif
58782098
KG
101extern void do_abort PARAMS ((void)) ATTRIBUTE_NORETURN;
102extern void botch PARAMS ((const char *))
87e11268 103 ATTRIBUTE_NORETURN;
9a8b0889 104
fa6ac85e 105#ifdef BUFSIZ
749ced52
ZW
106 /* N.B. Unlike all the others, fnotice is just gettext+fprintf, and
107 therefore it can have ATTRIBUTE_PRINTF. */
58782098 108extern void fnotice PARAMS ((FILE *, const char *, ...))
400500c4 109 ATTRIBUTE_PRINTF_2;
fa6ac85e 110#endif
644f3d7e 111
58782098
KG
112extern int wrapup_global_declarations PARAMS ((union tree_node **, int));
113extern void check_global_declarations PARAMS ((union tree_node **, int));
7adfcfed
KG
114
115extern const char *progname;
b7442fb5 116extern const char *dump_base_name;
c6991660 117
2a967f3d
NB
118/* The hashtable, so that the C front ends can pass it to cpplib. */
119extern struct ht *ident_hash;
120
de6c5979
BL
121/* These functions can be used by targets to set the flags originally
122 implied by -ffast-math and -fno-fast-math. */
123
124extern void set_fast_math_flags PARAMS ((void));
125extern void set_no_fast_math_flags PARAMS ((void));
126
d6684bc8
KG
127/* The following functions accept a wide integer argument. Rather
128 than having to cast on every function call, we use a macro instead. */
129
130#ifndef exact_log2
131#define exact_log2(N) exact_log2_wide ((unsigned HOST_WIDE_INT) (N))
132#define floor_log2(N) floor_log2_wide ((unsigned HOST_WIDE_INT) (N))
133#endif
134extern int exact_log2_wide PARAMS ((unsigned HOST_WIDE_INT));
135extern int floor_log2_wide PARAMS ((unsigned HOST_WIDE_INT));
136
88657302 137#endif /* ! GCC_TOPLEV_H */
This page took 1.102581 seconds and 5 git commands to generate.