Commit 58782098 by Kaveh R. Ghazi Committed by Kaveh Ghazi

toplev.c: PROTO -> PARAMS.

        * toplev.c: PROTO -> PARAMS.
        * toplev.h: Likewise.
        * tree.c: Likewise.
        * tree.h: Likewise.
        * unroll.c: Likewise.
        * varasm.c: Likewise.
        * varray.c: Likewise.
        * varray.h: Likewise.

From-SVN: r31462
parent cdadb1dd
2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* toplev.c: PROTO -> PARAMS.
* toplev.h: Likewise.
* tree.c: Likewise.
* tree.h: Likewise.
* unroll.c: Likewise.
* varasm.c: Likewise.
* varray.c: Likewise.
* varray.h: Likewise.
2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* reload.c: PROTO -> PARAMS. * reload.c: PROTO -> PARAMS.
* reload.h: Likewise. * reload.h: Likewise.
* reload1.c: Likewise. * reload1.c: Likewise.
......
...@@ -149,35 +149,35 @@ extern char *version_string; ...@@ -149,35 +149,35 @@ extern char *version_string;
extern int size_directive_output; extern int size_directive_output;
extern tree last_assemble_variable_decl; extern tree last_assemble_variable_decl;
static void set_target_switch PROTO((const char *)); static void set_target_switch PARAMS ((const char *));
static const char *decl_name PROTO((tree, int)); static const char *decl_name PARAMS ((tree, int));
extern void set_fatal_function PROTO((void (*)(const char *, va_list))); extern void set_fatal_function PARAMS ((void (*)(const char *, va_list)));
static void float_signal PROTO((int)) ATTRIBUTE_NORETURN; static void float_signal PARAMS ((int)) ATTRIBUTE_NORETURN;
static void pipe_closed PROTO((int)) ATTRIBUTE_NORETURN; static void pipe_closed PARAMS ((int)) ATTRIBUTE_NORETURN;
#ifdef ASM_IDENTIFY_LANGUAGE #ifdef ASM_IDENTIFY_LANGUAGE
/* This might or might not be used in ASM_IDENTIFY_LANGUAGE. */ /* This might or might not be used in ASM_IDENTIFY_LANGUAGE. */
static void output_lang_identify PROTO((FILE *)) ATTRIBUTE_UNUSED; static void output_lang_identify PARAMS ((FILE *)) ATTRIBUTE_UNUSED;
#endif #endif
static void open_dump_file PROTO((const char *, const char *)); static void open_dump_file PARAMS ((const char *, const char *));
static void close_dump_file PROTO((void (*) (FILE *, rtx), rtx)); static void close_dump_file PARAMS ((void (*) (FILE *, rtx), rtx));
static void dump_rtl PROTO((const char *, tree, void (*) (FILE *, rtx), rtx)); static void dump_rtl PARAMS ((const char *, tree, void (*) (FILE *, rtx), rtx));
static void clean_dump_file PROTO((const char *)); static void clean_dump_file PARAMS ((const char *));
static void compile_file PROTO((char *)); static void compile_file PARAMS ((char *));
static void display_help PROTO ((void)); static void display_help PARAMS ((void));
static void mark_file_stack PROTO ((void *)); static void mark_file_stack PARAMS ((void *));
static void decode_d_option PROTO ((const char *)); static void decode_d_option PARAMS ((const char *));
static int decode_f_option PROTO ((const char *)); static int decode_f_option PARAMS ((const char *));
static int decode_W_option PROTO ((const char *)); static int decode_W_option PARAMS ((const char *));
static int decode_g_option PROTO ((const char *)); static int decode_g_option PARAMS ((const char *));
static unsigned independent_decode_option PROTO ((int, char **, unsigned)); static unsigned independent_decode_option PARAMS ((int, char **, unsigned));
static void print_version PROTO((FILE *, const char *)); static void print_version PARAMS ((FILE *, const char *));
static int print_single_switch PROTO((FILE *, int, int, const char *, static int print_single_switch PARAMS ((FILE *, int, int, const char *,
const char *, const char *, const char *, const char *,
const char *, const char *)); const char *, const char *));
static void print_switch_values PROTO((FILE *, int, int, const char *, static void print_switch_values PARAMS ((FILE *, int, int, const char *,
const char *, const char *)); const char *, const char *));
/* Length of line when printing switch values. */ /* Length of line when printing switch values. */
...@@ -315,22 +315,22 @@ int sorrycount = 0; ...@@ -315,22 +315,22 @@ int sorrycount = 0;
2: and any other information that might be interesting, such as function 2: and any other information that might be interesting, such as function
parameter types in C++. */ parameter types in C++. */
const char *(*decl_printable_name) PROTO ((tree, int)); const char *(*decl_printable_name) PARAMS ((tree, int));
/* Pointer to function to compute rtl for a language-specific tree code. */ /* Pointer to function to compute rtl for a language-specific tree code. */
typedef rtx (*lang_expand_expr_t) typedef rtx (*lang_expand_expr_t)
PROTO ((union tree_node *, rtx, enum machine_mode, PARAMS ((union tree_node *, rtx, enum machine_mode,
enum expand_modifier modifier)); enum expand_modifier modifier));
lang_expand_expr_t lang_expand_expr = 0; lang_expand_expr_t lang_expand_expr = 0;
tree (*lang_expand_constant) PROTO((tree)) = 0; tree (*lang_expand_constant) PARAMS ((tree)) = 0;
/* Pointer to function to finish handling an incomplete decl at the /* Pointer to function to finish handling an incomplete decl at the
end of compilation. */ end of compilation. */
void (*incomplete_decl_finalize_hook) PROTO((tree)) = 0; void (*incomplete_decl_finalize_hook) PARAMS ((tree)) = 0;
/* Nonzero if generating code to do profiling. */ /* Nonzero if generating code to do profiling. */
...@@ -1557,7 +1557,7 @@ set_float_handler (handler) ...@@ -1557,7 +1557,7 @@ set_float_handler (handler)
int int
do_float_handler (fn, data) do_float_handler (fn, data)
void (*fn) PROTO ((PTR)); void (*fn) PARAMS ((PTR));
PTR data; PTR data;
{ {
jmp_buf buf; jmp_buf buf;
...@@ -1742,7 +1742,7 @@ open_dump_file (suffix, function_name) ...@@ -1742,7 +1742,7 @@ open_dump_file (suffix, function_name)
/* Routine to close a dump file. */ /* Routine to close a dump file. */
static void static void
close_dump_file (func, insns) close_dump_file (func, insns)
void (*func) PROTO ((FILE *, rtx)); void (*func) PARAMS ((FILE *, rtx));
rtx insns; rtx insns;
{ {
TIMEVAR TIMEVAR
...@@ -1765,7 +1765,7 @@ static void ...@@ -1765,7 +1765,7 @@ static void
dump_rtl (suffix, decl, func, insns) dump_rtl (suffix, decl, func, insns)
const char *suffix; const char *suffix;
tree decl; tree decl;
void (*func) PROTO ((FILE *, rtx)); void (*func) PARAMS ((FILE *, rtx));
rtx insns; rtx insns;
{ {
open_dump_file (suffix, decl_printable_name (decl, 2)); open_dump_file (suffix, decl_printable_name (decl, 2));
...@@ -4486,7 +4486,7 @@ independent_decode_option (argc, argv, strings_processed) ...@@ -4486,7 +4486,7 @@ independent_decode_option (argc, argv, strings_processed)
Exit code is 35 if can't open files, 34 if fatal error, Exit code is 35 if can't open files, 34 if fatal error,
33 if had nonfatal errors, else success. */ 33 if had nonfatal errors, else success. */
extern int main PROTO ((int, char **)); extern int main PARAMS ((int, char **));
int int
main (argc, argv) main (argc, argv)
......
...@@ -26,26 +26,26 @@ union tree_node; ...@@ -26,26 +26,26 @@ union tree_node;
struct rtx_def; struct rtx_def;
#endif #endif
extern int read_integral_parameter PROTO ((const char *, const char *, extern int read_integral_parameter PARAMS ((const char *, const char *,
const int)); const int));
extern int count_error PROTO ((int)); extern int count_error PARAMS ((int));
extern void strip_off_ending PROTO ((char *, int)); extern void strip_off_ending PARAMS ((char *, int));
extern void print_time PROTO ((const char *, int)); extern void print_time PARAMS ((const char *, int));
extern void debug_start_source_file PROTO ((char *)); extern void debug_start_source_file PARAMS ((char *));
extern void debug_end_source_file PROTO ((unsigned)); extern void debug_end_source_file PARAMS ((unsigned));
extern void debug_define PROTO ((unsigned, char *)); extern void debug_define PARAMS ((unsigned, char *));
extern void debug_undef PROTO ((unsigned, char *)); extern void debug_undef PARAMS ((unsigned, char *));
extern void fatal PVPROTO ((const char *, ...)) extern void fatal PARAMS ((const char *, ...))
ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN; ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
extern void fatal_io_error PROTO ((const char *)) extern void fatal_io_error PARAMS ((const char *))
ATTRIBUTE_NORETURN; ATTRIBUTE_NORETURN;
extern void pfatal_with_name PROTO ((const char *)) extern void pfatal_with_name PARAMS ((const char *))
ATTRIBUTE_NORETURN; ATTRIBUTE_NORETURN;
extern void _fatal_insn_not_found PROTO ((struct rtx_def *, extern void _fatal_insn_not_found PARAMS ((struct rtx_def *,
const char *, int, const char *, int,
const char *)) const char *))
ATTRIBUTE_NORETURN; ATTRIBUTE_NORETURN;
extern void _fatal_insn PROTO ((const char *, extern void _fatal_insn PARAMS ((const char *,
struct rtx_def *, struct rtx_def *,
const char *, int, const char *, int,
const char *)) const char *))
...@@ -62,73 +62,73 @@ extern void _fatal_insn PROTO ((const char *, ...@@ -62,73 +62,73 @@ extern void _fatal_insn PROTO ((const char *,
#define fatal_insn_not_found(insn) \ #define fatal_insn_not_found(insn) \
_fatal_insn_not_found (insn, __FILE__, __LINE__, 0) _fatal_insn_not_found (insn, __FILE__, __LINE__, 0)
#endif #endif
extern void warning PVPROTO ((const char *, ...)) extern void warning PARAMS ((const char *, ...))
ATTRIBUTE_PRINTF_1; ATTRIBUTE_PRINTF_1;
extern void error PVPROTO ((const char *, ...)) extern void error PARAMS ((const char *, ...))
ATTRIBUTE_PRINTF_1; ATTRIBUTE_PRINTF_1;
extern void pedwarn PVPROTO ((const char *, ...)) extern void pedwarn PARAMS ((const char *, ...))
ATTRIBUTE_PRINTF_1; ATTRIBUTE_PRINTF_1;
extern void pedwarn_with_file_and_line PVPROTO ((const char *, int, extern void pedwarn_with_file_and_line PARAMS ((const char *, int,
const char *, ...)) const char *, ...))
ATTRIBUTE_PRINTF_3; ATTRIBUTE_PRINTF_3;
extern void warning_with_file_and_line PVPROTO ((const char *, int, extern void warning_with_file_and_line PARAMS ((const char *, int,
const char *, ...)) const char *, ...))
ATTRIBUTE_PRINTF_3; ATTRIBUTE_PRINTF_3;
extern void error_with_file_and_line PVPROTO ((const char *, int, extern void error_with_file_and_line PARAMS ((const char *, int,
const char *, ...)) const char *, ...))
ATTRIBUTE_PRINTF_3; ATTRIBUTE_PRINTF_3;
extern void sorry PVPROTO ((const char *, ...)) extern void sorry PARAMS ((const char *, ...))
ATTRIBUTE_PRINTF_1; ATTRIBUTE_PRINTF_1;
extern void really_sorry PVPROTO((const char *, ...)) extern void really_sorry PARAMS ((const char *, ...))
ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN; ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
extern void default_print_error_function PROTO ((const char *)); extern void default_print_error_function PARAMS ((const char *));
extern void report_error_function PROTO ((const char *)); extern void report_error_function PARAMS ((const char *));
extern void rest_of_decl_compilation PROTO ((union tree_node *, extern void rest_of_decl_compilation PARAMS ((union tree_node *,
const char *, int, int)); const char *, int, int));
extern void rest_of_type_compilation PROTO ((union tree_node *, int)); extern void rest_of_type_compilation PARAMS ((union tree_node *, int));
extern void rest_of_compilation PROTO ((union tree_node *)); extern void rest_of_compilation PARAMS ((union tree_node *));
/* The *_with_decl functions aren't suitable for ATTRIBUTE_PRINTF. */ /* The *_with_decl functions aren't suitable for ATTRIBUTE_PRINTF. */
extern void pedwarn_with_decl PVPROTO ((union tree_node *, extern void pedwarn_with_decl PARAMS ((union tree_node *,
const char *, ...)); const char *, ...));
extern void warning_with_decl PVPROTO ((union tree_node *, extern void warning_with_decl PARAMS ((union tree_node *,
const char *, ...)); const char *, ...));
extern void error_with_decl PVPROTO ((union tree_node *, extern void error_with_decl PARAMS ((union tree_node *,
const char *, ...)); const char *, ...));
extern void announce_function PROTO ((union tree_node *)); extern void announce_function PARAMS ((union tree_node *));
extern void error_for_asm PVPROTO((struct rtx_def *, extern void error_for_asm PARAMS ((struct rtx_def *,
const char *, ...)) const char *, ...))
ATTRIBUTE_PRINTF_2; ATTRIBUTE_PRINTF_2;
extern void warning_for_asm PVPROTO((struct rtx_def *, extern void warning_for_asm PARAMS ((struct rtx_def *,
const char *, ...)) const char *, ...))
ATTRIBUTE_PRINTF_2; ATTRIBUTE_PRINTF_2;
#if defined (_JBLEN) || defined (setjmp) #if defined (_JBLEN) || defined (setjmp)
extern void set_float_handler PROTO((jmp_buf)); extern void set_float_handler PARAMS ((jmp_buf));
extern int push_float_handler PROTO((jmp_buf, jmp_buf)); extern int push_float_handler PARAMS ((jmp_buf, jmp_buf));
extern void pop_float_handler PROTO((int, jmp_buf)); extern void pop_float_handler PARAMS ((int, jmp_buf));
#endif #endif
extern int do_float_handler PROTO((void (*) (PTR), PTR)); extern int do_float_handler PARAMS ((void (*) (PTR), PTR));
#ifdef BUFSIZ #ifdef BUFSIZ
extern void output_quoted_string PROTO ((FILE *, const char *)); extern void output_quoted_string PARAMS ((FILE *, const char *));
extern void output_file_directive PROTO ((FILE *, const char *)); extern void output_file_directive PARAMS ((FILE *, const char *));
#endif #endif
extern void do_abort PROTO ((void)) ATTRIBUTE_NORETURN; extern void do_abort PARAMS ((void)) ATTRIBUTE_NORETURN;
extern void botch PROTO ((const char *)) extern void botch PARAMS ((const char *))
ATTRIBUTE_NORETURN; ATTRIBUTE_NORETURN;
#ifdef BUFSIZ #ifdef BUFSIZ
extern void fnotice PROTO ((FILE *, const char *, ...)) extern void fnotice PARAMS ((FILE *, const char *, ...))
ATTRIBUTE_PRINTF_2; ATTRIBUTE_PRINTF_2;
#endif #endif
extern int wrapup_global_declarations PROTO ((union tree_node **, int)); extern int wrapup_global_declarations PARAMS ((union tree_node **, int));
extern void check_global_declarations PROTO ((union tree_node **, int)); extern void check_global_declarations PARAMS ((union tree_node **, int));
extern void note_deferral_of_defined_inline_function PROTO ((union tree_node *)); extern void note_deferral_of_defined_inline_function PARAMS ((union tree_node *));
extern void set_message_length PROTO ((int)); extern void set_message_length PARAMS ((int));
extern int errorcount; extern int errorcount;
extern int warningcount; extern int warningcount;
extern int sorrycount; extern int sorrycount;
......
...@@ -46,9 +46,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -46,9 +46,9 @@ Boston, MA 02111-1307, USA. */
#define obstack_chunk_alloc xmalloc #define obstack_chunk_alloc xmalloc
#define obstack_chunk_free free #define obstack_chunk_free free
/* obstack.[ch] explicitly declined to prototype this. */ /* obstack.[ch] explicitly declined to prototype this. */
extern int _obstack_allocated_p PROTO ((struct obstack *h, PTR obj)); extern int _obstack_allocated_p PARAMS ((struct obstack *h, PTR obj));
static void unsave_expr_now_r PROTO ((tree)); static void unsave_expr_now_r PARAMS ((tree));
/* Tree nodes of permanent duration are allocated in this obstack. /* Tree nodes of permanent duration are allocated in this obstack.
They are the identifier nodes, and everything outside of They are the identifier nodes, and everything outside of
...@@ -245,7 +245,7 @@ static int next_type_uid = 1; ...@@ -245,7 +245,7 @@ static int next_type_uid = 1;
/* The language-specific function for alias analysis. If NULL, the /* The language-specific function for alias analysis. If NULL, the
language does not do any special alias analysis. */ language does not do any special alias analysis. */
int (*lang_get_alias_set) PROTO((tree)); int (*lang_get_alias_set) PARAMS ((tree));
/* Here is how primitive or already-canonicalized types' hash /* Here is how primitive or already-canonicalized types' hash
codes are made. */ codes are made. */
...@@ -271,19 +271,19 @@ struct type_hash ...@@ -271,19 +271,19 @@ struct type_hash
#define TYPE_HASH_SIZE 59 #define TYPE_HASH_SIZE 59
struct type_hash *type_hash_table[TYPE_HASH_SIZE]; struct type_hash *type_hash_table[TYPE_HASH_SIZE];
static void build_real_from_int_cst_1 PROTO((PTR)); static void build_real_from_int_cst_1 PARAMS ((PTR));
static void set_type_quals PROTO((tree, int)); static void set_type_quals PARAMS ((tree, int));
static void append_random_chars PROTO((char *)); static void append_random_chars PARAMS ((char *));
static void mark_type_hash PROTO ((void *)); static void mark_type_hash PARAMS ((void *));
static void fix_sizetype PROTO ((tree)); static void fix_sizetype PARAMS ((tree));
/* If non-null, these are language-specific helper functions for /* If non-null, these are language-specific helper functions for
unsave_expr_now. If present, LANG_UNSAVE is called before its unsave_expr_now. If present, LANG_UNSAVE is called before its
argument (an UNSAVE_EXPR) is to be unsaved, and all other argument (an UNSAVE_EXPR) is to be unsaved, and all other
processing in unsave_expr_now is aborted. LANG_UNSAVE_EXPR_NOW is processing in unsave_expr_now is aborted. LANG_UNSAVE_EXPR_NOW is
called from unsave_expr_1 for language-specific tree codes. */ called from unsave_expr_1 for language-specific tree codes. */
void (*lang_unsave) PROTO((tree *)); void (*lang_unsave) PARAMS ((tree *));
void (*lang_unsave_expr_now) PROTO((tree)); void (*lang_unsave_expr_now) PARAMS ((tree));
/* The string used as a placeholder instead of a source file name for /* The string used as a placeholder instead of a source file name for
built-in tree nodes. The variable, which is dynamically allocated, built-in tree nodes. The variable, which is dynamically allocated,
...@@ -348,8 +348,8 @@ gcc_obstack_init (obstack) ...@@ -348,8 +348,8 @@ gcc_obstack_init (obstack)
#define OBSTACK_CHUNK_FREE free #define OBSTACK_CHUNK_FREE free
#endif #endif
_obstack_begin (obstack, OBSTACK_CHUNK_SIZE, 0, _obstack_begin (obstack, OBSTACK_CHUNK_SIZE, 0,
(void *(*) PROTO ((long))) OBSTACK_CHUNK_ALLOC, (void *(*) PARAMS ((long))) OBSTACK_CHUNK_ALLOC,
(void (*) PROTO ((void *))) OBSTACK_CHUNK_FREE); (void (*) PARAMS ((void *))) OBSTACK_CHUNK_FREE);
} }
/* Save all variables describing the current status into the structure /* Save all variables describing the current status into the structure
...@@ -1117,7 +1117,7 @@ make_node (code) ...@@ -1117,7 +1117,7 @@ make_node (code)
/* A front-end can reset this to an appropriate function if types need /* A front-end can reset this to an appropriate function if types need
special handling. */ special handling. */
tree (*make_lang_type_fn) PROTO((enum tree_code)) = make_node; tree (*make_lang_type_fn) PARAMS ((enum tree_code)) = make_node;
/* Return a new type (with the indicated CODE), doing whatever /* Return a new type (with the indicated CODE), doing whatever
language-specific processing is required. */ language-specific processing is required. */
...@@ -3035,7 +3035,7 @@ stabilize_reference_1 (e) ...@@ -3035,7 +3035,7 @@ stabilize_reference_1 (e)
Constants, decls, types and misc nodes cannot be. */ Constants, decls, types and misc nodes cannot be. */
tree tree
build VPROTO((enum tree_code code, tree tt, ...)) build VPARAMS ((enum tree_code code, tree tt, ...))
{ {
#ifndef ANSI_PROTOTYPES #ifndef ANSI_PROTOTYPES
enum tree_code code; enum tree_code code;
...@@ -3202,7 +3202,7 @@ build1 (code, type, node) ...@@ -3202,7 +3202,7 @@ build1 (code, type, node)
or even garbage if their values do not matter. */ or even garbage if their values do not matter. */
tree tree
build_nt VPROTO((enum tree_code code, ...)) build_nt VPARAMS ((enum tree_code code, ...))
{ {
#ifndef ANSI_PROTOTYPES #ifndef ANSI_PROTOTYPES
enum tree_code code; enum tree_code code;
...@@ -3232,7 +3232,7 @@ build_nt VPROTO((enum tree_code code, ...)) ...@@ -3232,7 +3232,7 @@ build_nt VPROTO((enum tree_code code, ...))
on the temp_decl_obstack, regardless. */ on the temp_decl_obstack, regardless. */
tree tree
build_parse_node VPROTO((enum tree_code code, ...)) build_parse_node VPARAMS ((enum tree_code code, ...))
{ {
#ifndef ANSI_PROTOTYPES #ifndef ANSI_PROTOTYPES
enum tree_code code; enum tree_code code;
......
...@@ -353,10 +353,10 @@ struct tree_common ...@@ -353,10 +353,10 @@ struct tree_common
__LINE__, __PRETTY_FUNCTION__); \ __LINE__, __PRETTY_FUNCTION__); \
__t; }) __t; })
extern void tree_check_failed PROTO((const tree, enum tree_code, extern void tree_check_failed PARAMS ((const tree, enum tree_code,
const char *, int, const char *)) const char *, int, const char *))
ATTRIBUTE_NORETURN; ATTRIBUTE_NORETURN;
extern void tree_class_check_failed PROTO((const tree, char, extern void tree_class_check_failed PARAMS ((const tree, char,
const char *, int, const char *)) const char *, int, const char *))
ATTRIBUTE_NORETURN; ATTRIBUTE_NORETURN;
...@@ -1568,104 +1568,104 @@ extern tree global_trees[TI_MAX]; ...@@ -1568,104 +1568,104 @@ extern tree global_trees[TI_MAX];
#define exact_log2(N) exact_log2_wide ((unsigned HOST_WIDE_INT) (N)) #define exact_log2(N) exact_log2_wide ((unsigned HOST_WIDE_INT) (N))
#define floor_log2(N) floor_log2_wide ((unsigned HOST_WIDE_INT) (N)) #define floor_log2(N) floor_log2_wide ((unsigned HOST_WIDE_INT) (N))
#endif #endif
extern int exact_log2_wide PROTO((unsigned HOST_WIDE_INT)); extern int exact_log2_wide PARAMS ((unsigned HOST_WIDE_INT));
extern int floor_log2_wide PROTO((unsigned HOST_WIDE_INT)); extern int floor_log2_wide PARAMS ((unsigned HOST_WIDE_INT));
extern char *oballoc PROTO((int)); extern char *oballoc PARAMS ((int));
extern char *permalloc PROTO((int)); extern char *permalloc PARAMS ((int));
extern char *savealloc PROTO((int)); extern char *savealloc PARAMS ((int));
extern char *expralloc PROTO((int)); extern char *expralloc PARAMS ((int));
/* Lowest level primitive for allocating a node. /* Lowest level primitive for allocating a node.
The TREE_CODE is the only argument. Contents are initialized The TREE_CODE is the only argument. Contents are initialized
to zero except for a few of the common fields. */ to zero except for a few of the common fields. */
extern tree make_node PROTO((enum tree_code)); extern tree make_node PARAMS ((enum tree_code));
extern tree make_lang_type PROTO((enum tree_code)); extern tree make_lang_type PARAMS ((enum tree_code));
extern tree (*make_lang_type_fn) PROTO((enum tree_code)); extern tree (*make_lang_type_fn) PARAMS ((enum tree_code));
/* Make a copy of a node, with all the same contents except /* Make a copy of a node, with all the same contents except
for TREE_PERMANENT. (The copy is permanent for TREE_PERMANENT. (The copy is permanent
iff nodes being made now are permanent.) */ iff nodes being made now are permanent.) */
extern tree copy_node PROTO((tree)); extern tree copy_node PARAMS ((tree));
/* Make a copy of a chain of TREE_LIST nodes. */ /* Make a copy of a chain of TREE_LIST nodes. */
extern tree copy_list PROTO((tree)); extern tree copy_list PARAMS ((tree));
/* Make a TREE_VEC. */ /* Make a TREE_VEC. */
extern tree make_tree_vec PROTO((int)); extern tree make_tree_vec PARAMS ((int));
/* Return the (unique) IDENTIFIER_NODE node for a given name. /* Return the (unique) IDENTIFIER_NODE node for a given name.
The name is supplied as a char *. */ The name is supplied as a char *. */
extern tree get_identifier PROTO((const char *)); extern tree get_identifier PARAMS ((const char *));
/* If an identifier with the name TEXT (a null-terminated string) has /* If an identifier with the name TEXT (a null-terminated string) has
previously been referred to, return that node; otherwise return previously been referred to, return that node; otherwise return
NULL_TREE. */ NULL_TREE. */
extern tree maybe_get_identifier PROTO((const char *)); extern tree maybe_get_identifier PARAMS ((const char *));
/* Construct various types of nodes. */ /* Construct various types of nodes. */
#define build_int_2(LO,HI) \ #define build_int_2(LO,HI) \
build_int_2_wide ((HOST_WIDE_INT) (LO), (HOST_WIDE_INT) (HI)) build_int_2_wide ((HOST_WIDE_INT) (LO), (HOST_WIDE_INT) (HI))
extern tree build PVPROTO((enum tree_code, tree, ...)); extern tree build PARAMS ((enum tree_code, tree, ...));
extern tree build_nt PVPROTO((enum tree_code, ...)); extern tree build_nt PARAMS ((enum tree_code, ...));
extern tree build_parse_node PVPROTO((enum tree_code, ...)); extern tree build_parse_node PARAMS ((enum tree_code, ...));
extern tree build_int_2_wide PROTO((HOST_WIDE_INT, HOST_WIDE_INT)); extern tree build_int_2_wide PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT));
extern tree build_real PROTO((tree, REAL_VALUE_TYPE)); extern tree build_real PARAMS ((tree, REAL_VALUE_TYPE));
extern tree build_real_from_int_cst PROTO((tree, tree)); extern tree build_real_from_int_cst PARAMS ((tree, tree));
extern tree build_complex PROTO((tree, tree, tree)); extern tree build_complex PARAMS ((tree, tree, tree));
extern tree build_string PROTO((int, const char *)); extern tree build_string PARAMS ((int, const char *));
extern tree build1 PROTO((enum tree_code, tree, tree)); extern tree build1 PARAMS ((enum tree_code, tree, tree));
extern tree build_tree_list PROTO((tree, tree)); extern tree build_tree_list PARAMS ((tree, tree));
extern tree build_decl_list PROTO((tree, tree)); extern tree build_decl_list PARAMS ((tree, tree));
extern tree build_expr_list PROTO((tree, tree)); extern tree build_expr_list PARAMS ((tree, tree));
extern tree build_decl PROTO((enum tree_code, tree, tree)); extern tree build_decl PARAMS ((enum tree_code, tree, tree));
extern tree build_block PROTO((tree, tree, tree, tree, tree)); extern tree build_block PARAMS ((tree, tree, tree, tree, tree));
extern tree build_expr_wfl PROTO((tree, const char *, int, int)); extern tree build_expr_wfl PARAMS ((tree, const char *, int, int));
/* Construct various nodes representing data types. */ /* Construct various nodes representing data types. */
extern tree make_signed_type PROTO((int)); extern tree make_signed_type PARAMS ((int));
extern tree make_unsigned_type PROTO((int)); extern tree make_unsigned_type PARAMS ((int));
extern void set_sizetype PROTO((tree)); extern void set_sizetype PARAMS ((tree));
extern tree signed_or_unsigned_type PROTO((int, tree)); extern tree signed_or_unsigned_type PARAMS ((int, tree));
extern void fixup_unsigned_type PROTO((tree)); extern void fixup_unsigned_type PARAMS ((tree));
extern tree build_pointer_type PROTO((tree)); extern tree build_pointer_type PARAMS ((tree));
extern tree build_reference_type PROTO((tree)); extern tree build_reference_type PARAMS ((tree));
extern tree build_index_type PROTO((tree)); extern tree build_index_type PARAMS ((tree));
extern tree build_index_2_type PROTO((tree, tree)); extern tree build_index_2_type PARAMS ((tree, tree));
extern tree build_array_type PROTO((tree, tree)); extern tree build_array_type PARAMS ((tree, tree));
extern tree build_function_type PROTO((tree, tree)); extern tree build_function_type PARAMS ((tree, tree));
extern tree build_method_type PROTO((tree, tree)); extern tree build_method_type PARAMS ((tree, tree));
extern tree build_offset_type PROTO((tree, tree)); extern tree build_offset_type PARAMS ((tree, tree));
extern tree build_complex_type PROTO((tree)); extern tree build_complex_type PARAMS ((tree));
extern tree array_type_nelts PROTO((tree)); extern tree array_type_nelts PARAMS ((tree));
extern tree value_member PROTO((tree, tree)); extern tree value_member PARAMS ((tree, tree));
extern tree purpose_member PROTO((tree, tree)); extern tree purpose_member PARAMS ((tree, tree));
extern tree binfo_member PROTO((tree, tree)); extern tree binfo_member PARAMS ((tree, tree));
extern int attribute_hash_list PROTO((tree)); extern int attribute_hash_list PARAMS ((tree));
extern int attribute_list_equal PROTO((tree, tree)); extern int attribute_list_equal PARAMS ((tree, tree));
extern int attribute_list_contained PROTO((tree, tree)); extern int attribute_list_contained PARAMS ((tree, tree));
extern int tree_int_cst_equal PROTO((tree, tree)); extern int tree_int_cst_equal PARAMS ((tree, tree));
extern int tree_int_cst_lt PROTO((tree, tree)); extern int tree_int_cst_lt PARAMS ((tree, tree));
extern int tree_int_cst_sgn PROTO((tree)); extern int tree_int_cst_sgn PARAMS ((tree));
extern int index_type_equal PROTO((tree, tree)); extern int index_type_equal PARAMS ((tree, tree));
extern tree get_inner_array_type PROTO((tree)); extern tree get_inner_array_type PARAMS ((tree));
/* From expmed.c. Since rtl.h is included after tree.h, we can't /* From expmed.c. Since rtl.h is included after tree.h, we can't
put the prototype here. Rtl.h does declare the prototype if put the prototype here. Rtl.h does declare the prototype if
tree.h had been included. */ tree.h had been included. */
extern tree make_tree PROTO((tree, struct rtx_def *)); extern tree make_tree PARAMS ((tree, struct rtx_def *));
/* Return a type like TTYPE except that its TYPE_ATTRIBUTES /* Return a type like TTYPE except that its TYPE_ATTRIBUTES
is ATTRIBUTE. is ATTRIBUTE.
...@@ -1673,37 +1673,37 @@ extern tree make_tree PROTO((tree, struct rtx_def *)); ...@@ -1673,37 +1673,37 @@ extern tree make_tree PROTO((tree, struct rtx_def *));
Such modified types already made are recorded so that duplicates Such modified types already made are recorded so that duplicates
are not made. */ are not made. */
extern tree build_type_attribute_variant PROTO((tree, tree)); extern tree build_type_attribute_variant PARAMS ((tree, tree));
extern tree build_decl_attribute_variant PROTO((tree, tree)); extern tree build_decl_attribute_variant PARAMS ((tree, tree));
extern tree merge_machine_decl_attributes PROTO((tree, tree)); extern tree merge_machine_decl_attributes PARAMS ((tree, tree));
extern tree merge_machine_type_attributes PROTO((tree, tree)); extern tree merge_machine_type_attributes PARAMS ((tree, tree));
/* Split a list of declspecs and attributes into two. */ /* Split a list of declspecs and attributes into two. */
extern void split_specs_attrs PROTO((tree, tree *, tree *)); extern void split_specs_attrs PARAMS ((tree, tree *, tree *));
/* Strip attributes from a list of combined specs and attrs. */ /* Strip attributes from a list of combined specs and attrs. */
extern tree strip_attrs PROTO((tree)); extern tree strip_attrs PARAMS ((tree));
/* Return 1 if an attribute and its arguments are valid for a decl or type. */ /* Return 1 if an attribute and its arguments are valid for a decl or type. */
extern int valid_machine_attribute PROTO((tree, tree, tree, tree)); extern int valid_machine_attribute PARAMS ((tree, tree, tree, tree));
/* Given a tree node and a string, return non-zero if the tree node is /* Given a tree node and a string, return non-zero if the tree node is
a valid attribute name for the string. */ a valid attribute name for the string. */
extern int is_attribute_p PROTO((const char *, tree)); extern int is_attribute_p PARAMS ((const char *, tree));
/* Given an attribute name and a list of attributes, return the list element /* Given an attribute name and a list of attributes, return the list element
of the attribute or NULL_TREE if not found. */ of the attribute or NULL_TREE if not found. */
extern tree lookup_attribute PROTO((const char *, tree)); extern tree lookup_attribute PARAMS ((const char *, tree));
/* Given two attributes lists, return a list of their union. */ /* Given two attributes lists, return a list of their union. */
extern tree merge_attributes PROTO((tree, tree)); extern tree merge_attributes PARAMS ((tree, tree));
/* Given a type node TYPE and a TYPE_QUALIFIER_SET, return a type for /* Given a type node TYPE and a TYPE_QUALIFIER_SET, return a type for
the same kind of data as TYPE describes. Variants point to the the same kind of data as TYPE describes. Variants point to the
...@@ -1712,7 +1712,7 @@ extern tree merge_attributes PROTO((tree, tree)); ...@@ -1712,7 +1712,7 @@ extern tree merge_attributes PROTO((tree, tree));
variants are never made. Only main variants should ever appear as variants are never made. Only main variants should ever appear as
types of expressions. */ types of expressions. */
extern tree build_qualified_type PROTO((tree, int)); extern tree build_qualified_type PARAMS ((tree, int));
/* Like build_qualified_type, but only deals with the `const' and /* Like build_qualified_type, but only deals with the `const' and
`volatile' qualifiers. This interface is retained for backwards `volatile' qualifiers. This interface is retained for backwards
...@@ -1726,21 +1726,21 @@ extern tree build_qualified_type PROTO((tree, int)); ...@@ -1726,21 +1726,21 @@ extern tree build_qualified_type PROTO((tree, int));
/* Make a copy of a type node. */ /* Make a copy of a type node. */
extern tree build_type_copy PROTO((tree)); extern tree build_type_copy PARAMS ((tree));
/* Given a ..._TYPE node, calculate the TYPE_SIZE, TYPE_SIZE_UNIT, /* Given a ..._TYPE node, calculate the TYPE_SIZE, TYPE_SIZE_UNIT,
TYPE_ALIGN and TYPE_MODE fields. TYPE_ALIGN and TYPE_MODE fields.
If called more than once on one node, does nothing except If called more than once on one node, does nothing except
for the first time. */ for the first time. */
extern void layout_type PROTO((tree)); extern void layout_type PARAMS ((tree));
/* Given a hashcode and a ..._TYPE node (for which the hashcode was made), /* Given a hashcode and a ..._TYPE node (for which the hashcode was made),
return a canonicalized ..._TYPE node, so that duplicates are not made. return a canonicalized ..._TYPE node, so that duplicates are not made.
How the hash code is computed is up to the caller, as long as any two How the hash code is computed is up to the caller, as long as any two
callers that could hash identical-looking type nodes agree. */ callers that could hash identical-looking type nodes agree. */
extern tree type_hash_canon PROTO((int, tree)); extern tree type_hash_canon PARAMS ((int, tree));
/* Given a VAR_DECL, PARM_DECL, RESULT_DECL or FIELD_DECL node, /* Given a VAR_DECL, PARM_DECL, RESULT_DECL or FIELD_DECL node,
calculates the DECL_SIZE, DECL_SIZE_UNIT, DECL_ALIGN and DECL_MODE calculates the DECL_SIZE, DECL_SIZE_UNIT, DECL_ALIGN and DECL_MODE
...@@ -1750,19 +1750,19 @@ extern tree type_hash_canon PROTO((int, tree)); ...@@ -1750,19 +1750,19 @@ extern tree type_hash_canon PROTO((int, tree));
be starting at (in bits). Zero means it can be assumed aligned be starting at (in bits). Zero means it can be assumed aligned
on any boundary that may be needed. */ on any boundary that may be needed. */
extern void layout_decl PROTO((tree, unsigned)); extern void layout_decl PARAMS ((tree, unsigned));
/* Return an expr equal to X but certainly not valid as an lvalue. */ /* Return an expr equal to X but certainly not valid as an lvalue. */
extern tree non_lvalue PROTO((tree)); extern tree non_lvalue PARAMS ((tree));
extern tree pedantic_non_lvalue PROTO((tree)); extern tree pedantic_non_lvalue PARAMS ((tree));
extern tree convert PROTO((tree, tree)); extern tree convert PARAMS ((tree, tree));
extern tree size_in_bytes PROTO((tree)); extern tree size_in_bytes PARAMS ((tree));
extern HOST_WIDE_INT int_size_in_bytes PROTO((tree)); extern HOST_WIDE_INT int_size_in_bytes PARAMS ((tree));
extern tree size_binop PROTO((enum tree_code, tree, tree)); extern tree size_binop PARAMS ((enum tree_code, tree, tree));
extern tree ssize_binop PROTO((enum tree_code, tree, tree)); extern tree ssize_binop PARAMS ((enum tree_code, tree, tree));
extern tree size_int_wide PROTO((unsigned HOST_WIDE_INT, extern tree size_int_wide PARAMS ((unsigned HOST_WIDE_INT,
unsigned HOST_WIDE_INT, int)); unsigned HOST_WIDE_INT, int));
#define size_int(L) size_int_2 ((L), 0, 0) #define size_int(L) size_int_2 ((L), 0, 0)
#define bitsize_int(L, H) size_int_2 ((L), (H), 1) #define bitsize_int(L, H) size_int_2 ((L), (H), 1)
...@@ -1770,9 +1770,9 @@ extern tree size_int_wide PROTO((unsigned HOST_WIDE_INT, ...@@ -1770,9 +1770,9 @@ extern tree size_int_wide PROTO((unsigned HOST_WIDE_INT,
size_int_wide ((unsigned HOST_WIDE_INT) (L), \ size_int_wide ((unsigned HOST_WIDE_INT) (L), \
(unsigned HOST_WIDE_INT) (H), (T)) (unsigned HOST_WIDE_INT) (H), (T))
extern tree round_up PROTO((tree, int)); extern tree round_up PARAMS ((tree, int));
extern tree get_pending_sizes PROTO((void)); extern tree get_pending_sizes PARAMS ((void));
extern void put_pending_sizes PROTO((tree)); extern void put_pending_sizes PARAMS ((tree));
/* Type for sizes of data-type. */ /* Type for sizes of data-type. */
...@@ -1807,91 +1807,91 @@ extern int set_alignment; ...@@ -1807,91 +1807,91 @@ extern int set_alignment;
by making the last node in X point to Y. by making the last node in X point to Y.
Returns X, except if X is 0 returns Y. */ Returns X, except if X is 0 returns Y. */
extern tree chainon PROTO((tree, tree)); extern tree chainon PARAMS ((tree, tree));
/* Make a new TREE_LIST node from specified PURPOSE, VALUE and CHAIN. */ /* Make a new TREE_LIST node from specified PURPOSE, VALUE and CHAIN. */
extern tree tree_cons PROTO((tree, tree, tree)); extern tree tree_cons PARAMS ((tree, tree, tree));
extern tree perm_tree_cons PROTO((tree, tree, tree)); extern tree perm_tree_cons PARAMS ((tree, tree, tree));
extern tree temp_tree_cons PROTO((tree, tree, tree)); extern tree temp_tree_cons PARAMS ((tree, tree, tree));
extern tree saveable_tree_cons PROTO((tree, tree, tree)); extern tree saveable_tree_cons PARAMS ((tree, tree, tree));
extern tree decl_tree_cons PROTO((tree, tree, tree)); extern tree decl_tree_cons PARAMS ((tree, tree, tree));
extern tree expr_tree_cons PROTO((tree, tree, tree)); extern tree expr_tree_cons PARAMS ((tree, tree, tree));
/* Return the last tree node in a chain. */ /* Return the last tree node in a chain. */
extern tree tree_last PROTO((tree)); extern tree tree_last PARAMS ((tree));
/* Reverse the order of elements in a chain, and return the new head. */ /* Reverse the order of elements in a chain, and return the new head. */
extern tree nreverse PROTO((tree)); extern tree nreverse PARAMS ((tree));
/* Returns the length of a chain of nodes /* Returns the length of a chain of nodes
(number of chain pointers to follow before reaching a null pointer). */ (number of chain pointers to follow before reaching a null pointer). */
extern int list_length PROTO((tree)); extern int list_length PARAMS ((tree));
/* integer_zerop (tree x) is nonzero if X is an integer constant of value 0 */ /* integer_zerop (tree x) is nonzero if X is an integer constant of value 0 */
extern int integer_zerop PROTO((tree)); extern int integer_zerop PARAMS ((tree));
/* integer_onep (tree x) is nonzero if X is an integer constant of value 1 */ /* integer_onep (tree x) is nonzero if X is an integer constant of value 1 */
extern int integer_onep PROTO((tree)); extern int integer_onep PARAMS ((tree));
/* integer_all_onesp (tree x) is nonzero if X is an integer constant /* integer_all_onesp (tree x) is nonzero if X is an integer constant
all of whose significant bits are 1. */ all of whose significant bits are 1. */
extern int integer_all_onesp PROTO((tree)); extern int integer_all_onesp PARAMS ((tree));
/* integer_pow2p (tree x) is nonzero is X is an integer constant with /* integer_pow2p (tree x) is nonzero is X is an integer constant with
exactly one bit 1. */ exactly one bit 1. */
extern int integer_pow2p PROTO((tree)); extern int integer_pow2p PARAMS ((tree));
/* staticp (tree x) is nonzero if X is a reference to data allocated /* staticp (tree x) is nonzero if X is a reference to data allocated
at a fixed address in memory. */ at a fixed address in memory. */
extern int staticp PROTO((tree)); extern int staticp PARAMS ((tree));
/* Gets an error if argument X is not an lvalue. /* Gets an error if argument X is not an lvalue.
Also returns 1 if X is an lvalue, 0 if not. */ Also returns 1 if X is an lvalue, 0 if not. */
extern int lvalue_or_else PROTO((tree, const char *)); extern int lvalue_or_else PARAMS ((tree, const char *));
/* save_expr (EXP) returns an expression equivalent to EXP /* save_expr (EXP) returns an expression equivalent to EXP
but it can be used multiple times within context CTX but it can be used multiple times within context CTX
and only evaluate EXP once. */ and only evaluate EXP once. */
extern tree save_expr PROTO((tree)); extern tree save_expr PARAMS ((tree));
/* Returns the index of the first non-tree operand for CODE, or the number /* Returns the index of the first non-tree operand for CODE, or the number
of operands if all are trees. */ of operands if all are trees. */
extern int first_rtl_op PROTO((enum tree_code)); extern int first_rtl_op PARAMS ((enum tree_code));
/* unsave_expr (EXP) returns an expression equivalent to EXP but it /* unsave_expr (EXP) returns an expression equivalent to EXP but it
can be used multiple times and will evaluate EXP in its entirety can be used multiple times and will evaluate EXP in its entirety
each time. */ each time. */
extern tree unsave_expr PROTO((tree)); extern tree unsave_expr PARAMS ((tree));
/* Reset EXP in place so that it can be expaned again. Does not /* Reset EXP in place so that it can be expaned again. Does not
recurse into subtrees. */ recurse into subtrees. */
extern void unsave_expr_1 PROTO((tree)); extern void unsave_expr_1 PARAMS ((tree));
/* Like unsave_expr_1, but recurses into all subtrees. */ /* Like unsave_expr_1, but recurses into all subtrees. */
extern tree unsave_expr_now PROTO((tree)); extern tree unsave_expr_now PARAMS ((tree));
/* If non-null, these are language-specific helper functions for /* If non-null, these are language-specific helper functions for
unsave_expr_now. If present, LANG_UNSAVE is called before its unsave_expr_now. If present, LANG_UNSAVE is called before its
argument (an UNSAVE_EXPR) is to be unsaved, and all other argument (an UNSAVE_EXPR) is to be unsaved, and all other
processing in unsave_expr_now is aborted. LANG_UNSAVE_EXPR_NOW is processing in unsave_expr_now is aborted. LANG_UNSAVE_EXPR_NOW is
called from unsave_expr_1 for language-specific tree codes. */ called from unsave_expr_1 for language-specific tree codes. */
extern void (*lang_unsave) PROTO((tree *)); extern void (*lang_unsave) PARAMS ((tree *));
extern void (*lang_unsave_expr_now) PROTO((tree)); extern void (*lang_unsave_expr_now) PARAMS ((tree));
/* Return 1 if EXP contains a PLACEHOLDER_EXPR; i.e., if it represents a size /* Return 1 if EXP contains a PLACEHOLDER_EXPR; i.e., if it represents a size
or offset that depends on a field within a record. or offset that depends on a field within a record.
...@@ -1899,19 +1899,19 @@ extern void (*lang_unsave_expr_now) PROTO((tree)); ...@@ -1899,19 +1899,19 @@ extern void (*lang_unsave_expr_now) PROTO((tree));
Note that we only allow such expressions within simple arithmetic Note that we only allow such expressions within simple arithmetic
or a COND_EXPR. */ or a COND_EXPR. */
extern int contains_placeholder_p PROTO((tree)); extern int contains_placeholder_p PARAMS ((tree));
/* Return 1 if EXP contains any expressions that produce cleanups for an /* Return 1 if EXP contains any expressions that produce cleanups for an
outer scope to deal with. Used by fold. */ outer scope to deal with. Used by fold. */
extern int has_cleanups PROTO((tree)); extern int has_cleanups PARAMS ((tree));
/* Given a tree EXP, a FIELD_DECL F, and a replacement value R, /* Given a tree EXP, a FIELD_DECL F, and a replacement value R,
return a tree with all occurrences of references to F in a return a tree with all occurrences of references to F in a
PLACEHOLDER_EXPR replaced by R. Note that we assume here that EXP PLACEHOLDER_EXPR replaced by R. Note that we assume here that EXP
contains only arithmetic expressions. */ contains only arithmetic expressions. */
extern tree substitute_in_expr PROTO((tree, tree, tree)); extern tree substitute_in_expr PARAMS ((tree, tree, tree));
/* variable_size (EXP) is like save_expr (EXP) except that it /* variable_size (EXP) is like save_expr (EXP) except that it
is for the special case of something that is part of a is for the special case of something that is part of a
...@@ -1919,98 +1919,98 @@ extern tree substitute_in_expr PROTO((tree, tree, tree)); ...@@ -1919,98 +1919,98 @@ extern tree substitute_in_expr PROTO((tree, tree, tree));
to compute the value at the right time when the data type to compute the value at the right time when the data type
belongs to a function parameter. */ belongs to a function parameter. */
extern tree variable_size PROTO((tree)); extern tree variable_size PARAMS ((tree));
/* stabilize_reference (EXP) returns an reference equivalent to EXP /* stabilize_reference (EXP) returns an reference equivalent to EXP
but it can be used multiple times but it can be used multiple times
and only evaluate the subexpressions once. */ and only evaluate the subexpressions once. */
extern tree stabilize_reference PROTO((tree)); extern tree stabilize_reference PARAMS ((tree));
/* Subroutine of stabilize_reference; this is called for subtrees of /* Subroutine of stabilize_reference; this is called for subtrees of
references. Any expression with side-effects must be put in a SAVE_EXPR references. Any expression with side-effects must be put in a SAVE_EXPR
to ensure that it is only evaluated once. */ to ensure that it is only evaluated once. */
extern tree stabilize_reference_1 PROTO((tree)); extern tree stabilize_reference_1 PARAMS ((tree));
/* Return EXP, stripped of any conversions to wider types /* Return EXP, stripped of any conversions to wider types
in such a way that the result of converting to type FOR_TYPE in such a way that the result of converting to type FOR_TYPE
is the same as if EXP were converted to FOR_TYPE. is the same as if EXP were converted to FOR_TYPE.
If FOR_TYPE is 0, it signifies EXP's type. */ If FOR_TYPE is 0, it signifies EXP's type. */
extern tree get_unwidened PROTO((tree, tree)); extern tree get_unwidened PARAMS ((tree, tree));
/* Return OP or a simpler expression for a narrower value /* Return OP or a simpler expression for a narrower value
which can be sign-extended or zero-extended to give back OP. which can be sign-extended or zero-extended to give back OP.
Store in *UNSIGNEDP_PTR either 1 if the value should be zero-extended Store in *UNSIGNEDP_PTR either 1 if the value should be zero-extended
or 0 if the value should be sign-extended. */ or 0 if the value should be sign-extended. */
extern tree get_narrower PROTO((tree, int *)); extern tree get_narrower PARAMS ((tree, int *));
/* Given MODE and UNSIGNEDP, return a suitable type-tree /* Given MODE and UNSIGNEDP, return a suitable type-tree
with that mode. with that mode.
The definition of this resides in language-specific code The definition of this resides in language-specific code
as the repertoire of available types may vary. */ as the repertoire of available types may vary. */
extern tree type_for_mode PROTO((enum machine_mode, int)); extern tree type_for_mode PARAMS ((enum machine_mode, int));
/* Given PRECISION and UNSIGNEDP, return a suitable type-tree /* Given PRECISION and UNSIGNEDP, return a suitable type-tree
for an integer type with at least that precision. for an integer type with at least that precision.
The definition of this resides in language-specific code The definition of this resides in language-specific code
as the repertoire of available types may vary. */ as the repertoire of available types may vary. */
extern tree type_for_size PROTO((unsigned, int)); extern tree type_for_size PARAMS ((unsigned, int));
/* Given an integer type T, return a type like T but unsigned. /* Given an integer type T, return a type like T but unsigned.
If T is unsigned, the value is T. If T is unsigned, the value is T.
The definition of this resides in language-specific code The definition of this resides in language-specific code
as the repertoire of available types may vary. */ as the repertoire of available types may vary. */
extern tree unsigned_type PROTO((tree)); extern tree unsigned_type PARAMS ((tree));
/* Given an integer type T, return a type like T but signed. /* Given an integer type T, return a type like T but signed.
If T is signed, the value is T. If T is signed, the value is T.
The definition of this resides in language-specific code The definition of this resides in language-specific code
as the repertoire of available types may vary. */ as the repertoire of available types may vary. */
extern tree signed_type PROTO((tree)); extern tree signed_type PARAMS ((tree));
/* This function must be defined in the language-specific files. /* This function must be defined in the language-specific files.
expand_expr calls it to build the cleanup-expression for a TARGET_EXPR. expand_expr calls it to build the cleanup-expression for a TARGET_EXPR.
This is defined in a language-specific file. */ This is defined in a language-specific file. */
extern tree maybe_build_cleanup PROTO((tree)); extern tree maybe_build_cleanup PARAMS ((tree));
/* Given an expression EXP that may be a COMPONENT_REF or an ARRAY_REF, /* Given an expression EXP that may be a COMPONENT_REF or an ARRAY_REF,
look for nested component-refs or array-refs at constant positions look for nested component-refs or array-refs at constant positions
and find the ultimate containing object, which is returned. */ and find the ultimate containing object, which is returned. */
extern tree get_inner_reference PROTO((tree, int *, int *, tree *, extern tree get_inner_reference PARAMS ((tree, int *, int *, tree *,
enum machine_mode *, int *, enum machine_mode *, int *,
int *, int *)); int *, int *));
/* Given a DECL or TYPE, return the scope in which it was declared, or /* Given a DECL or TYPE, return the scope in which it was declared, or
NUL_TREE if there is no containing scope. */ NUL_TREE if there is no containing scope. */
extern tree get_containing_scope PROTO((tree)); extern tree get_containing_scope PARAMS ((tree));
/* Return the FUNCTION_DECL which provides this _DECL with its context, /* Return the FUNCTION_DECL which provides this _DECL with its context,
or zero if none. */ or zero if none. */
extern tree decl_function_context PROTO((tree)); extern tree decl_function_context PARAMS ((tree));
/* Return the RECORD_TYPE, UNION_TYPE, or QUAL_UNION_TYPE which provides /* Return the RECORD_TYPE, UNION_TYPE, or QUAL_UNION_TYPE which provides
this _DECL with its context, or zero if none. */ this _DECL with its context, or zero if none. */
extern tree decl_type_context PROTO((tree)); extern tree decl_type_context PARAMS ((tree));
/* Given the FUNCTION_DECL for the current function, /* Given the FUNCTION_DECL for the current function,
return zero if it is ok for this function to be inline. return zero if it is ok for this function to be inline.
Otherwise return a warning message with a single %s Otherwise return a warning message with a single %s
for the function's name. */ for the function's name. */
extern const char *function_cannot_inline_p PROTO((tree)); extern const char *function_cannot_inline_p PARAMS ((tree));
/* Return 1 if EXPR is the real constant zero. */ /* Return 1 if EXPR is the real constant zero. */
extern int real_zerop PROTO((tree)); extern int real_zerop PARAMS ((tree));
/* Declare commonly used variables for tree structure. */ /* Declare commonly used variables for tree structure. */
...@@ -2051,91 +2051,91 @@ extern int all_types_permanent; ...@@ -2051,91 +2051,91 @@ extern int all_types_permanent;
2: and any other information that might be interesting, such as function 2: and any other information that might be interesting, such as function
parameter types in C++. */ parameter types in C++. */
extern const char *(*decl_printable_name) PROTO((tree, int)); extern const char *(*decl_printable_name) PARAMS ((tree, int));
/* Pointer to function to finish handling an incomplete decl at the /* Pointer to function to finish handling an incomplete decl at the
end of compilation. */ end of compilation. */
extern void (*incomplete_decl_finalize_hook) PROTO((tree)); extern void (*incomplete_decl_finalize_hook) PARAMS ((tree));
extern char *init_parse PROTO((char *)); extern char *init_parse PARAMS ((char *));
extern void finish_parse PROTO((void)); extern void finish_parse PARAMS ((void));
extern const char * const language_string; extern const char * const language_string;
/* Declare a predefined function. Return the declaration. This function is /* Declare a predefined function. Return the declaration. This function is
provided by each language frontend. */ provided by each language frontend. */
extern tree builtin_function PROTO((const char *, tree, int, extern tree builtin_function PARAMS ((const char *, tree, int,
enum built_in_class, enum built_in_class,
const char *)); const char *));
/* In tree.c */ /* In tree.c */
extern char *perm_calloc PROTO((int, long)); extern char *perm_calloc PARAMS ((int, long));
extern tree get_file_function_name PROTO((int)); extern tree get_file_function_name PARAMS ((int));
extern tree get_file_function_name_long PROTO((const char *)); extern tree get_file_function_name_long PARAMS ((const char *));
extern tree get_set_constructor_bits PROTO((tree, char *, int)); extern tree get_set_constructor_bits PARAMS ((tree, char *, int));
extern tree get_set_constructor_bytes PROTO((tree, extern tree get_set_constructor_bytes PARAMS ((tree,
unsigned char *, int)); unsigned char *, int));
extern int get_alias_set PROTO((tree)); extern int get_alias_set PARAMS ((tree));
extern int new_alias_set PROTO((void)); extern int new_alias_set PARAMS ((void));
extern int (*lang_get_alias_set) PROTO((tree)); extern int (*lang_get_alias_set) PARAMS ((tree));
extern tree get_callee_fndecl PROTO((tree)); extern tree get_callee_fndecl PARAMS ((tree));
/* In stmt.c */ /* In stmt.c */
extern int in_control_zone_p PROTO((void)); extern int in_control_zone_p PARAMS ((void));
extern void expand_fixups PROTO((struct rtx_def *)); extern void expand_fixups PARAMS ((struct rtx_def *));
extern tree expand_start_stmt_expr PROTO((void)); extern tree expand_start_stmt_expr PARAMS ((void));
extern tree expand_end_stmt_expr PROTO((tree)); extern tree expand_end_stmt_expr PARAMS ((tree));
extern void expand_expr_stmt PROTO((tree)); extern void expand_expr_stmt PARAMS ((tree));
extern int warn_if_unused_value PROTO((tree)); extern int warn_if_unused_value PARAMS ((tree));
extern void expand_decl_init PROTO((tree)); extern void expand_decl_init PARAMS ((tree));
extern void clear_last_expr PROTO((void)); extern void clear_last_expr PARAMS ((void));
extern void expand_label PROTO((tree)); extern void expand_label PARAMS ((tree));
extern void expand_goto PROTO((tree)); extern void expand_goto PARAMS ((tree));
extern void expand_asm PROTO((tree)); extern void expand_asm PARAMS ((tree));
extern void expand_start_cond PROTO((tree, int)); extern void expand_start_cond PARAMS ((tree, int));
extern void expand_end_cond PROTO((void)); extern void expand_end_cond PARAMS ((void));
extern void expand_start_else PROTO((void)); extern void expand_start_else PARAMS ((void));
extern void expand_start_elseif PROTO((tree)); extern void expand_start_elseif PARAMS ((tree));
extern struct nesting *expand_start_loop PROTO((int)); extern struct nesting *expand_start_loop PARAMS ((int));
extern struct nesting *expand_start_loop_continue_elsewhere PROTO((int)); extern struct nesting *expand_start_loop_continue_elsewhere PARAMS ((int));
extern void expand_loop_continue_here PROTO((void)); extern void expand_loop_continue_here PARAMS ((void));
extern void expand_end_loop PROTO((void)); extern void expand_end_loop PARAMS ((void));
extern int expand_continue_loop PROTO((struct nesting *)); extern int expand_continue_loop PARAMS ((struct nesting *));
extern int expand_exit_loop PROTO((struct nesting *)); extern int expand_exit_loop PARAMS ((struct nesting *));
extern int expand_exit_loop_if_false PROTO((struct nesting *, extern int expand_exit_loop_if_false PARAMS ((struct nesting *,
tree)); tree));
extern int expand_exit_something PROTO((void)); extern int expand_exit_something PARAMS ((void));
extern void expand_null_return PROTO((void)); extern void expand_null_return PARAMS ((void));
extern void expand_return PROTO((tree)); extern void expand_return PARAMS ((tree));
extern int optimize_tail_recursion PROTO((tree, struct rtx_def *)); extern int optimize_tail_recursion PARAMS ((tree, struct rtx_def *));
extern void expand_start_bindings_and_block PROTO((int, tree)); extern void expand_start_bindings_and_block PARAMS ((int, tree));
#define expand_start_bindings(flags) \ #define expand_start_bindings(flags) \
expand_start_bindings_and_block(flags, NULL_TREE) expand_start_bindings_and_block(flags, NULL_TREE)
extern void expand_end_bindings PROTO((tree, int, int)); extern void expand_end_bindings PARAMS ((tree, int, int));
extern void warn_about_unused_variables PROTO((tree)); extern void warn_about_unused_variables PARAMS ((tree));
extern void start_cleanup_deferral PROTO((void)); extern void start_cleanup_deferral PARAMS ((void));
extern void end_cleanup_deferral PROTO((void)); extern void end_cleanup_deferral PARAMS ((void));
extern void mark_block_as_eh_region PROTO((void)); extern void mark_block_as_eh_region PARAMS ((void));
extern void mark_block_as_not_eh_region PROTO((void)); extern void mark_block_as_not_eh_region PARAMS ((void));
extern int is_eh_region PROTO((void)); extern int is_eh_region PARAMS ((void));
extern int conditional_context PROTO((void)); extern int conditional_context PARAMS ((void));
extern tree last_cleanup_this_contour PROTO((void)); extern tree last_cleanup_this_contour PARAMS ((void));
extern int expand_dhc_cleanup PROTO((tree)); extern int expand_dhc_cleanup PARAMS ((tree));
extern int expand_dcc_cleanup PROTO((tree)); extern int expand_dcc_cleanup PARAMS ((tree));
extern void expand_start_case PROTO((int, tree, tree, extern void expand_start_case PARAMS ((int, tree, tree,
const char *)); const char *));
extern void expand_end_case PROTO((tree)); extern void expand_end_case PARAMS ((tree));
extern int pushcase PROTO((tree, extern int pushcase PARAMS ((tree,
tree (*) (tree, tree), tree (*) (tree, tree),
tree, tree *)); tree, tree *));
extern int pushcase_range PROTO((tree, tree, extern int pushcase_range PARAMS ((tree, tree,
tree (*) (tree, tree), tree (*) (tree, tree),
tree, tree *)); tree, tree *));
extern void using_eh_for_cleanups PROTO((void)); extern void using_eh_for_cleanups PARAMS ((void));
extern int stmt_loop_nest_empty PROTO((void)); extern int stmt_loop_nest_empty PARAMS ((void));
/* In fold-const.c */ /* In fold-const.c */
...@@ -2145,327 +2145,327 @@ extern int stmt_loop_nest_empty PROTO((void)); ...@@ -2145,327 +2145,327 @@ extern int stmt_loop_nest_empty PROTO((void));
if the argument itself cannot be simplified, its if the argument itself cannot be simplified, its
subexpressions are not changed. */ subexpressions are not changed. */
extern tree fold PROTO((tree)); extern tree fold PARAMS ((tree));
extern int force_fit_type PROTO((tree, int)); extern int force_fit_type PARAMS ((tree, int));
extern int add_double PROTO((HOST_WIDE_INT, HOST_WIDE_INT, extern int add_double PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT,
HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT,
HOST_WIDE_INT *, HOST_WIDE_INT *)); HOST_WIDE_INT *, HOST_WIDE_INT *));
extern int neg_double PROTO((HOST_WIDE_INT, HOST_WIDE_INT, extern int neg_double PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT,
HOST_WIDE_INT *, HOST_WIDE_INT *)); HOST_WIDE_INT *, HOST_WIDE_INT *));
extern int mul_double PROTO((HOST_WIDE_INT, HOST_WIDE_INT, extern int mul_double PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT,
HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT,
HOST_WIDE_INT *, HOST_WIDE_INT *)); HOST_WIDE_INT *, HOST_WIDE_INT *));
extern void lshift_double PROTO((HOST_WIDE_INT, HOST_WIDE_INT, extern void lshift_double PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT,
HOST_WIDE_INT, int, HOST_WIDE_INT *, HOST_WIDE_INT, int, HOST_WIDE_INT *,
HOST_WIDE_INT *, int)); HOST_WIDE_INT *, int));
extern void rshift_double PROTO((HOST_WIDE_INT, HOST_WIDE_INT, extern void rshift_double PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT,
HOST_WIDE_INT, int, HOST_WIDE_INT, int,
HOST_WIDE_INT *, HOST_WIDE_INT *, int)); HOST_WIDE_INT *, HOST_WIDE_INT *, int));
extern void lrotate_double PROTO((HOST_WIDE_INT, HOST_WIDE_INT, extern void lrotate_double PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT,
HOST_WIDE_INT, int, HOST_WIDE_INT *, HOST_WIDE_INT, int, HOST_WIDE_INT *,
HOST_WIDE_INT *)); HOST_WIDE_INT *));
extern void rrotate_double PROTO((HOST_WIDE_INT, HOST_WIDE_INT, extern void rrotate_double PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT,
HOST_WIDE_INT, int, HOST_WIDE_INT *, HOST_WIDE_INT, int, HOST_WIDE_INT *,
HOST_WIDE_INT *)); HOST_WIDE_INT *));
extern int operand_equal_p PROTO((tree, tree, int)); extern int operand_equal_p PARAMS ((tree, tree, int));
extern tree invert_truthvalue PROTO((tree)); extern tree invert_truthvalue PARAMS ((tree));
/* In builtins.c. Given a type, apply default promotions wrt unnamed /* In builtins.c. Given a type, apply default promotions wrt unnamed
function arguments and return the new type. Return NULL_TREE if no function arguments and return the new type. Return NULL_TREE if no
change. Required by any language that supports variadic arguments. */ change. Required by any language that supports variadic arguments. */
extern tree (*lang_type_promotes_to) PROTO((tree)); extern tree (*lang_type_promotes_to) PARAMS ((tree));
/* Interface of the DWARF2 unwind info support. */ /* Interface of the DWARF2 unwind info support. */
/* Decide whether we want to emit frame unwind information for the current /* Decide whether we want to emit frame unwind information for the current
translation unit. */ translation unit. */
extern int dwarf2out_do_frame PROTO((void)); extern int dwarf2out_do_frame PARAMS ((void));
/* Generate a new label for the CFI info to refer to. */ /* Generate a new label for the CFI info to refer to. */
extern char *dwarf2out_cfi_label PROTO((void)); extern char *dwarf2out_cfi_label PARAMS ((void));
/* Entry point to update the canonical frame address (CFA). */ /* Entry point to update the canonical frame address (CFA). */
extern void dwarf2out_def_cfa PROTO((char *, unsigned, long)); extern void dwarf2out_def_cfa PARAMS ((char *, unsigned, long));
/* Add the CFI for saving a register window. */ /* Add the CFI for saving a register window. */
extern void dwarf2out_window_save PROTO((char *)); extern void dwarf2out_window_save PARAMS ((char *));
/* Add a CFI to update the running total of the size of arguments pushed /* Add a CFI to update the running total of the size of arguments pushed
onto the stack. */ onto the stack. */
extern void dwarf2out_args_size PROTO((char *, long)); extern void dwarf2out_args_size PARAMS ((char *, long));
/* Entry point for saving a register to the stack. */ /* Entry point for saving a register to the stack. */
extern void dwarf2out_reg_save PROTO((char *, unsigned, long)); extern void dwarf2out_reg_save PARAMS ((char *, unsigned, long));
/* Entry point for saving the return address in the stack. */ /* Entry point for saving the return address in the stack. */
extern void dwarf2out_return_save PROTO((char *, long)); extern void dwarf2out_return_save PARAMS ((char *, long));
/* Entry point for saving the return address in a register. */ /* Entry point for saving the return address in a register. */
extern void dwarf2out_return_reg PROTO((char *, unsigned)); extern void dwarf2out_return_reg PARAMS ((char *, unsigned));
/* Output a marker (i.e. a label) for the beginning of a function, before /* Output a marker (i.e. a label) for the beginning of a function, before
the prologue. */ the prologue. */
extern void dwarf2out_begin_prologue PROTO((void)); extern void dwarf2out_begin_prologue PARAMS ((void));
/* Output a marker (i.e. a label) for the absolute end of the generated /* Output a marker (i.e. a label) for the absolute end of the generated
code for a function definition. */ code for a function definition. */
extern void dwarf2out_end_epilogue PROTO((void)); extern void dwarf2out_end_epilogue PARAMS ((void));
/* The language front-end must define these functions. */ /* The language front-end must define these functions. */
/* Function of no arguments for initializing options. */ /* Function of no arguments for initializing options. */
extern void lang_init_options PROTO((void)); extern void lang_init_options PARAMS ((void));
/* Function of no arguments for initializing lexical scanning. */ /* Function of no arguments for initializing lexical scanning. */
extern void init_lex PROTO((void)); extern void init_lex PARAMS ((void));
/* Function of no arguments for initializing the symbol table. */ /* Function of no arguments for initializing the symbol table. */
extern void init_decl_processing PROTO((void)); extern void init_decl_processing PARAMS ((void));
/* Functions called with no arguments at the beginning and end or processing /* Functions called with no arguments at the beginning and end or processing
the input source file. */ the input source file. */
extern void lang_init PROTO((void)); extern void lang_init PARAMS ((void));
extern void lang_finish PROTO((void)); extern void lang_finish PARAMS ((void));
/* Function to identify which front-end produced the output file. */ /* Function to identify which front-end produced the output file. */
extern const char *lang_identify PROTO((void)); extern const char *lang_identify PARAMS ((void));
/* Called by report_error_function to print out function name. /* Called by report_error_function to print out function name.
* Default may be overridden by language front-ends. */ * Default may be overridden by language front-ends. */
extern void (*print_error_function) PROTO((const char *)); extern void (*print_error_function) PARAMS ((const char *));
/* Function to replace the DECL_LANG_SPECIFIC field of a DECL with a copy. */ /* Function to replace the DECL_LANG_SPECIFIC field of a DECL with a copy. */
extern void copy_lang_decl PROTO((tree)); extern void copy_lang_decl PARAMS ((tree));
/* Function called with no arguments to parse and compile the input. */ /* Function called with no arguments to parse and compile the input. */
extern int yyparse PROTO((void)); extern int yyparse PARAMS ((void));
/* Function called with option as argument /* Function called with option as argument
to decode options starting with -f or -W or +. to decode options starting with -f or -W or +.
It should return nonzero if it handles the option. */ It should return nonzero if it handles the option. */
extern int lang_decode_option PROTO((int, char **)); extern int lang_decode_option PARAMS ((int, char **));
/* Functions for processing symbol declarations. */ /* Functions for processing symbol declarations. */
/* Function to enter a new lexical scope. /* Function to enter a new lexical scope.
Takes one argument: always zero when called from outside the front end. */ Takes one argument: always zero when called from outside the front end. */
extern void pushlevel PROTO((int)); extern void pushlevel PARAMS ((int));
/* Function to exit a lexical scope. It returns a BINDING for that scope. /* Function to exit a lexical scope. It returns a BINDING for that scope.
Takes three arguments: Takes three arguments:
KEEP -- nonzero if there were declarations in this scope. KEEP -- nonzero if there were declarations in this scope.
REVERSE -- reverse the order of decls before returning them. REVERSE -- reverse the order of decls before returning them.
FUNCTIONBODY -- nonzero if this level is the body of a function. */ FUNCTIONBODY -- nonzero if this level is the body of a function. */
extern tree poplevel PROTO((int, int, int)); extern tree poplevel PARAMS ((int, int, int));
/* Set the BLOCK node for the current scope level. */ /* Set the BLOCK node for the current scope level. */
extern void set_block PROTO((tree)); extern void set_block PARAMS ((tree));
/* Function to add a decl to the current scope level. /* Function to add a decl to the current scope level.
Takes one argument, a decl to add. Takes one argument, a decl to add.
Returns that decl, or, if the same symbol is already declared, may Returns that decl, or, if the same symbol is already declared, may
return a different decl for that name. */ return a different decl for that name. */
extern tree pushdecl PROTO((tree)); extern tree pushdecl PARAMS ((tree));
/* Function to return the chain of decls so far in the current scope level. */ /* Function to return the chain of decls so far in the current scope level. */
extern tree getdecls PROTO((void)); extern tree getdecls PARAMS ((void));
/* Function to return the chain of structure tags in the current scope level. */ /* Function to return the chain of structure tags in the current scope level. */
extern tree gettags PROTO((void)); extern tree gettags PARAMS ((void));
extern tree build_range_type PROTO((tree, tree, tree)); extern tree build_range_type PARAMS ((tree, tree, tree));
/* Call when starting to parse a declaration: /* Call when starting to parse a declaration:
make expressions in the declaration last the length of the function. make expressions in the declaration last the length of the function.
Returns an argument that should be passed to resume_momentary later. */ Returns an argument that should be passed to resume_momentary later. */
extern int suspend_momentary PROTO((void)); extern int suspend_momentary PARAMS ((void));
extern int allocation_temporary_p PROTO((void)); extern int allocation_temporary_p PARAMS ((void));
/* Call when finished parsing a declaration: /* Call when finished parsing a declaration:
restore the treatment of node-allocation that was restore the treatment of node-allocation that was
in effect before the suspension. in effect before the suspension.
YES should be the value previously returned by suspend_momentary. */ YES should be the value previously returned by suspend_momentary. */
extern void resume_momentary PROTO((int)); extern void resume_momentary PARAMS ((int));
/* Called after finishing a record, union or enumeral type. */ /* Called after finishing a record, union or enumeral type. */
extern void rest_of_type_compilation PROTO((tree, int)); extern void rest_of_type_compilation PARAMS ((tree, int));
/* Save the current set of obstacks, but don't change them. */ /* Save the current set of obstacks, but don't change them. */
extern void push_obstacks_nochange PROTO((void)); extern void push_obstacks_nochange PARAMS ((void));
extern void permanent_allocation PROTO((int)); extern void permanent_allocation PARAMS ((int));
extern void push_momentary PROTO((void)); extern void push_momentary PARAMS ((void));
extern void clear_momentary PROTO((void)); extern void clear_momentary PARAMS ((void));
extern void pop_momentary PROTO((void)); extern void pop_momentary PARAMS ((void));
extern void end_temporary_allocation PROTO((void)); extern void end_temporary_allocation PARAMS ((void));
/* Pop the obstack selection stack. */ /* Pop the obstack selection stack. */
extern void pop_obstacks PROTO((void)); extern void pop_obstacks PARAMS ((void));
/* In tree.c */ /* In tree.c */
extern int really_constant_p PROTO ((tree)); extern int really_constant_p PARAMS ((tree));
extern void push_obstacks PROTO ((struct obstack *, extern void push_obstacks PARAMS ((struct obstack *,
struct obstack *)); struct obstack *));
extern void pop_momentary_nofree PROTO ((void)); extern void pop_momentary_nofree PARAMS ((void));
extern void preserve_momentary PROTO ((void)); extern void preserve_momentary PARAMS ((void));
extern void saveable_allocation PROTO ((void)); extern void saveable_allocation PARAMS ((void));
extern void temporary_allocation PROTO ((void)); extern void temporary_allocation PARAMS ((void));
extern void resume_temporary_allocation PROTO ((void)); extern void resume_temporary_allocation PARAMS ((void));
extern tree get_file_function_name PROTO ((int)); extern tree get_file_function_name PARAMS ((int));
extern void set_identifier_size PROTO ((int)); extern void set_identifier_size PARAMS ((int));
extern int int_fits_type_p PROTO ((tree, tree)); extern int int_fits_type_p PARAMS ((tree, tree));
extern int tree_log2 PROTO ((tree)); extern int tree_log2 PARAMS ((tree));
extern void preserve_initializer PROTO ((void)); extern void preserve_initializer PARAMS ((void));
extern void preserve_data PROTO ((void)); extern void preserve_data PARAMS ((void));
extern int object_permanent_p PROTO ((tree)); extern int object_permanent_p PARAMS ((tree));
extern int type_precision PROTO ((tree)); extern int type_precision PARAMS ((tree));
extern int simple_cst_equal PROTO ((tree, tree)); extern int simple_cst_equal PARAMS ((tree, tree));
extern int type_list_equal PROTO ((tree, tree)); extern int type_list_equal PARAMS ((tree, tree));
extern int chain_member PROTO ((tree, tree)); extern int chain_member PARAMS ((tree, tree));
extern int chain_member_purpose PROTO ((tree, tree)); extern int chain_member_purpose PARAMS ((tree, tree));
extern int chain_member_value PROTO ((tree, tree)); extern int chain_member_value PARAMS ((tree, tree));
extern tree listify PROTO ((tree)); extern tree listify PARAMS ((tree));
extern tree type_hash_lookup PROTO ((int, tree)); extern tree type_hash_lookup PARAMS ((int, tree));
extern void type_hash_add PROTO ((int, tree)); extern void type_hash_add PARAMS ((int, tree));
extern int type_hash_list PROTO ((tree)); extern int type_hash_list PARAMS ((tree));
extern int simple_cst_list_equal PROTO ((tree, tree)); extern int simple_cst_list_equal PARAMS ((tree, tree));
extern void debug_obstack PROTO ((char *)); extern void debug_obstack PARAMS ((char *));
extern void rtl_in_current_obstack PROTO ((void)); extern void rtl_in_current_obstack PARAMS ((void));
extern void rtl_in_saveable_obstack PROTO ((void)); extern void rtl_in_saveable_obstack PARAMS ((void));
extern void init_tree_codes PROTO ((void)); extern void init_tree_codes PARAMS ((void));
extern void dump_tree_statistics PROTO ((void)); extern void dump_tree_statistics PARAMS ((void));
extern void print_obstack_statistics PROTO ((const char *, extern void print_obstack_statistics PARAMS ((const char *,
struct obstack *)); struct obstack *));
#ifdef BUFSIZ #ifdef BUFSIZ
extern void print_obstack_name PROTO ((char *, FILE *, const char *)); extern void print_obstack_name PARAMS ((char *, FILE *, const char *));
#endif #endif
extern void expand_function_end PROTO ((char *, int, int)); extern void expand_function_end PARAMS ((char *, int, int));
extern void expand_function_start PROTO ((tree, int)); extern void expand_function_start PARAMS ((tree, int));
extern int real_onep PROTO ((tree)); extern int real_onep PARAMS ((tree));
extern int real_twop PROTO ((tree)); extern int real_twop PARAMS ((tree));
extern void start_identifier_warnings PROTO ((void)); extern void start_identifier_warnings PARAMS ((void));
extern void gcc_obstack_init PROTO ((struct obstack *)); extern void gcc_obstack_init PARAMS ((struct obstack *));
extern void init_obstacks PROTO ((void)); extern void init_obstacks PARAMS ((void));
extern void obfree PROTO ((char *)); extern void obfree PARAMS ((char *));
extern void build_common_tree_nodes PROTO ((int)); extern void build_common_tree_nodes PARAMS ((int));
extern void build_common_tree_nodes_2 PROTO ((int)); extern void build_common_tree_nodes_2 PARAMS ((int));
/* In function.c */ /* In function.c */
extern void setjmp_protect_args PROTO ((void)); extern void setjmp_protect_args PARAMS ((void));
extern void setjmp_protect PROTO ((tree)); extern void setjmp_protect PARAMS ((tree));
extern void expand_main_function PROTO ((void)); extern void expand_main_function PARAMS ((void));
extern void mark_varargs PROTO ((void)); extern void mark_varargs PARAMS ((void));
extern void init_dummy_function_start PROTO ((void)); extern void init_dummy_function_start PARAMS ((void));
extern void expand_dummy_function_end PROTO ((void)); extern void expand_dummy_function_end PARAMS ((void));
extern void init_function_for_compilation PROTO ((void)); extern void init_function_for_compilation PARAMS ((void));
extern void init_function_start PROTO ((tree, char *, int)); extern void init_function_start PARAMS ((tree, char *, int));
extern void assign_parms PROTO ((tree)); extern void assign_parms PARAMS ((tree));
extern void put_var_into_stack PROTO ((tree)); extern void put_var_into_stack PARAMS ((tree));
extern void uninitialized_vars_warning PROTO ((tree)); extern void uninitialized_vars_warning PARAMS ((tree));
extern void setjmp_args_warning PROTO ((void)); extern void setjmp_args_warning PARAMS ((void));
extern void mark_all_temps_used PROTO ((void)); extern void mark_all_temps_used PARAMS ((void));
extern void init_temp_slots PROTO ((void)); extern void init_temp_slots PARAMS ((void));
extern void combine_temp_slots PROTO ((void)); extern void combine_temp_slots PARAMS ((void));
extern void free_temp_slots PROTO ((void)); extern void free_temp_slots PARAMS ((void));
extern void pop_temp_slots PROTO ((void)); extern void pop_temp_slots PARAMS ((void));
extern void push_temp_slots PROTO ((void)); extern void push_temp_slots PARAMS ((void));
extern void preserve_temp_slots PROTO ((struct rtx_def *)); extern void preserve_temp_slots PARAMS ((struct rtx_def *));
extern int aggregate_value_p PROTO ((tree)); extern int aggregate_value_p PARAMS ((tree));
extern tree reorder_blocks PROTO ((tree, extern tree reorder_blocks PARAMS ((tree,
struct rtx_def *)); struct rtx_def *));
extern void free_temps_for_rtl_expr PROTO ((tree)); extern void free_temps_for_rtl_expr PARAMS ((tree));
extern void instantiate_virtual_regs PROTO ((tree, struct rtx_def *)); extern void instantiate_virtual_regs PARAMS ((tree, struct rtx_def *));
extern int max_parm_reg_num PROTO ((void)); extern int max_parm_reg_num PARAMS ((void));
extern void push_function_context PROTO ((void)); extern void push_function_context PARAMS ((void));
extern void pop_function_context PROTO ((void)); extern void pop_function_context PARAMS ((void));
extern void push_function_context_to PROTO ((tree)); extern void push_function_context_to PARAMS ((tree));
extern void pop_function_context_from PROTO ((tree)); extern void pop_function_context_from PARAMS ((tree));
/* In print-rtl.c */ /* In print-rtl.c */
#ifdef BUFSIZ #ifdef BUFSIZ
extern void print_rtl PROTO ((FILE *, struct rtx_def *)); extern void print_rtl PARAMS ((FILE *, struct rtx_def *));
#endif #endif
/* In print-tree.c */ /* In print-tree.c */
extern void debug_tree PROTO ((tree)); extern void debug_tree PARAMS ((tree));
#ifdef BUFSIZ #ifdef BUFSIZ
extern void print_node PROTO ((FILE *, const char *, tree, int)); extern void print_node PARAMS ((FILE *, const char *, tree, int));
extern void print_node_brief PROTO ((FILE *, const char *, tree, int)); extern void print_node_brief PARAMS ((FILE *, const char *, tree, int));
extern void indent_to PROTO ((FILE *, int)); extern void indent_to PARAMS ((FILE *, int));
#endif #endif
/* In expr.c */ /* In expr.c */
extern void emit_queue PROTO ((void)); extern void emit_queue PARAMS ((void));
extern int apply_args_register_offset PROTO ((int)); extern int apply_args_register_offset PARAMS ((int));
extern struct rtx_def *expand_builtin_return_addr extern struct rtx_def *expand_builtin_return_addr
PROTO ((enum built_in_function, int, struct rtx_def *)); PARAMS ((enum built_in_function, int, struct rtx_def *));
extern void do_pending_stack_adjust PROTO ((void)); extern void do_pending_stack_adjust PARAMS ((void));
extern struct rtx_def *expand_assignment PROTO ((tree, tree, int, int)); extern struct rtx_def *expand_assignment PARAMS ((tree, tree, int, int));
extern struct rtx_def *store_expr PROTO ((tree, struct rtx_def *, extern struct rtx_def *store_expr PARAMS ((tree, struct rtx_def *,
int)); int));
extern void check_max_integer_computation_mode PROTO ((tree)); extern void check_max_integer_computation_mode PARAMS ((tree));
/* In emit-rtl.c */ /* In emit-rtl.c */
extern void start_sequence_for_rtl_expr PROTO ((tree)); extern void start_sequence_for_rtl_expr PARAMS ((tree));
extern struct rtx_def *emit_line_note_after PROTO ((char *, int, extern struct rtx_def *emit_line_note_after PARAMS ((char *, int,
struct rtx_def *)); struct rtx_def *));
extern struct rtx_def *emit_line_note PROTO ((char *, int)); extern struct rtx_def *emit_line_note PARAMS ((char *, int));
extern struct rtx_def *emit_line_note_force PROTO ((char *, int)); extern struct rtx_def *emit_line_note_force PARAMS ((char *, int));
/* In calls.c */ /* In calls.c */
extern void special_function_p PROTO ((tree, int *, int *, extern void special_function_p PARAMS ((tree, int *, int *,
int *, int *)); int *, int *));
/* In c-typeck.c */ /* In c-typeck.c */
extern int mark_addressable PROTO ((tree)); extern int mark_addressable PARAMS ((tree));
extern void incomplete_type_error PROTO ((tree, tree)); extern void incomplete_type_error PARAMS ((tree, tree));
/* In c-lang.c */ /* In c-lang.c */
extern void print_lang_statistics PROTO ((void)); extern void print_lang_statistics PARAMS ((void));
/* In c-common.c */ /* In c-common.c */
extern tree truthvalue_conversion PROTO ((tree)); extern tree truthvalue_conversion PARAMS ((tree));
extern int min_precision PROTO ((tree, int)); extern int min_precision PARAMS ((tree, int));
extern void split_specs_attrs PROTO ((tree, tree *, tree *)); extern void split_specs_attrs PARAMS ((tree, tree *, tree *));
/* In c-decl.c */ /* In c-decl.c */
#ifdef BUFSIZ #ifdef BUFSIZ
extern void print_lang_decl PROTO ((FILE *, tree, int)); extern void print_lang_decl PARAMS ((FILE *, tree, int));
extern void print_lang_type PROTO ((FILE *, tree, int)); extern void print_lang_type PARAMS ((FILE *, tree, int));
extern void print_lang_identifier PROTO ((FILE *, tree, int)); extern void print_lang_identifier PARAMS ((FILE *, tree, int));
#endif #endif
extern int global_bindings_p PROTO ((void)); extern int global_bindings_p PARAMS ((void));
extern void insert_block PROTO ((tree)); extern void insert_block PARAMS ((tree));
/* In integrate.c */ /* In integrate.c */
extern void save_for_inline_nocopy PROTO ((tree)); extern void save_for_inline_nocopy PARAMS ((tree));
extern void save_for_inline_copying PROTO ((tree)); extern void save_for_inline_copying PARAMS ((tree));
extern void set_decl_abstract_flags PROTO ((tree, int)); extern void set_decl_abstract_flags PARAMS ((tree, int));
extern void output_inline_function PROTO ((tree)); extern void output_inline_function PARAMS ((tree));
/* In c-lex.c */ /* In c-lex.c */
extern void set_yydebug PROTO ((int)); extern void set_yydebug PARAMS ((int));
/* In stor-layout.c */ /* In stor-layout.c */
extern void fixup_signed_type PROTO ((tree)); extern void fixup_signed_type PARAMS ((tree));
/* varasm.c */ /* varasm.c */
extern void make_decl_rtl PROTO ((tree, const char *, int)); extern void make_decl_rtl PARAMS ((tree, const char *, int));
extern void make_decl_one_only PROTO ((tree)); extern void make_decl_one_only PARAMS ((tree));
extern int supports_one_only PROTO ((void)); extern int supports_one_only PARAMS ((void));
extern void variable_section PROTO ((tree, int)); extern void variable_section PARAMS ((tree, int));
/* In fold-const.c */ /* In fold-const.c */
extern int div_and_round_double PROTO ((enum tree_code, int, extern int div_and_round_double PARAMS ((enum tree_code, int,
HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT,
HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT,
HOST_WIDE_INT *, HOST_WIDE_INT *,
...@@ -2474,82 +2474,82 @@ extern int div_and_round_double PROTO ((enum tree_code, int, ...@@ -2474,82 +2474,82 @@ extern int div_and_round_double PROTO ((enum tree_code, int,
HOST_WIDE_INT *)); HOST_WIDE_INT *));
/* In stmt.c */ /* In stmt.c */
extern void emit_nop PROTO ((void)); extern void emit_nop PARAMS ((void));
extern void expand_computed_goto PROTO ((tree)); extern void expand_computed_goto PARAMS ((tree));
extern struct rtx_def *label_rtx PROTO ((tree)); extern struct rtx_def *label_rtx PARAMS ((tree));
extern void expand_asm_operands PROTO ((tree, tree, tree, tree, int, extern void expand_asm_operands PARAMS ((tree, tree, tree, tree, int,
char *, int)); char *, int));
extern int any_pending_cleanups PROTO ((int)); extern int any_pending_cleanups PARAMS ((int));
extern void init_stmt PROTO ((void)); extern void init_stmt PARAMS ((void));
extern void init_stmt_for_function PROTO ((void)); extern void init_stmt_for_function PARAMS ((void));
extern int drop_through_at_end_p PROTO ((void)); extern int drop_through_at_end_p PARAMS ((void));
extern void expand_start_target_temps PROTO ((void)); extern void expand_start_target_temps PARAMS ((void));
extern void expand_end_target_temps PROTO ((void)); extern void expand_end_target_temps PARAMS ((void));
extern void expand_elseif PROTO ((tree)); extern void expand_elseif PARAMS ((tree));
extern void expand_decl PROTO ((tree)); extern void expand_decl PARAMS ((tree));
extern int expand_decl_cleanup PROTO ((tree, tree)); extern int expand_decl_cleanup PARAMS ((tree, tree));
extern void expand_anon_union_decl PROTO ((tree, tree, tree)); extern void expand_anon_union_decl PARAMS ((tree, tree, tree));
extern void move_cleanups_up PROTO ((void)); extern void move_cleanups_up PARAMS ((void));
extern void expand_start_case_dummy PROTO ((void)); extern void expand_start_case_dummy PARAMS ((void));
extern void expand_end_case_dummy PROTO ((void)); extern void expand_end_case_dummy PARAMS ((void));
extern tree case_index_expr_type PROTO ((void)); extern tree case_index_expr_type PARAMS ((void));
extern HOST_WIDE_INT all_cases_count PROTO ((tree, int *)); extern HOST_WIDE_INT all_cases_count PARAMS ((tree, int *));
extern void check_for_full_enumeration_handling PROTO ((tree)); extern void check_for_full_enumeration_handling PARAMS ((tree));
extern void declare_nonlocal_label PROTO ((tree)); extern void declare_nonlocal_label PARAMS ((tree));
#ifdef BUFSIZ #ifdef BUFSIZ
extern void lang_print_xnode PROTO ((FILE *, tree, int)); extern void lang_print_xnode PARAMS ((FILE *, tree, int));
#endif #endif
/* If KIND=='I', return a suitable global initializer (constructor) name. /* If KIND=='I', return a suitable global initializer (constructor) name.
If KIND=='D', return a suitable global clean-up (destructor) name. */ If KIND=='D', return a suitable global clean-up (destructor) name. */
extern tree get_file_function_name PROTO((int)); extern tree get_file_function_name PARAMS ((int));
/* Interface of the DWARF2 unwind info support. */ /* Interface of the DWARF2 unwind info support. */
/* Decide whether we want to emit frame unwind information for the current /* Decide whether we want to emit frame unwind information for the current
translation unit. */ translation unit. */
extern int dwarf2out_do_frame PROTO((void)); extern int dwarf2out_do_frame PARAMS ((void));
/* Generate a new label for the CFI info to refer to. */ /* Generate a new label for the CFI info to refer to. */
extern char *dwarf2out_cfi_label PROTO((void)); extern char *dwarf2out_cfi_label PARAMS ((void));
/* Entry point to update the canonical frame address (CFA). */ /* Entry point to update the canonical frame address (CFA). */
extern void dwarf2out_def_cfa PROTO((char *, unsigned, long)); extern void dwarf2out_def_cfa PARAMS ((char *, unsigned, long));
/* Add the CFI for saving a register window. */ /* Add the CFI for saving a register window. */
extern void dwarf2out_window_save PROTO((char *)); extern void dwarf2out_window_save PARAMS ((char *));
/* Add a CFI to update the running total of the size of arguments pushed /* Add a CFI to update the running total of the size of arguments pushed
onto the stack. */ onto the stack. */
extern void dwarf2out_args_size PROTO((char *, long)); extern void dwarf2out_args_size PARAMS ((char *, long));
/* Entry point for saving a register to the stack. */ /* Entry point for saving a register to the stack. */
extern void dwarf2out_reg_save PROTO((char *, unsigned, long)); extern void dwarf2out_reg_save PARAMS ((char *, unsigned, long));
/* Entry point for saving the return address in the stack. */ /* Entry point for saving the return address in the stack. */
extern void dwarf2out_return_save PROTO((char *, long)); extern void dwarf2out_return_save PARAMS ((char *, long));
/* Entry point for saving the return address in a register. */ /* Entry point for saving the return address in a register. */
extern void dwarf2out_return_reg PROTO((char *, unsigned)); extern void dwarf2out_return_reg PARAMS ((char *, unsigned));
/* Output a marker (i.e. a label) for the beginning of a function, before /* Output a marker (i.e. a label) for the beginning of a function, before
the prologue. */ the prologue. */
extern void dwarf2out_begin_prologue PROTO((void)); extern void dwarf2out_begin_prologue PARAMS ((void));
/* Output a marker (i.e. a label) for the absolute end of the generated /* Output a marker (i.e. a label) for the absolute end of the generated
code for a function definition. */ code for a function definition. */
extern void dwarf2out_end_epilogue PROTO((void)); extern void dwarf2out_end_epilogue PARAMS ((void));
/* Redefine abort to report an internal error w/o coredump, and /* Redefine abort to report an internal error w/o coredump, and
reporting the location of the error in the source file. This logic reporting the location of the error in the source file. This logic
...@@ -2557,7 +2557,7 @@ extern void dwarf2out_end_epilogue PROTO((void)); ...@@ -2557,7 +2557,7 @@ extern void dwarf2out_end_epilogue PROTO((void));
special abort includes one or both. toplev.h gets too few files, special abort includes one or both. toplev.h gets too few files,
system.h gets too many. */ system.h gets too many. */
extern void fancy_abort PROTO((const char *, int, const char *)) extern void fancy_abort PARAMS ((const char *, int, const char *))
ATTRIBUTE_NORETURN; ATTRIBUTE_NORETURN;
#if (GCC_VERSION >= 2007) #if (GCC_VERSION >= 2007)
#define abort() fancy_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__) #define abort() fancy_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__)
......
...@@ -194,24 +194,24 @@ static int *splittable_regs_updates; ...@@ -194,24 +194,24 @@ static int *splittable_regs_updates;
/* Forward declarations. */ /* Forward declarations. */
static void init_reg_map PROTO((struct inline_remap *, int)); static void init_reg_map PARAMS ((struct inline_remap *, int));
static rtx calculate_giv_inc PROTO((rtx, rtx, int)); static rtx calculate_giv_inc PARAMS ((rtx, rtx, int));
static rtx initial_reg_note_copy PROTO((rtx, struct inline_remap *)); static rtx initial_reg_note_copy PARAMS ((rtx, struct inline_remap *));
static void final_reg_note_copy PROTO((rtx, struct inline_remap *)); static void final_reg_note_copy PARAMS ((rtx, struct inline_remap *));
static void copy_loop_body PROTO((rtx, rtx, struct inline_remap *, rtx, int, static void copy_loop_body PARAMS ((rtx, rtx, struct inline_remap *, rtx, int,
enum unroll_types, rtx, rtx, rtx, rtx)); enum unroll_types, rtx, rtx, rtx, rtx));
static void iteration_info PROTO((rtx, rtx *, rtx *, rtx, rtx)); static void iteration_info PARAMS ((rtx, rtx *, rtx *, rtx, rtx));
static int find_splittable_regs PROTO((enum unroll_types, rtx, rtx, rtx, int, static int find_splittable_regs PARAMS ((enum unroll_types, rtx, rtx, rtx, int,
unsigned HOST_WIDE_INT)); unsigned HOST_WIDE_INT));
static int find_splittable_givs PROTO((struct iv_class *, enum unroll_types, static int find_splittable_givs PARAMS ((struct iv_class *, enum unroll_types,
rtx, rtx, rtx, int)); rtx, rtx, rtx, int));
static int reg_dead_after_loop PROTO((rtx, rtx, rtx)); static int reg_dead_after_loop PARAMS ((rtx, rtx, rtx));
static rtx fold_rtx_mult_add PROTO((rtx, rtx, rtx, enum machine_mode)); static rtx fold_rtx_mult_add PARAMS ((rtx, rtx, rtx, enum machine_mode));
static int verify_addresses PROTO((struct induction *, rtx, int)); static int verify_addresses PARAMS ((struct induction *, rtx, int));
static rtx remap_split_bivs PROTO((rtx)); static rtx remap_split_bivs PARAMS ((rtx));
static rtx find_common_reg_term PROTO((rtx, rtx)); static rtx find_common_reg_term PARAMS ((rtx, rtx));
static rtx subtract_reg_term PROTO((rtx, rtx)); static rtx subtract_reg_term PARAMS ((rtx, rtx));
static rtx loop_find_equiv_value PROTO((rtx, rtx)); static rtx loop_find_equiv_value PARAMS ((rtx, rtx));
/* Try to unroll one loop and split induction variables in the loop. /* Try to unroll one loop and split induction variables in the loop.
......
...@@ -149,45 +149,45 @@ int size_directive_output; ...@@ -149,45 +149,45 @@ int size_directive_output;
tree last_assemble_variable_decl; tree last_assemble_variable_decl;
static const char *strip_reg_name PROTO((const char *)); static const char *strip_reg_name PARAMS ((const char *));
static int contains_pointers_p PROTO((tree)); static int contains_pointers_p PARAMS ((tree));
static void decode_addr_const PROTO((tree, struct addr_const *)); static void decode_addr_const PARAMS ((tree, struct addr_const *));
static int const_hash PROTO((tree)); static int const_hash PARAMS ((tree));
static int compare_constant PROTO((tree, static int compare_constant PARAMS ((tree,
struct constant_descriptor *)); struct constant_descriptor *));
static char *compare_constant_1 PROTO((tree, char *)); static char *compare_constant_1 PARAMS ((tree, char *));
static struct constant_descriptor *record_constant PROTO((tree)); static struct constant_descriptor *record_constant PARAMS ((tree));
static void record_constant_1 PROTO((tree)); static void record_constant_1 PARAMS ((tree));
static tree copy_constant PROTO((tree)); static tree copy_constant PARAMS ((tree));
static void output_constant_def_contents PROTO((tree, int, int)); static void output_constant_def_contents PARAMS ((tree, int, int));
static void decode_rtx_const PROTO((enum machine_mode, rtx, static void decode_rtx_const PARAMS ((enum machine_mode, rtx,
struct rtx_const *)); struct rtx_const *));
static int const_hash_rtx PROTO((enum machine_mode, rtx)); static int const_hash_rtx PARAMS ((enum machine_mode, rtx));
static int compare_constant_rtx PROTO((enum machine_mode, rtx, static int compare_constant_rtx PARAMS ((enum machine_mode, rtx,
struct constant_descriptor *)); struct constant_descriptor *));
static struct constant_descriptor *record_constant_rtx PROTO((enum machine_mode, static struct constant_descriptor *record_constant_rtx PARAMS ((enum machine_mode,
rtx)); rtx));
static struct pool_constant *find_pool_constant PROTO((struct function *, rtx)); static struct pool_constant *find_pool_constant PARAMS ((struct function *, rtx));
static void mark_constant_pool PROTO((void)); static void mark_constant_pool PARAMS ((void));
static void mark_constants PROTO((rtx)); static void mark_constants PARAMS ((rtx));
static int output_addressed_constants PROTO((tree)); static int output_addressed_constants PARAMS ((tree));
static void output_after_function_constants PROTO((void)); static void output_after_function_constants PARAMS ((void));
static void output_constructor PROTO((tree, int)); static void output_constructor PARAMS ((tree, int));
#ifdef ASM_WEAKEN_LABEL #ifdef ASM_WEAKEN_LABEL
static void remove_from_pending_weak_list PROTO ((char *)); static void remove_from_pending_weak_list PARAMS ((char *));
#endif #endif
#ifdef ASM_OUTPUT_BSS #ifdef ASM_OUTPUT_BSS
static void asm_output_bss PROTO((FILE *, tree, char *, int, int)); static void asm_output_bss PARAMS ((FILE *, tree, char *, int, int));
#endif #endif
#ifdef BSS_SECTION_ASM_OP #ifdef BSS_SECTION_ASM_OP
#ifdef ASM_OUTPUT_ALIGNED_BSS #ifdef ASM_OUTPUT_ALIGNED_BSS
static void asm_output_aligned_bss PROTO((FILE *, tree, char *, int, int)); static void asm_output_aligned_bss PARAMS ((FILE *, tree, char *, int, int));
#endif #endif
#endif /* BSS_SECTION_ASM_OP */ #endif /* BSS_SECTION_ASM_OP */
static void mark_pool_constant PROTO((struct pool_constant *)); static void mark_pool_constant PARAMS ((struct pool_constant *));
static void mark_pool_sym_hash_table PROTO((struct pool_sym **)); static void mark_pool_sym_hash_table PARAMS ((struct pool_sym **));
static void mark_const_hash_entry PROTO((void *)); static void mark_const_hash_entry PARAMS ((void *));
static void asm_emit_uninitialised PROTO((tree, char *, int, int)); static void asm_emit_uninitialised PARAMS ((tree, char *, int, int));
static enum in_section { no_section, in_text, in_data, in_named static enum in_section { no_section, in_text, in_data, in_named
#ifdef BSS_SECTION_ASM_OP #ifdef BSS_SECTION_ASM_OP
......
...@@ -74,7 +74,7 @@ varray_grow (va, n) ...@@ -74,7 +74,7 @@ varray_grow (va, n)
#if defined ENABLE_CHECKING && (GCC_VERSION >= 2007) #if defined ENABLE_CHECKING && (GCC_VERSION >= 2007)
extern void error PVPROTO ((const char *, ...)) ATTRIBUTE_PRINTF_1; extern void error PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1;
void void
varray_check_failed (va, n, file, line, function) varray_check_failed (va, n, file, line, function)
......
...@@ -90,7 +90,7 @@ typedef struct varray_head_tag { ...@@ -90,7 +90,7 @@ typedef struct varray_head_tag {
/* Allocate a virtual array with NUM elements, each of which is SIZE bytes /* Allocate a virtual array with NUM elements, each of which is SIZE bytes
long, named NAME. Array elements are zeroed. */ long, named NAME. Array elements are zeroed. */
extern varray_type varray_init PROTO ((size_t, size_t, const char *)); extern varray_type varray_init PARAMS ((size_t, size_t, const char *));
#define VARRAY_CHAR_INIT(va, num, name) \ #define VARRAY_CHAR_INIT(va, num, name) \
va = varray_init (num, sizeof (char), name) va = varray_init (num, sizeof (char), name)
...@@ -158,7 +158,7 @@ extern varray_type varray_init PROTO ((size_t, size_t, const char *)); ...@@ -158,7 +158,7 @@ extern varray_type varray_init PROTO ((size_t, size_t, const char *));
do { if (vp) { free (vp); vp = (varray_type)0; } } while (0) do { if (vp) { free (vp); vp = (varray_type)0; } } while (0)
/* Grow/shrink the virtual array VA to N elements. */ /* Grow/shrink the virtual array VA to N elements. */
extern varray_type varray_grow PROTO((varray_type, size_t)); extern varray_type varray_grow PARAMS ((varray_type, size_t));
#define VARRAY_GROW(VA, N) ((VA) = varray_grow (VA, N)) #define VARRAY_GROW(VA, N) ((VA) = varray_grow (VA, N))
...@@ -166,7 +166,7 @@ extern varray_type varray_grow PROTO((varray_type, size_t)); ...@@ -166,7 +166,7 @@ extern varray_type varray_grow PROTO((varray_type, size_t));
/* Check for VARRAY_xxx macros being in bound. */ /* Check for VARRAY_xxx macros being in bound. */
#if defined ENABLE_CHECKING && (GCC_VERSION >= 2007) #if defined ENABLE_CHECKING && (GCC_VERSION >= 2007)
extern void varray_check_failed PROTO ((varray_type, size_t, extern void varray_check_failed PARAMS ((varray_type, size_t,
const char *, int, const char *, int,
const char *)) ATTRIBUTE_NORETURN; const char *)) ATTRIBUTE_NORETURN;
#define VARRAY_CHECK(VA, N, T) \ #define VARRAY_CHECK(VA, N, T) \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment