diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 18 | ||||
-rw-r--r-- | gcc/cccp.c | 256 | ||||
-rw-r--r-- | gcc/cexp.c | 42 | ||||
-rw-r--r-- | gcc/cexp.y | 44 | ||||
-rw-r--r-- | gcc/collect2.c | 100 | ||||
-rw-r--r-- | gcc/combine.c | 136 | ||||
-rw-r--r-- | gcc/convert.h | 10 | ||||
-rw-r--r-- | gcc/cse.c | 102 | ||||
-rw-r--r-- | gcc/dbxout.c | 40 | ||||
-rw-r--r-- | gcc/dbxout.h | 30 | ||||
-rw-r--r-- | gcc/diagnostic.c | 135 | ||||
-rw-r--r-- | gcc/doprint.c | 6 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 399 | ||||
-rw-r--r-- | gcc/dwarf2out.h | 42 | ||||
-rw-r--r-- | gcc/dwarfout.c | 252 | ||||
-rw-r--r-- | gcc/dwarfout.h | 32 | ||||
-rw-r--r-- | gcc/dyn-string.h | 10 |
17 files changed, 840 insertions, 814 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fb4e7a253e5..d19d122b416 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,23 @@ 2000-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + * cccp.c: PROTO -> PARAMS. + * cexp.y: Likewise. + * collect2.c: Likewise. + * combine.c: Likewise. + * convert.h: Likewise. + * cse.c: Likewise. + * dbxout.c: Likewise. + * dbxout.h: Likewise. + * diagnostic.c: Likewise. + * doprint.c: Likewise. + * dwarf2out.c: Likewise. + * dwarf2out.h: Likewise. + * dwarfout.c: Likewise. + * dwarfout.h: Likewise. + * dyn-string.h: Likewise. + +2000-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + * calls.c (emit_call_1): Wrap varaible `struct_value_size_rtx' in macro conditionals guarding use. diff --git a/gcc/cccp.c b/gcc/cccp.c index c534164caaa..910a98d263d 100644 --- a/gcc/cccp.c +++ b/gcc/cccp.c @@ -96,8 +96,8 @@ static void hack_vms_include_specification (); /* External declarations. */ extern char *version_string; -HOST_WIDEST_INT parse_escape PROTO((char **, HOST_WIDEST_INT)); -HOST_WIDEST_INT parse_c_expression PROTO((char *, int)); +HOST_WIDEST_INT parse_escape PARAMS ((char **, HOST_WIDEST_INT)); +HOST_WIDEST_INT parse_c_expression PARAMS ((char *, int)); /* Name under which this program was invoked. */ @@ -749,7 +749,7 @@ static int assertions_flag; /* `struct directive' defines one #-directive, including how to handle it. */ -#define DO_PROTO PROTO((U_CHAR *, U_CHAR *, FILE_BUF *, struct directive *)) +#define DO_PROTO PARAMS ((U_CHAR *, U_CHAR *, FILE_BUF *, struct directive *)) struct directive { int length; /* Length of name */ @@ -869,163 +869,165 @@ static int deps_column; so don't look for #include "foo" the source-file directory. */ static int ignore_srcdir; -static int safe_read PROTO((int, char *, int)); -static void safe_write PROTO((int, const char *, int)); +static int safe_read PARAMS ((int, char *, int)); +static void safe_write PARAMS ((int, const char *, int)); -int main PROTO((int, char **)); +int main PARAMS ((int, char **)); -static void path_include PROTO((char *)); +static void path_include PARAMS ((char *)); -static const U_CHAR *index0 PROTO((const U_CHAR *, int, size_t)); +static const U_CHAR *index0 PARAMS ((const U_CHAR *, int, size_t)); -static void trigraph_pcp PROTO((FILE_BUF *)); -static void check_white_space PROTO((FILE_BUF *)); +static void trigraph_pcp PARAMS ((FILE_BUF *)); +static void check_white_space PARAMS ((FILE_BUF *)); -static void newline_fix PROTO((U_CHAR *)); -static void name_newline_fix PROTO((U_CHAR *)); +static void newline_fix PARAMS ((U_CHAR *)); +static void name_newline_fix PARAMS ((U_CHAR *)); -static const char *get_lintcmd PROTO((const U_CHAR *, const U_CHAR *, - const U_CHAR **, int *, int *)); +static const char *get_lintcmd PARAMS ((const U_CHAR *, const U_CHAR *, + const U_CHAR **, int *, int *)); -static void rescan PROTO((FILE_BUF *, int)); +static void rescan PARAMS ((FILE_BUF *, int)); -static FILE_BUF expand_to_temp_buffer PROTO((const U_CHAR *, const U_CHAR *, - int, int)); +static FILE_BUF expand_to_temp_buffer PARAMS ((const U_CHAR *, const U_CHAR *, + int, int)); -static int handle_directive PROTO((FILE_BUF *, FILE_BUF *)); +static int handle_directive PARAMS ((FILE_BUF *, FILE_BUF *)); -static struct tm *timestamp PROTO((void)); -static void special_symbol PROTO((HASHNODE *, FILE_BUF *)); +static struct tm *timestamp PARAMS ((void)); +static void special_symbol PARAMS ((HASHNODE *, FILE_BUF *)); -static int is_system_include PROTO((const char *)); -static char *base_name PROTO((const char *)); -static int absolute_filename PROTO((const char *)); -static size_t simplify_filename PROTO((char *)); +static int is_system_include PARAMS ((const char *)); +static char *base_name PARAMS ((const char *)); +static int absolute_filename PARAMS ((const char *)); +static size_t simplify_filename PARAMS ((char *)); -static char *read_filename_string PROTO((int, FILE *)); -static struct file_name_map *read_name_map PROTO((const char *)); -static int open_include_file PROTO((char *, struct file_name_list *, - const U_CHAR *, struct include_file **)); -static char *remap_include_file PROTO((char *, struct file_name_list *)); -static int lookup_ino_include PROTO((struct include_file *)); +static char *read_filename_string PARAMS ((int, FILE *)); +static struct file_name_map *read_name_map PARAMS ((const char *)); +static int open_include_file PARAMS ((char *, struct file_name_list *, + const U_CHAR *, struct include_file **)); +static char *remap_include_file PARAMS ((char *, struct file_name_list *)); +static int lookup_ino_include PARAMS ((struct include_file *)); -static void finclude PROTO((int, struct include_file *, FILE_BUF *, int, struct file_name_list *)); -static void record_control_macro PROTO((struct include_file *, const U_CHAR *)); +static void finclude PARAMS ((int, struct include_file *, FILE_BUF *, int, + struct file_name_list *)); +static void record_control_macro PARAMS ((struct include_file *, + const U_CHAR *)); -static char *check_precompiled PROTO((int, struct stat *, const char *, - const char **)); -static int check_preconditions PROTO((const char *)); -static void pcfinclude PROTO((U_CHAR *, const U_CHAR *, FILE_BUF *)); -static void pcstring_used PROTO((HASHNODE *)); -static void write_output PROTO((void)); -static void pass_thru_directive PROTO((const U_CHAR *, const U_CHAR *, - FILE_BUF *, struct directive *)); +static char *check_precompiled PARAMS ((int, struct stat *, const char *, + const char **)); +static int check_preconditions PARAMS ((const char *)); +static void pcfinclude PARAMS ((U_CHAR *, const U_CHAR *, FILE_BUF *)); +static void pcstring_used PARAMS ((HASHNODE *)); +static void write_output PARAMS ((void)); +static void pass_thru_directive PARAMS ((const U_CHAR *, const U_CHAR *, + FILE_BUF *, struct directive *)); -static MACRODEF create_definition PROTO((const U_CHAR *, const U_CHAR *, - FILE_BUF *)); +static MACRODEF create_definition PARAMS ((const U_CHAR *, const U_CHAR *, + FILE_BUF *)); -static int check_macro_name PROTO((const U_CHAR *, int)); -static int compare_defs PROTO((DEFINITION *, DEFINITION *)); -static int comp_def_part PROTO((int, const U_CHAR *, int, const U_CHAR *, - int, int)); +static int check_macro_name PARAMS ((const U_CHAR *, int)); +static int compare_defs PARAMS ((DEFINITION *, DEFINITION *)); +static int comp_def_part PARAMS ((int, const U_CHAR *, int, const U_CHAR *, + int, int)); -static DEFINITION *collect_expansion PROTO((const U_CHAR *, const U_CHAR *, - int, struct arglist *)); +static DEFINITION *collect_expansion PARAMS ((const U_CHAR *, const U_CHAR *, + int, struct arglist *)); -int check_assertion PROTO((const U_CHAR *, int, int, struct arglist *)); -static int compare_token_lists PROTO((struct arglist *, struct arglist *)); +int check_assertion PARAMS ((const U_CHAR *, int, int, struct arglist *)); +static int compare_token_lists PARAMS ((struct arglist *, struct arglist *)); -static struct arglist *read_token_list PROTO((const U_CHAR **, const U_CHAR *, - int *)); -static void free_token_list PROTO((struct arglist *)); +static struct arglist *read_token_list PARAMS ((const U_CHAR **, + const U_CHAR *, int *)); +static void free_token_list PARAMS ((struct arglist *)); -static ASSERTION_HASHNODE *assertion_install PROTO((const U_CHAR *, int, int)); -static ASSERTION_HASHNODE *assertion_lookup PROTO((const U_CHAR *, int, int)); -static void delete_assertion PROTO((ASSERTION_HASHNODE *)); +static ASSERTION_HASHNODE *assertion_install PARAMS ((const U_CHAR *, int, int)); +static ASSERTION_HASHNODE *assertion_lookup PARAMS ((const U_CHAR *, int, int)); +static void delete_assertion PARAMS ((ASSERTION_HASHNODE *)); -static void do_once PROTO((void)); +static void do_once PARAMS ((void)); -static HOST_WIDEST_INT eval_if_expression PROTO((const U_CHAR *, int)); -static void conditional_skip PROTO((FILE_BUF *, int, enum node_type, - const U_CHAR *, FILE_BUF *)); -static void skip_if_group PROTO((FILE_BUF *, int, FILE_BUF *)); -static void validate_else PROTO((const U_CHAR *, const U_CHAR *)); +static HOST_WIDEST_INT eval_if_expression PARAMS ((const U_CHAR *, int)); +static void conditional_skip PARAMS ((FILE_BUF *, int, enum node_type, + const U_CHAR *, FILE_BUF *)); +static void skip_if_group PARAMS ((FILE_BUF *, int, FILE_BUF *)); +static void validate_else PARAMS ((const U_CHAR *, const U_CHAR *)); -static U_CHAR *skip_to_end_of_comment PROTO((FILE_BUF *, int *, int)); -static U_CHAR *skip_quoted_string PROTO((const U_CHAR *, const U_CHAR *, - int, int *, int *, int *)); -static char *quote_string PROTO((char *, const char *, size_t)); -static U_CHAR *skip_paren_group PROTO((FILE_BUF *)); +static U_CHAR *skip_to_end_of_comment PARAMS ((FILE_BUF *, int *, int)); +static U_CHAR *skip_quoted_string PARAMS ((const U_CHAR *, const U_CHAR *, + int, int *, int *, int *)); +static char *quote_string PARAMS ((char *, const char *, size_t)); +static U_CHAR *skip_paren_group PARAMS ((FILE_BUF *)); /* Last arg to output_line_directive. */ enum file_change_code {same_file, enter_file, leave_file}; -static void output_line_directive PROTO((FILE_BUF *, FILE_BUF *, int, enum file_change_code)); +static void output_line_directive PARAMS ((FILE_BUF *, FILE_BUF *, int, enum file_change_code)); -static void macroexpand PROTO((HASHNODE *, FILE_BUF *)); +static void macroexpand PARAMS ((HASHNODE *, FILE_BUF *)); struct argdata; -static int macarg PROTO((struct argdata *, int)); +static int macarg PARAMS ((struct argdata *, int)); -static U_CHAR *macarg1 PROTO((U_CHAR *, const U_CHAR *, struct hashnode *, int *, int *, int *, int)); +static U_CHAR *macarg1 PARAMS ((U_CHAR *, const U_CHAR *, struct hashnode *, int *, int *, int *, int)); -static int discard_comments PROTO((U_CHAR *, int, int)); +static int discard_comments PARAMS ((U_CHAR *, int, int)); -static void change_newlines PROTO((struct argdata *)); +static void change_newlines PARAMS ((struct argdata *)); -static void notice PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1; -static void vnotice PROTO((const char *, va_list)); -void error PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1; -void verror PROTO((const char *, va_list)); -static void error_from_errno PROTO((const char *)); -void warning PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1; -static void vwarning PROTO((const char *, va_list)); -static void error_with_line PVPROTO((int, const char *, ...)) ATTRIBUTE_PRINTF_2; -static void verror_with_line PROTO((int, const char *, va_list)); -static void vwarning_with_line PROTO((int, const char *, va_list)); -static void warning_with_line PVPROTO((int, const char *, ...)) ATTRIBUTE_PRINTF_2; -void pedwarn PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1; -void pedwarn_with_line PVPROTO((int, const char *, ...)) ATTRIBUTE_PRINTF_2; -static void pedwarn_with_file_and_line PVPROTO((const char *, size_t, int, const char *, ...)) ATTRIBUTE_PRINTF_4; -static void pedwarn_strange_white_space PROTO((int)); +static void notice PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1; +static void vnotice PARAMS ((const char *, va_list)); +void error PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1; +void verror PARAMS ((const char *, va_list)); +static void error_from_errno PARAMS ((const char *)); +void warning PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1; +static void vwarning PARAMS ((const char *, va_list)); +static void error_with_line PARAMS ((int, const char *, ...)) ATTRIBUTE_PRINTF_2; +static void verror_with_line PARAMS ((int, const char *, va_list)); +static void vwarning_with_line PARAMS ((int, const char *, va_list)); +static void warning_with_line PARAMS ((int, const char *, ...)) ATTRIBUTE_PRINTF_2; +void pedwarn PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1; +void pedwarn_with_line PARAMS ((int, const char *, ...)) ATTRIBUTE_PRINTF_2; +static void pedwarn_with_file_and_line PARAMS ((const char *, size_t, int, const char *, ...)) ATTRIBUTE_PRINTF_4; +static void pedwarn_strange_white_space PARAMS ((int)); -static void print_containing_files PROTO((void)); +static void print_containing_files PARAMS ((void)); -static int line_for_error PROTO((int)); -static int grow_outbuf PROTO((FILE_BUF *, int)); +static int line_for_error PARAMS ((int)); +static int grow_outbuf PARAMS ((FILE_BUF *, int)); -static HASHNODE *install PROTO((const U_CHAR *, int, enum node_type, - const char *, int)); -HASHNODE *lookup PROTO((const U_CHAR *, int, int)); -static void delete_macro PROTO((HASHNODE *)); -static int hashf PROTO((const U_CHAR *, int, int)); +static HASHNODE *install PARAMS ((const U_CHAR *, int, enum node_type, + const char *, int)); +HASHNODE *lookup PARAMS ((const U_CHAR *, int, int)); +static void delete_macro PARAMS ((HASHNODE *)); +static int hashf PARAMS ((const U_CHAR *, int, int)); -static void dump_single_macro PROTO((HASHNODE *, FILE *)); -static void dump_all_macros PROTO((void)); -static void dump_defn_1 PROTO((const U_CHAR *, int, int, FILE *)); -static void dump_arg_n PROTO((DEFINITION *, int, FILE *)); +static void dump_single_macro PARAMS ((HASHNODE *, FILE *)); +static void dump_all_macros PARAMS ((void)); +static void dump_defn_1 PARAMS ((const U_CHAR *, int, int, FILE *)); +static void dump_arg_n PARAMS ((DEFINITION *, int, FILE *)); -static void initialize_char_syntax PROTO((void)); -static void initialize_builtins PROTO((FILE_BUF *, FILE_BUF *)); +static void initialize_char_syntax PARAMS ((void)); +static void initialize_builtins PARAMS ((FILE_BUF *, FILE_BUF *)); -static void make_definition PROTO((char *)); -static void make_undef PROTO((char *, FILE_BUF *)); +static void make_definition PARAMS ((char *)); +static void make_undef PARAMS ((char *, FILE_BUF *)); -static void make_assertion PROTO((const char *, const char *)); +static void make_assertion PARAMS ((const char *, const char *)); -static struct file_name_list *new_include_prefix PROTO((struct file_name_list *, const char *, const char *, const char *)); -static void append_include_chain PROTO((struct file_name_list *, struct file_name_list *)); +static struct file_name_list *new_include_prefix PARAMS ((struct file_name_list *, const char *, const char *, const char *)); +static void append_include_chain PARAMS ((struct file_name_list *, struct file_name_list *)); -static int quote_string_for_make PROTO((char *, const char *)); -static void deps_output PROTO((const char *, int)); +static int quote_string_for_make PARAMS ((char *, const char *)); +static void deps_output PARAMS ((const char *, int)); -void fatal PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN; -void fancy_abort PROTO((void)) ATTRIBUTE_NORETURN; -static void perror_with_name PROTO((const char *)); -static void pfatal_with_name PROTO((const char *)) ATTRIBUTE_NORETURN; -static void pipe_closed PROTO((int)) ATTRIBUTE_NORETURN; +void fatal PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN; +void fancy_abort PARAMS ((void)) ATTRIBUTE_NORETURN; +static void perror_with_name PARAMS ((const char *)); +static void pfatal_with_name PARAMS ((const char *)) ATTRIBUTE_NORETURN; +static void pipe_closed PARAMS ((int)) ATTRIBUTE_NORETURN; -static void memory_full PROTO((void)) ATTRIBUTE_NORETURN; -static void print_help PROTO((void)); +static void memory_full PARAMS ((void)) ATTRIBUTE_NORETURN; +static void print_help PARAMS ((void)); /* Read LEN bytes at PTR from descriptor DESC, for file FILENAME, retrying if necessary. If MAX_READ_LEN is defined, read at most @@ -4912,7 +4914,7 @@ absolute_filename (filename) /* Returns whether or not a given character is a directory separator. Used by simplify_filename. */ -static inline int is_dir_separator PROTO ((int)); +static inline int is_dir_separator PARAMS ((int)); static inline int @@ -9445,7 +9447,7 @@ change_newlines (arg) /* notice - output message to stderr */ static void -notice VPROTO ((const char * msgid, ...)) +notice VPARAMS ((const char * msgid, ...)) { #ifndef ANSI_PROTOTYPES const char * msgid; @@ -9473,7 +9475,7 @@ vnotice (msgid, args) /* error - print error message and increment count of errors. */ void -error VPROTO ((const char * msgid, ...)) +error VPARAMS ((const char * msgid, ...)) { #ifndef ANSI_PROTOTYPES const char * msgid; @@ -9548,7 +9550,7 @@ error_from_errno (name) /* Print error message but don't count it. */ void -warning VPROTO ((const char * msgid, ...)) +warning VPARAMS ((const char * msgid, ...)) { #ifndef ANSI_PROTOTYPES const char * msgid; @@ -9598,7 +9600,7 @@ vwarning (msgid, args) } static void -error_with_line VPROTO ((int line, const char * msgid, ...)) +error_with_line VPARAMS ((int line, const char * msgid, ...)) { #ifndef ANSI_PROTOTYPES int line; @@ -9646,7 +9648,7 @@ verror_with_line (line, msgid, args) } static void -warning_with_line VPROTO ((int line, const char * msgid, ...)) +warning_with_line VPARAMS ((int line, const char * msgid, ...)) { #ifndef ANSI_PROTOTYPES int line; @@ -9704,7 +9706,7 @@ vwarning_with_line (line, msgid, args) /* Print an error message and maybe count it. */ void -pedwarn VPROTO ((const char * msgid, ...)) +pedwarn VPARAMS ((const char * msgid, ...)) { #ifndef ANSI_PROTOTYPES const char * msgid; @@ -9725,7 +9727,7 @@ pedwarn VPROTO ((const char * msgid, ...)) } void -pedwarn_with_line VPROTO ((int line, const char * msgid, ...)) +pedwarn_with_line VPARAMS ((int line, const char * msgid, ...)) { #ifndef ANSI_PROTOTYPES int line; @@ -9751,8 +9753,8 @@ pedwarn_with_line VPROTO ((int line, const char * msgid, ...)) giving specified file name and line number, not current. */ static void -pedwarn_with_file_and_line VPROTO ((const char *file, size_t file_len, int line, - const char * msgid, ...)) +pedwarn_with_file_and_line VPARAMS ((const char *file, size_t file_len, + int line, const char * msgid, ...)) { #ifndef ANSI_PROTOTYPES const char *file; @@ -10805,7 +10807,7 @@ deps_output (string, spacer) } void -fatal VPROTO ((const char * msgid, ...)) +fatal VPARAMS ((const char * msgid, ...)) { #ifndef ANSI_PROTOTYPES const char * msgid; diff --git a/gcc/cexp.c b/gcc/cexp.c index fc4d7fce861..577088755b7 100644 --- a/gcc/cexp.c +++ b/gcc/cexp.c @@ -43,10 +43,10 @@ struct arglist { int argno; }; -HOST_WIDEST_INT parse_c_expression PROTO((char *, int)); +HOST_WIDEST_INT parse_c_expression PARAMS ((char *, int)); -static int yylex PROTO((void)); -static void yyerror PVPROTO((const char *, ...)) +static int yylex PARAMS ((void)); +static void yyerror PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN; static HOST_WIDEST_INT expression_value; #ifdef TEST_EXP_READER @@ -129,18 +129,18 @@ extern int c89; struct constant; -HOST_WIDEST_INT parse_escape PROTO((char **, HOST_WIDEST_INT)); -int check_assertion PROTO((U_CHAR *, int, int, struct arglist *)); -struct hashnode *lookup PROTO((U_CHAR *, int, int)); -void error PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1; -void verror PROTO((const char *, va_list)); -void pedwarn PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1; -void warning PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1; +HOST_WIDEST_INT parse_escape PARAMS ((char **, HOST_WIDEST_INT)); +int check_assertion PARAMS ((U_CHAR *, int, int, struct arglist *)); +struct hashnode *lookup PARAMS ((U_CHAR *, int, int)); +void error PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1; +void verror PARAMS ((const char *, va_list)); +void pedwarn PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1; +void warning PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1; -static int parse_number PROTO((int)); -static HOST_WIDEST_INT left_shift PROTO((struct constant *, unsigned HOST_WIDEST_INT)); -static HOST_WIDEST_INT right_shift PROTO((struct constant *, unsigned HOST_WIDEST_INT)); -static void integer_overflow PROTO((void)); +static int parse_number PARAMS ((int)); +static HOST_WIDEST_INT left_shift PARAMS ((struct constant *, unsigned HOST_WIDEST_INT)); +static HOST_WIDEST_INT right_shift PARAMS ((struct constant *, unsigned HOST_WIDEST_INT)); +static void integer_overflow PARAMS ((void)); /* `signedp' values */ #define SIGNED (~0) @@ -1919,7 +1919,7 @@ parse_c_expression (string, warn_undefined) } static void -yyerror VPROTO ((const char * msgid, ...)) +yyerror VPARAMS ((const char * msgid, ...)) { #ifndef ANSI_PROTOTYPES const char * msgid; @@ -1949,9 +1949,9 @@ int pedantic; int traditional; int c89; -int main PROTO((int, char **)); -static void initialize_random_junk PROTO((void)); -static void print_unsigned_host_widest_int PROTO((unsigned HOST_WIDEST_INT)); +int main PARAMS ((int, char **)); +static void initialize_random_junk PARAMS ((void)); +static void print_unsigned_host_widest_int PARAMS ((unsigned HOST_WIDEST_INT)); /* Main program for testing purposes. */ int @@ -2050,7 +2050,7 @@ initialize_random_junk () } void -error VPROTO ((char * msgid, ...)) +error VPARAMS ((char * msgid, ...)) { #ifndef ANSI_PROTOTYPES char * msgid; @@ -2070,7 +2070,7 @@ error VPROTO ((char * msgid, ...)) } void -pedwarn VPROTO ((char * msgid, ...)) +pedwarn VPARAMS ((char * msgid, ...)) { #ifndef ANSI_PROTOTYPES char * msgid; @@ -2090,7 +2090,7 @@ pedwarn VPROTO ((char * msgid, ...)) } void -warning VPROTO ((char * msgid, ...)) +warning VPARAMS ((char * msgid, ...)) { #ifndef ANSI_PROTOTYPES char * msgid; diff --git a/gcc/cexp.y b/gcc/cexp.y index 410f671fbb9..0e94036632a 100644 --- a/gcc/cexp.y +++ b/gcc/cexp.y @@ -1,5 +1,5 @@ /* Parse C expressions for CCCP. - Copyright (C) 1987, 92, 94-98, 1999 Free Software Foundation. + Copyright (C) 1987, 92, 94-99, 2000 Free Software Foundation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -47,10 +47,10 @@ struct arglist { int argno; }; -HOST_WIDEST_INT parse_c_expression PROTO((char *, int)); +HOST_WIDEST_INT parse_c_expression PARAMS ((char *, int)); -static int yylex PROTO((void)); -static void yyerror PVPROTO((const char *, ...)) +static int yylex PARAMS ((void)); +static void yyerror PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN; static HOST_WIDEST_INT expression_value; #ifdef TEST_EXP_READER @@ -133,18 +133,18 @@ extern int c89; struct constant; -HOST_WIDEST_INT parse_escape PROTO((char **, HOST_WIDEST_INT)); -int check_assertion PROTO((U_CHAR *, int, int, struct arglist *)); -struct hashnode *lookup PROTO((U_CHAR *, int, int)); -void error PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1; -void verror PROTO((const char *, va_list)); -void pedwarn PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1; -void warning PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1; +HOST_WIDEST_INT parse_escape PARAMS ((char **, HOST_WIDEST_INT)); +int check_assertion PARAMS ((U_CHAR *, int, int, struct arglist *)); +struct hashnode *lookup PARAMS ((U_CHAR *, int, int)); +void error PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1; +void verror PARAMS ((const char *, va_list)); +void pedwarn PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1; +void warning PARAMS ((const char *, ...)) ATTRIBUTE_PRINTF_1; -static int parse_number PROTO((int)); -static HOST_WIDEST_INT left_shift PROTO((struct constant *, unsigned HOST_WIDEST_INT)); -static HOST_WIDEST_INT right_shift PROTO((struct constant *, unsigned HOST_WIDEST_INT)); -static void integer_overflow PROTO((void)); +static int parse_number PARAMS ((int)); +static HOST_WIDEST_INT left_shift PARAMS ((struct constant *, unsigned HOST_WIDEST_INT)); +static HOST_WIDEST_INT right_shift PARAMS ((struct constant *, unsigned HOST_WIDEST_INT)); +static void integer_overflow PARAMS ((void)); /* `signedp' values */ #define SIGNED (~0) @@ -1003,7 +1003,7 @@ parse_c_expression (string, warn_undefined) } static void -yyerror VPROTO ((const char * msgid, ...)) +yyerror VPARAMS ((const char * msgid, ...)) { #ifndef ANSI_PROTOTYPES const char * msgid; @@ -1033,9 +1033,9 @@ int pedantic; int traditional; int c89; -int main PROTO((int, char **)); -static void initialize_random_junk PROTO((void)); -static void print_unsigned_host_widest_int PROTO((unsigned HOST_WIDEST_INT)); +int main PARAMS ((int, char **)); +static void initialize_random_junk PARAMS ((void)); +static void print_unsigned_host_widest_int PARAMS ((unsigned HOST_WIDEST_INT)); /* Main program for testing purposes. */ int @@ -1134,7 +1134,7 @@ initialize_random_junk () } void -error VPROTO ((char * msgid, ...)) +error VPARAMS ((char * msgid, ...)) { #ifndef ANSI_PROTOTYPES char * msgid; @@ -1154,7 +1154,7 @@ error VPROTO ((char * msgid, ...)) } void -pedwarn VPROTO ((char * msgid, ...)) +pedwarn VPARAMS ((char * msgid, ...)) { #ifndef ANSI_PROTOTYPES char * msgid; @@ -1174,7 +1174,7 @@ pedwarn VPROTO ((char * msgid, ...)) } void -warning VPROTO ((char * msgid, ...)) +warning VPARAMS ((char * msgid, ...)) { #ifndef ANSI_PROTOTYPES char * msgid; diff --git a/gcc/collect2.c b/gcc/collect2.c index cb5e2fa1d47..3f7cba48236 100644 --- a/gcc/collect2.c +++ b/gcc/collect2.c @@ -263,43 +263,43 @@ static struct path_prefix *libpaths[3] = {&cmdline_lib_dirs, static const char *libexts[3] = {"a", "so", NULL}; /* possible library extentions */ #endif -static void handler PROTO((int)); -static int is_ctor_dtor PROTO((const char *)); -static char *find_a_file PROTO((struct path_prefix *, const char *)); -static void add_prefix PROTO((struct path_prefix *, const char *)); -static void prefix_from_env PROTO((const char *, struct path_prefix *)); -static void prefix_from_string PROTO((const char *, struct path_prefix *)); -static void do_wait PROTO((const char *)); -static void fork_execute PROTO((const char *, char **)); -static void maybe_unlink PROTO((const char *)); -static void add_to_list PROTO((struct head *, const char *)); -static int extract_init_priority PROTO((const char *)); -static void sort_ids PROTO((struct head *)); -static void write_list PROTO((FILE *, const char *, struct id *)); +static void handler PARAMS ((int)); +static int is_ctor_dtor PARAMS ((const char *)); +static char *find_a_file PARAMS ((struct path_prefix *, const char *)); +static void add_prefix PARAMS ((struct path_prefix *, const char *)); +static void prefix_from_env PARAMS ((const char *, struct path_prefix *)); +static void prefix_from_string PARAMS ((const char *, struct path_prefix *)); +static void do_wait PARAMS ((const char *)); +static void fork_execute PARAMS ((const char *, char **)); +static void maybe_unlink PARAMS ((const char *)); +static void add_to_list PARAMS ((struct head *, const char *)); +static int extract_init_priority PARAMS ((const char *)); +static void sort_ids PARAMS ((struct head *)); +static void write_list PARAMS ((FILE *, const char *, struct id *)); #ifdef COLLECT_EXPORT_LIST -static void dump_list PROTO((FILE *, const char *, struct id *)); +static void dump_list PARAMS ((FILE *, const char *, struct id *)); #endif #if 0 -static void dump_prefix_list PROTO((FILE *, const char *, struct prefix_list *)); +static void dump_prefix_list PARAMS ((FILE *, const char *, struct prefix_list *)); #endif -static void write_list_with_asm PROTO((FILE *, const char *, struct id *)); -static void write_c_file PROTO((FILE *, const char *)); -static void write_c_file_stat PROTO((FILE *, const char *)); +static void write_list_with_asm PARAMS ((FILE *, const char *, struct id *)); +static void write_c_file PARAMS ((FILE *, const char *)); +static void write_c_file_stat PARAMS ((FILE *, const char *)); #ifndef LD_INIT_SWITCH -static void write_c_file_glob PROTO((FILE *, const char *)); +static void write_c_file_glob PARAMS ((FILE *, const char *)); #endif -static void scan_prog_file PROTO((const char *, enum pass)); +static void scan_prog_file PARAMS ((const char *, enum pass)); #ifdef SCAN_LIBRARIES -static void scan_libraries PROTO((const char *)); +static void scan_libraries PARAMS ((const char *)); #endif #ifdef COLLECT_EXPORT_LIST -static int is_in_list PROTO((const char *, struct id *)); -static void write_aix_file PROTO((FILE *, struct id *)); -static char *resolve_lib_name PROTO((const char *)); -static int use_import_list PROTO((const char *)); -static int ignore_library PROTO((const char *)); +static int is_in_list PARAMS ((const char *, struct id *)); +static void write_aix_file PARAMS ((FILE *, struct id *)); +static char *resolve_lib_name PARAMS ((const char *)); +static int use_import_list PARAMS ((const char *)); +static int ignore_library PARAMS ((const char *)); #endif -static char *extract_string PROTO((const char **)); +static char *extract_string PARAMS ((const char **)); #ifdef NO_DUP2 int @@ -358,7 +358,7 @@ collect_exit (status) /* Notify user of a non-error. */ void -notice VPROTO((const char *msgid, ...)) +notice VPARAMS ((const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES const char *msgid; @@ -378,7 +378,7 @@ notice VPROTO((const char *msgid, ...)) /* Die when sys call fails. */ void -fatal_perror VPROTO((const char * msgid, ...)) +fatal_perror VPARAMS ((const char * msgid, ...)) { #ifndef ANSI_PROTOTYPES const char *msgid; @@ -403,7 +403,7 @@ fatal_perror VPROTO((const char * msgid, ...)) /* Just die. */ void -fatal VPROTO((const char * msgid, ...)) +fatal VPARAMS ((const char * msgid, ...)) { #ifndef ANSI_PROTOTYPES const char *msgid; @@ -427,7 +427,7 @@ fatal VPROTO((const char * msgid, ...)) /* Write error message. */ void -error VPROTO((const char * msgid, ...)) +error VPARAMS ((const char * msgid, ...)) { #ifndef ANSI_PROTOTYPES const char * msgid; @@ -832,7 +832,7 @@ prefix_from_string (p, pprefix) /* Main program. */ -int main PROTO ((int, char *[])); +int main PARAMS ((int, char *[])); int main (argc, argv) int argc; @@ -2111,8 +2111,8 @@ scan_prog_file (prog_name, which_pass) const char *prog_name; enum pass which_pass; { - void (*int_handler) PROTO ((int)); - void (*quit_handler) PROTO ((int)); + void (*int_handler) PARAMS ((int)); + void (*quit_handler) PARAMS ((int)); char *real_nm_argv[4]; const char **nm_argv = (const char **) real_nm_argv; int pid; @@ -2179,9 +2179,9 @@ scan_prog_file (prog_name, which_pass) } /* Parent context from here on. */ - int_handler = (void (*) PROTO ((int))) signal (SIGINT, SIG_IGN); + int_handler = (void (*) PARAMS ((int))) signal (SIGINT, SIG_IGN); #ifdef SIGQUIT - quit_handler = (void (*) PROTO ((int))) signal (SIGQUIT, SIG_IGN); + quit_handler = (void (*) PARAMS ((int))) signal (SIGQUIT, SIG_IGN); #endif if (close (pipe_fd[1]) < 0) @@ -2296,7 +2296,7 @@ struct head libraries; /* Map the file indicated by NAME into memory and store its address. */ -static void mapfile PROTO ((const char *)); +static void mapfile PARAMS ((const char *)); static void mapfile (name) @@ -2322,7 +2322,7 @@ mapfile (name) static const char *libname; -static int libselect PROTO ((struct direct *)); +static int libselect PARAMS ((struct direct *)); static int libselect (d) @@ -2338,7 +2338,7 @@ libselect (d) We must verify that the extension is numeric, because Sun saves the original versions of patched libraries with a .FCS extension. Files with invalid extensions must go last in the sort, so that they will not be used. */ -static int libcompare PROTO ((struct direct **, struct direct **)); +static int libcompare PARAMS ((struct direct **, struct direct **)); static int libcompare (d1, d2) @@ -2383,7 +2383,7 @@ libcompare (d1, d2) /* Given the name NAME of a dynamic dependency, find its pathname and add it to the list of libraries. */ -static void locatelib PROTO ((const char *)); +static void locatelib PARAMS ((const char *)); static void locatelib (name) @@ -2556,8 +2556,8 @@ scan_libraries (prog_name) { static struct head libraries; /* list of shared libraries found */ struct id *list; - void (*int_handler) PROTO ((int)); - void (*quit_handler) PROTO ((int)); + void (*int_handler) PARAMS ((int)); + void (*quit_handler) PARAMS ((int)); char *real_ldd_argv[4]; const char **ldd_argv = (const char **) real_ldd_argv; int pid; @@ -2621,9 +2621,9 @@ scan_libraries (prog_name) } /* Parent context from here on. */ - int_handler = (void (*) PROTO ((int))) signal (SIGINT, SIG_IGN); + int_handler = (void (*) PARAMS ((int))) signal (SIGINT, SIG_IGN); #ifdef SIGQUIT - quit_handler = (void (*) PROTO ((int))) signal (SIGQUIT, SIG_IGN); + quit_handler = (void (*) PARAMS ((int))) signal (SIGQUIT, SIG_IGN); #endif if (close (pipe_fd[1]) < 0) @@ -3073,13 +3073,13 @@ struct file_info extern int decode_mach_o_hdr (); extern int encode_mach_o_hdr (); -static void add_func_table PROTO((mo_header_t *, load_all_t *, +static void add_func_table PARAMS ((mo_header_t *, load_all_t *, symbol_info_t *, int)); -static void print_header PROTO((mo_header_t *)); -static void print_load_command PROTO((load_union_t *, size_t, int)); -static void bad_header PROTO((int)); -static struct file_info *read_file PROTO((const char *, int, int)); -static void end_file PROTO((struct file_info *)); +static void print_header PARAMS ((mo_header_t *)); +static void print_load_command PARAMS ((load_union_t *, size_t, int)); +static void bad_header PARAMS ((int)); +static struct file_info *read_file PARAMS ((const char *, int, int)); +static void end_file PARAMS ((struct file_info *)); /* OSF/rose specific version to scan the name list of the loaded program for the symbols g++ uses for static constructors and diff --git a/gcc/combine.c b/gcc/combine.c index 97ec1821989..4bf6dd83a57 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -350,73 +350,73 @@ static struct undobuf undobuf; static int n_occurrences; -static void do_SUBST PROTO((rtx *, rtx)); -static void do_SUBST_INT PROTO((int *, int)); -static void init_reg_last_arrays PROTO((void)); -static void setup_incoming_promotions PROTO((void)); -static void set_nonzero_bits_and_sign_copies PROTO((rtx, rtx, void *)); -static int can_combine_p PROTO((rtx, rtx, rtx, rtx, rtx *, rtx *)); -static int sets_function_arg_p PROTO((rtx)); -static int combinable_i3pat PROTO((rtx, rtx *, rtx, rtx, int, rtx *)); -static int contains_muldiv PROTO((rtx)); -static rtx try_combine PROTO((rtx, rtx, rtx)); -static void undo_all PROTO((void)); -static void undo_commit PROTO((void)); -static rtx *find_split_point PROTO((rtx *, rtx)); -static rtx subst PROTO((rtx, rtx, rtx, int, int)); -static rtx combine_simplify_rtx PROTO((rtx, enum machine_mode, int, int)); -static rtx simplify_if_then_else PROTO((rtx)); -static rtx simplify_set PROTO((rtx)); -static rtx simplify_logical PROTO((rtx, int)); -static rtx expand_compound_operation PROTO((rtx)); -static rtx expand_field_assignment PROTO((rtx)); -static rtx make_extraction PROTO((enum machine_mode, rtx, int, rtx, int, - int, int, int)); -static rtx extract_left_shift PROTO((rtx, int)); -static rtx make_compound_operation PROTO((rtx, enum rtx_code)); -static int get_pos_from_mask PROTO((unsigned HOST_WIDE_INT, int *)); -static rtx force_to_mode PROTO((rtx, enum machine_mode, - unsigned HOST_WIDE_INT, rtx, int)); -static rtx if_then_else_cond PROTO((rtx, rtx *, rtx *)); -static rtx known_cond PROTO((rtx, enum rtx_code, rtx, rtx)); -static int rtx_equal_for_field_assignment_p PROTO((rtx, rtx)); -static rtx make_field_assignment PROTO((rtx)); -static rtx apply_distributive_law PROTO((rtx)); -static rtx simplify_and_const_int PROTO((rtx, enum machine_mode, rtx, - unsigned HOST_WIDE_INT)); -static unsigned HOST_WIDE_INT nonzero_bits PROTO((rtx, enum machine_mode)); -static int num_sign_bit_copies PROTO((rtx, enum machine_mode)); -static int merge_outer_ops PROTO((enum rtx_code *, HOST_WIDE_INT *, - enum rtx_code, HOST_WIDE_INT, - enum machine_mode, int *)); -static rtx simplify_shift_const PROTO((rtx, enum rtx_code, enum machine_mode, - rtx, int)); -static int recog_for_combine PROTO((rtx *, rtx, rtx *)); -static rtx gen_lowpart_for_combine PROTO((enum machine_mode, rtx)); -static rtx gen_rtx_combine PVPROTO((enum rtx_code code, enum machine_mode mode, - ...)); -static rtx gen_binary PROTO((enum rtx_code, enum machine_mode, - rtx, rtx)); -static rtx gen_unary PROTO((enum rtx_code, enum machine_mode, - enum machine_mode, rtx)); -static enum rtx_code simplify_comparison PROTO((enum rtx_code, rtx *, rtx *)); -static int reversible_comparison_p PROTO((rtx)); -static void update_table_tick PROTO((rtx)); -static void record_value_for_reg PROTO((rtx, rtx, rtx)); -static void check_promoted_subreg PROTO((rtx, rtx)); -static void record_dead_and_set_regs_1 PROTO((rtx, rtx, void *)); -static void record_dead_and_set_regs PROTO((rtx)); -static int get_last_value_validate PROTO((rtx *, rtx, int, int)); -static rtx get_last_value PROTO((rtx)); -static int use_crosses_set_p PROTO((rtx, int)); -static void reg_dead_at_p_1 PROTO((rtx, rtx, void *)); -static int reg_dead_at_p PROTO((rtx, rtx)); -static void move_deaths PROTO((rtx, rtx, int, rtx, rtx *)); -static int reg_bitfield_target_p PROTO((rtx, rtx)); -static void distribute_notes PROTO((rtx, rtx, rtx, rtx, rtx, rtx)); -static void distribute_links PROTO((rtx)); -static void mark_used_regs_combine PROTO((rtx)); -static int insn_cuid PROTO((rtx)); +static void do_SUBST PARAMS ((rtx *, rtx)); +static void do_SUBST_INT PARAMS ((int *, int)); +static void init_reg_last_arrays PARAMS ((void)); +static void setup_incoming_promotions PARAMS ((void)); +static void set_nonzero_bits_and_sign_copies PARAMS ((rtx, rtx, void *)); +static int can_combine_p PARAMS ((rtx, rtx, rtx, rtx, rtx *, rtx *)); +static int sets_function_arg_p PARAMS ((rtx)); +static int combinable_i3pat PARAMS ((rtx, rtx *, rtx, rtx, int, rtx *)); +static int contains_muldiv PARAMS ((rtx)); +static rtx try_combine PARAMS ((rtx, rtx, rtx)); +static void undo_all PARAMS ((void)); +static void undo_commit PARAMS ((void)); +static rtx *find_split_point PARAMS ((rtx *, rtx)); +static rtx subst PARAMS ((rtx, rtx, rtx, int, int)); +static rtx combine_simplify_rtx PARAMS ((rtx, enum machine_mode, int, int)); +static rtx simplify_if_then_else PARAMS ((rtx)); +static rtx simplify_set PARAMS ((rtx)); +static rtx simplify_logical PARAMS ((rtx, int)); +static rtx expand_compound_operation PARAMS ((rtx)); +static rtx expand_field_assignment PARAMS ((rtx)); +static rtx make_extraction PARAMS ((enum machine_mode, rtx, int, rtx, int, + int, int, int)); +static rtx extract_left_shift PARAMS ((rtx, int)); +static rtx make_compound_operation PARAMS ((rtx, enum rtx_code)); +static int get_pos_from_mask PARAMS ((unsigned HOST_WIDE_INT, int *)); +static rtx force_to_mode PARAMS ((rtx, enum machine_mode, + unsigned HOST_WIDE_INT, rtx, int)); +static rtx if_then_else_cond PARAMS ((rtx, rtx *, rtx *)); +static rtx known_cond PARAMS ((rtx, enum rtx_code, rtx, rtx)); +static int rtx_equal_for_field_assignment_p PARAMS ((rtx, rtx)); +static rtx make_field_assignment PARAMS ((rtx)); +static rtx apply_distributive_law PARAMS ((rtx)); +static rtx simplify_and_const_int PARAMS ((rtx, enum machine_mode, rtx, + unsigned HOST_WIDE_INT)); +static unsigned HOST_WIDE_INT nonzero_bits PARAMS ((rtx, enum machine_mode)); +static int num_sign_bit_copies PARAMS ((rtx, enum machine_mode)); +static int merge_outer_ops PARAMS ((enum rtx_code *, HOST_WIDE_INT *, + enum rtx_code, HOST_WIDE_INT, + enum machine_mode, int *)); +static rtx simplify_shift_const PARAMS ((rtx, enum rtx_code, enum machine_mode, + rtx, int)); +static int recog_for_combine PARAMS ((rtx *, rtx, rtx *)); +static rtx gen_lowpart_for_combine PARAMS ((enum machine_mode, rtx)); +static rtx gen_rtx_combine PARAMS ((enum rtx_code code, enum machine_mode mode, + ...)); +static rtx gen_binary PARAMS ((enum rtx_code, enum machine_mode, + rtx, rtx)); +static rtx gen_unary PARAMS ((enum rtx_code, enum machine_mode, + enum machine_mode, rtx)); +static enum rtx_code simplify_comparison PARAMS ((enum rtx_code, rtx *, rtx *)); +static int reversible_comparison_p PARAMS ((rtx)); +static void update_table_tick PARAMS ((rtx)); +static void record_value_for_reg PARAMS ((rtx, rtx, rtx)); +static void check_promoted_subreg PARAMS ((rtx, rtx)); +static void record_dead_and_set_regs_1 PARAMS ((rtx, rtx, void *)); +static void record_dead_and_set_regs PARAMS ((rtx)); +static int get_last_value_validate PARAMS ((rtx *, rtx, int, int)); +static rtx get_last_value PARAMS ((rtx)); +static int use_crosses_set_p PARAMS ((rtx, int)); +static void reg_dead_at_p_1 PARAMS ((rtx, rtx, void *)); +static int reg_dead_at_p PARAMS ((rtx, rtx)); +static void move_deaths PARAMS ((rtx, rtx, int, rtx, rtx *)); +static int reg_bitfield_target_p PARAMS ((rtx, rtx)); +static void distribute_notes PARAMS ((rtx, rtx, rtx, rtx, rtx, rtx)); +static void distribute_links PARAMS ((rtx)); +static void mark_used_regs_combine PARAMS ((rtx)); +static int insn_cuid PARAMS ((rtx)); /* Substitute NEWVAL, an rtx expression, into INTO, a place in some insn. The substitution can be undone by undo_all. If INTO is already @@ -9595,7 +9595,7 @@ gen_lowpart_for_combine (mode, x) /*VARARGS2*/ static rtx -gen_rtx_combine VPROTO((enum rtx_code code, enum machine_mode mode, ...)) +gen_rtx_combine VPARAMS ((enum rtx_code code, enum machine_mode mode, ...)) { #ifndef ANSI_PROTOTYPES enum rtx_code code; diff --git a/gcc/convert.h b/gcc/convert.h index 4123874fbb3..28ca1617022 100644 --- a/gcc/convert.h +++ b/gcc/convert.h @@ -1,5 +1,5 @@ /* Definition of functions in convert.c. - Copyright (C) 1993 Free Software Foundation, Inc. + Copyright (C) 1993, 2000 Free Software Foundation, Inc. This file is part of GNU CC. @@ -18,7 +18,7 @@ along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -extern tree convert_to_integer PROTO ((tree, tree)); -extern tree convert_to_pointer PROTO ((tree, tree)); -extern tree convert_to_real PROTO ((tree, tree)); -extern tree convert_to_complex PROTO ((tree, tree)); +extern tree convert_to_integer PARAMS ((tree, tree)); +extern tree convert_to_pointer PARAMS ((tree, tree)); +extern tree convert_to_real PARAMS ((tree, tree)); +extern tree convert_to_complex PARAMS ((tree, tree)); diff --git a/gcc/cse.c b/gcc/cse.c index ff007ff80b1..25821abdb2b 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -645,57 +645,57 @@ struct cse_basic_block_data || XEXP (X, 0) == virtual_outgoing_args_rtx)) \ || GET_CODE (X) == ADDRESSOF) -static int notreg_cost PROTO((rtx)); -static void new_basic_block PROTO((void)); -static void make_new_qty PROTO((int, enum machine_mode)); -static void make_regs_eqv PROTO((int, int)); -static void delete_reg_equiv PROTO((int)); -static int mention_regs PROTO((rtx)); -static int insert_regs PROTO((rtx, struct table_elt *, int)); -static void remove_from_table PROTO((struct table_elt *, unsigned)); -static struct table_elt *lookup PROTO((rtx, unsigned, enum machine_mode)), - *lookup_for_remove PROTO((rtx, unsigned, enum machine_mode)); -static rtx lookup_as_function PROTO((rtx, enum rtx_code)); -static struct table_elt *insert PROTO((rtx, struct table_elt *, unsigned, - enum machine_mode)); -static void merge_equiv_classes PROTO((struct table_elt *, - struct table_elt *)); -static void invalidate PROTO((rtx, enum machine_mode)); -static int cse_rtx_varies_p PROTO((rtx)); -static void remove_invalid_refs PROTO((int)); -static void remove_invalid_subreg_refs PROTO((int, int, enum machine_mode)); -static void rehash_using_reg PROTO((rtx)); -static void invalidate_memory PROTO((void)); -static void invalidate_for_call PROTO((void)); -static rtx use_related_value PROTO((rtx, struct table_elt *)); -static unsigned canon_hash PROTO((rtx, enum machine_mode)); -static unsigned safe_hash PROTO((rtx, enum machine_mode)); -static int exp_equiv_p PROTO((rtx, rtx, int, int)); -static rtx canon_reg PROTO((rtx, rtx)); -static void find_best_addr PROTO((rtx, rtx *)); -static enum rtx_code find_comparison_args PROTO((enum rtx_code, rtx *, rtx *, - enum machine_mode *, - enum machine_mode *)); -static rtx fold_rtx PROTO((rtx, rtx)); -static rtx equiv_constant PROTO((rtx)); -static void record_jump_equiv PROTO((rtx, int)); -static void record_jump_cond PROTO((enum rtx_code, enum machine_mode, - rtx, rtx, int)); -static void cse_insn PROTO((rtx, rtx)); -static int addr_affects_sp_p PROTO((rtx)); -static void invalidate_from_clobbers PROTO((rtx)); -static rtx cse_process_notes PROTO((rtx, rtx)); -static void cse_around_loop PROTO((rtx)); -static void invalidate_skipped_set PROTO((rtx, rtx, void *)); -static void invalidate_skipped_block PROTO((rtx)); -static void cse_check_loop_start PROTO((rtx, rtx, void *)); -static void cse_set_around_loop PROTO((rtx, rtx, rtx)); -static rtx cse_basic_block PROTO((rtx, rtx, struct branch_path *, int)); -static void count_reg_usage PROTO((rtx, int *, rtx, int)); -extern void dump_class PROTO((struct table_elt*)); -static struct cse_reg_info* get_cse_reg_info PROTO((int)); - -static void flush_hash_table PROTO((void)); +static int notreg_cost PARAMS ((rtx)); +static void new_basic_block PARAMS ((void)); +static void make_new_qty PARAMS ((int, enum machine_mode)); +static void make_regs_eqv PARAMS ((int, int)); +static void delete_reg_equiv PARAMS ((int)); +static int mention_regs PARAMS ((rtx)); +static int insert_regs PARAMS ((rtx, struct table_elt *, int)); +static void remove_from_table PARAMS ((struct table_elt *, unsigned)); +static struct table_elt *lookup PARAMS ((rtx, unsigned, enum machine_mode)), + *lookup_for_remove PARAMS ((rtx, unsigned, enum machine_mode)); +static rtx lookup_as_function PARAMS ((rtx, enum rtx_code)); +static struct table_elt *insert PARAMS ((rtx, struct table_elt *, unsigned, + enum machine_mode)); +static void merge_equiv_classes PARAMS ((struct table_elt *, + struct table_elt *)); +static void invalidate PARAMS ((rtx, enum machine_mode)); +static int cse_rtx_varies_p PARAMS ((rtx)); +static void remove_invalid_refs PARAMS ((int)); +static void remove_invalid_subreg_refs PARAMS ((int, int, enum machine_mode)); +static void rehash_using_reg PARAMS ((rtx)); +static void invalidate_memory PARAMS ((void)); +static void invalidate_for_call PARAMS ((void)); +static rtx use_related_value PARAMS ((rtx, struct table_elt *)); +static unsigned canon_hash PARAMS ((rtx, enum machine_mode)); +static unsigned safe_hash PARAMS ((rtx, enum machine_mode)); +static int exp_equiv_p PARAMS ((rtx, rtx, int, int)); +static rtx canon_reg PARAMS ((rtx, rtx)); +static void find_best_addr PARAMS ((rtx, rtx *)); +static enum rtx_code find_comparison_args PARAMS ((enum rtx_code, rtx *, rtx *, + enum machine_mode *, + enum machine_mode *)); +static rtx fold_rtx PARAMS ((rtx, rtx)); +static rtx equiv_constant PARAMS ((rtx)); +static void record_jump_equiv PARAMS ((rtx, int)); +static void record_jump_cond PARAMS ((enum rtx_code, enum machine_mode, + rtx, rtx, int)); +static void cse_insn PARAMS ((rtx, rtx)); +static int addr_affects_sp_p PARAMS ((rtx)); +static void invalidate_from_clobbers PARAMS ((rtx)); +static rtx cse_process_notes PARAMS ((rtx, rtx)); +static void cse_around_loop PARAMS ((rtx)); +static void invalidate_skipped_set PARAMS ((rtx, rtx, void *)); +static void invalidate_skipped_block PARAMS ((rtx)); +static void cse_check_loop_start PARAMS ((rtx, rtx, void *)); +static void cse_set_around_loop PARAMS ((rtx, rtx, rtx)); +static rtx cse_basic_block PARAMS ((rtx, rtx, struct branch_path *, int)); +static void count_reg_usage PARAMS ((rtx, int *, rtx, int)); +extern void dump_class PARAMS ((struct table_elt*)); +static struct cse_reg_info* get_cse_reg_info PARAMS ((int)); + +static void flush_hash_table PARAMS ((void)); /* Dump the expressions in the equivalence class indicated by CLASSP. This function is used only for debugging. */ diff --git a/gcc/dbxout.c b/gcc/dbxout.c index c54912db5e4..8c7b32879b8 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -1,5 +1,5 @@ /* Output dbx-format symbol table information from GNU compiler. - Copyright (C) 1987, 88, 92-97, 1998 Free Software Foundation, Inc. + Copyright (C) 1987, 88, 92-99, 2000 Free Software Foundation, Inc. This file is part of GNU CC. @@ -320,27 +320,27 @@ static int current_sym_nchars; #endif #if defined(ASM_OUTPUT_SECTION_NAME) -static void dbxout_function_end PROTO((void)); +static void dbxout_function_end PARAMS ((void)); #endif -static void dbxout_typedefs PROTO((tree)); -static void dbxout_type_index PROTO((tree)); +static void dbxout_typedefs PARAMS ((tree)); +static void dbxout_type_index PARAMS ((tree)); #if DBX_CONTIN_LENGTH > 0 -static void dbxout_continue PROTO((void)); -#endif -static void dbxout_type_fields PROTO((tree)); -static void dbxout_type_method_1 PROTO((tree, const char *)); -static void dbxout_type_methods PROTO((tree)); -static void dbxout_range_type PROTO((tree)); -static void dbxout_type PROTO((tree, int, int)); -static void print_int_cst_octal PROTO((tree)); -static void print_octal PROTO((unsigned HOST_WIDE_INT, int)); -static void dbxout_type_name PROTO((tree)); -static void dbxout_symbol_location PROTO((tree, tree, const char *, rtx)); -static void dbxout_symbol_name PROTO((tree, const char *, int)); -static void dbxout_prepare_symbol PROTO((tree)); -static void dbxout_finish_symbol PROTO((tree)); -static void dbxout_block PROTO((tree, int, tree)); -static void dbxout_really_begin_function PROTO((tree)); +static void dbxout_continue PARAMS ((void)); +#endif +static void dbxout_type_fields PARAMS ((tree)); +static void dbxout_type_method_1 PARAMS ((tree, const char *)); +static void dbxout_type_methods PARAMS ((tree)); +static void dbxout_range_type PARAMS ((tree)); +static void dbxout_type PARAMS ((tree, int, int)); +static void print_int_cst_octal PARAMS ((tree)); +static void print_octal PARAMS ((unsigned HOST_WIDE_INT, int)); +static void dbxout_type_name PARAMS ((tree)); +static void dbxout_symbol_location PARAMS ((tree, tree, const char *, rtx)); +static void dbxout_symbol_name PARAMS ((tree, const char *, int)); +static void dbxout_prepare_symbol PARAMS ((tree)); +static void dbxout_finish_symbol PARAMS ((tree)); +static void dbxout_block PARAMS ((tree, int, tree)); +static void dbxout_really_begin_function PARAMS ((tree)); #if defined(ASM_OUTPUT_SECTION_NAME) static void diff --git a/gcc/dbxout.h b/gcc/dbxout.h index 0d34f3ab819..899d5d9bb67 100644 --- a/gcc/dbxout.h +++ b/gcc/dbxout.h @@ -1,5 +1,5 @@ /* dbxout.h - Various declarations for functions found in dbxout.c - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of GNU CC. @@ -18,19 +18,19 @@ along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -extern void dbxout_init PROTO ((FILE *, const char *, tree)); -extern void dbxout_finish PROTO ((FILE *, const char *)); +extern void dbxout_init PARAMS ((FILE *, const char *, tree)); +extern void dbxout_finish PARAMS ((FILE *, const char *)); -extern void dbxout_start_new_source_file PROTO ((const char *)); -extern void dbxout_resume_previous_source_file PROTO ((void)); +extern void dbxout_start_new_source_file PARAMS ((const char *)); +extern void dbxout_resume_previous_source_file PARAMS ((void)); -extern void dbxout_source_file PROTO ((FILE *, const char *)); -extern void dbxout_types PROTO ((tree)); -extern void dbxout_args PROTO ((tree)); -extern void dbxout_symbol PROTO ((tree, int)); -extern void dbxout_parms PROTO ((tree)); -extern void dbxout_reg_parms PROTO ((tree)); -extern void dbxout_syms PROTO ((tree)); -extern void dbxout_function PROTO ((tree)); -extern void dbxout_source_line PROTO ((FILE *, const char *, int)); -extern void dbxout_begin_function PROTO ((tree)); +extern void dbxout_source_file PARAMS ((FILE *, const char *)); +extern void dbxout_types PARAMS ((tree)); +extern void dbxout_args PARAMS ((tree)); +extern void dbxout_symbol PARAMS ((tree, int)); +extern void dbxout_parms PARAMS ((tree)); +extern void dbxout_reg_parms PARAMS ((tree)); +extern void dbxout_syms PARAMS ((tree)); +extern void dbxout_function PARAMS ((tree)); +extern void dbxout_source_line PARAMS ((FILE *, const char *, int)); +extern void dbxout_begin_function PARAMS ((tree)); diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c index 9d2eead4d12..175151bac6c 100644 --- a/gcc/diagnostic.c +++ b/gcc/diagnostic.c @@ -1,5 +1,5 @@ /* Top level of GNU C compiler - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2000 Free Software Foundation, Inc. This file is part of GNU CC. @@ -51,49 +51,50 @@ struct output_buffer }; /* Prototypes. */ -static int doing_line_wrapping PROTO((void)); -static void init_output_buffer PROTO((struct output_buffer*, - const char *, int)); -static const char *get_output_prefix PROTO((const struct output_buffer *)); -static int output_space_left PROTO((const struct output_buffer *)); -static void emit_output_prefix PROTO((struct output_buffer *)); -static void output_newline PROTO((struct output_buffer *)); -static void output_append PROTO((struct output_buffer *, const char *, - const char *)); -static void output_puts PROTO((struct output_buffer *, const char *)); -static void dump_output PROTO((struct output_buffer *, FILE *)); -static const char *vbuild_message_string PROTO((const char *, va_list)); -static const char *build_message_string PVPROTO((const char *, ...)); -static const char *build_location_prefix PROTO((const char *, int, int)); -static void voutput_notice PROTO((struct output_buffer *, const char *, - va_list)); -static void output_printf PVPROTO((struct output_buffer *, const char *, ...)); -static void line_wrapper_printf PVPROTO((FILE *, const char *, ...)); -static void vline_wrapper_message_with_location PROTO((const char *, int, int, - const char *, va_list)); -static void notice PVPROTO((const char *s, ...)) ATTRIBUTE_PRINTF_1; -static void v_message_with_file_and_line PROTO((const char *, int, int, +static int doing_line_wrapping PARAMS ((void)); +static void init_output_buffer PARAMS ((struct output_buffer*, + const char *, int)); +static const char *get_output_prefix PARAMS ((const struct output_buffer *)); +static int output_space_left PARAMS ((const struct output_buffer *)); +static void emit_output_prefix PARAMS ((struct output_buffer *)); +static void output_newline PARAMS ((struct output_buffer *)); +static void output_append PARAMS ((struct output_buffer *, const char *, + const char *)); +static void output_puts PARAMS ((struct output_buffer *, const char *)); +static void dump_output PARAMS ((struct output_buffer *, FILE *)); +static const char *vbuild_message_string PARAMS ((const char *, va_list)); +static const char *build_message_string PARAMS ((const char *, ...)); +static const char *build_location_prefix PARAMS ((const char *, int, int)); +static void voutput_notice PARAMS ((struct output_buffer *, const char *, + va_list)); +static void output_printf PARAMS ((struct output_buffer *, const char *, ...)); +static void line_wrapper_printf PARAMS ((FILE *, const char *, ...)); +static void vline_wrapper_message_with_location PARAMS ((const char *, int, + int, const char *, + va_list)); +static void notice PARAMS ((const char *s, ...)) ATTRIBUTE_PRINTF_1; +static void v_message_with_file_and_line PARAMS ((const char *, int, int, + const char *, va_list)); +static void v_message_with_decl PARAMS ((tree, int, const char *, va_list)); +static void file_and_line_for_asm PARAMS ((rtx, char **, int *)); +static void v_error_with_file_and_line PARAMS ((const char *, int, const char *, va_list)); -static void v_message_with_decl PROTO((tree, int, const char *, va_list)); -static void file_and_line_for_asm PROTO((rtx, char **, int *)); -static void v_error_with_file_and_line PROTO((const char *, int, - const char *, va_list)); -static void v_error_with_decl PROTO((tree, const char *, va_list)); -static void v_error_for_asm PROTO((rtx, const char *, va_list)); -static void verror PROTO((const char *, va_list)); -static void vfatal PROTO((const char *, va_list)) ATTRIBUTE_NORETURN; -static void v_warning_with_file_and_line PROTO ((const char *, int, - const char *, va_list)); -static void v_warning_with_decl PROTO((tree, const char *, va_list)); -static void v_warning_for_asm PROTO((rtx, const char *, va_list)); -static void vwarning PROTO((const char *, va_list)); -static void vpedwarn PROTO((const char *, va_list)); -static void v_pedwarn_with_decl PROTO((tree, const char *, va_list)); -static void v_pedwarn_with_file_and_line PROTO((const char *, int, - const char *, va_list)); -static void vsorry PROTO((const char *, va_list)); -static void report_file_and_line PROTO ((const char *, int, int)); -static void vnotice PROTO ((FILE *, const char *, va_list)); +static void v_error_with_decl PARAMS ((tree, const char *, va_list)); +static void v_error_for_asm PARAMS ((rtx, const char *, va_list)); +static void verror PARAMS ((const char *, va_list)); +static void vfatal PARAMS ((const char *, va_list)) ATTRIBUTE_NORETURN; +static void v_warning_with_file_and_line PARAMS ((const char *, int, + const char *, va_list)); +static void v_warning_with_decl PARAMS ((tree, const char *, va_list)); +static void v_warning_for_asm PARAMS ((rtx, const char *, va_list)); +static void vwarning PARAMS ((const char *, va_list)); +static void vpedwarn PARAMS ((const char *, va_list)); +static void v_pedwarn_with_decl PARAMS ((tree, const char *, va_list)); +static void v_pedwarn_with_file_and_line PARAMS ((const char *, int, + const char *, va_list)); +static void vsorry PARAMS ((const char *, va_list)); +static void report_file_and_line PARAMS ((const char *, int, int)); +static void vnotice PARAMS ((FILE *, const char *, va_list)); extern int rtl_dump_and_exit; @@ -115,7 +116,7 @@ static int last_error_tick; /* Called by report_error_function to print out function name. * Default may be overridden by language front-ends. */ -void (*print_error_function) PROTO((const char *)) = +void (*print_error_function) PARAMS ((const char *)) = default_print_error_function; /* Maximum characters per line in automatic line wrapping mode. @@ -283,7 +284,7 @@ vbuild_message_string (msgid, ap) printf. The caller is reponsible for freeing the memory. */ static const char * -build_message_string VPROTO((const char *msgid, ...)) +build_message_string VPARAMS ((const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES const char *msgid; @@ -341,7 +342,7 @@ voutput_notice (buffer, msgid, ap) /* Format a message into BUFFER a la printf. */ static void -output_printf VPROTO((struct output_buffer *buffer, const char *msgid, ...)) +output_printf VPARAMS ((struct output_buffer *buffer, const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES struct output_buffer *buffer; @@ -365,7 +366,7 @@ output_printf VPROTO((struct output_buffer *buffer, const char *msgid, ...)) with PREFIX. */ static void -line_wrapper_printf VPROTO((FILE *file, const char *msgid, ...)) +line_wrapper_printf VPARAMS ((FILE *file, const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES FILE *file; @@ -422,7 +423,7 @@ vnotice (file, msgid, ap) /* Print MSGID on stderr. */ static void -notice VPROTO((const char *msgid, ...)) +notice VPARAMS ((const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES char *msgid; @@ -656,7 +657,7 @@ verror (msgid, ap) /* Report a fatal error at the current line number. Allow a front end to intercept the message. */ -static void (*fatal_function) PROTO ((const char *, va_list)); +static void (*fatal_function) PARAMS ((const char *, va_list)); static void vfatal (msgid, ap) @@ -838,7 +839,7 @@ count_error (warningp) /* Print a diagnistic MSGID on FILE. */ void -fnotice VPROTO((FILE *file, const char *msgid, ...)) +fnotice VPARAMS ((FILE *file, const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES FILE *file; @@ -880,7 +881,7 @@ fatal_io_error (name) /* Issue a pedantic warning MSGID. */ void -pedwarn VPROTO((const char *msgid, ...)) +pedwarn VPARAMS ((const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES const char *msgid; @@ -899,7 +900,7 @@ pedwarn VPROTO((const char *msgid, ...)) /* Issue a pedantic waring about DECL. */ void -pedwarn_with_decl VPROTO((tree decl, const char *msgid, ...)) +pedwarn_with_decl VPARAMS ((tree decl, const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES tree decl; @@ -920,8 +921,8 @@ pedwarn_with_decl VPROTO((tree decl, const char *msgid, ...)) /* Same as above but within the context FILE and LINE. */ void -pedwarn_with_file_and_line VPROTO((const char *file, int line, - const char *msgid, ...)) +pedwarn_with_file_and_line VPARAMS ((const char *file, int line, + const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES const char *file; @@ -944,7 +945,7 @@ pedwarn_with_file_and_line VPROTO((const char *file, int line, /* Just apologize with MSGID. */ void -sorry VPROTO((const char *msgid, ...)) +sorry VPARAMS ((const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES const char *msgid; @@ -1081,8 +1082,8 @@ report_error_function (file) } void -error_with_file_and_line VPROTO((const char *file, int line, - const char *msgid, ...)) +error_with_file_and_line VPARAMS ((const char *file, int line, + const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES const char *file; @@ -1104,7 +1105,7 @@ error_with_file_and_line VPROTO((const char *file, int line, } void -error_with_decl VPROTO((tree decl, const char *msgid, ...)) +error_with_decl VPARAMS ((tree decl, const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES tree decl; @@ -1124,7 +1125,7 @@ error_with_decl VPROTO((tree decl, const char *msgid, ...)) } void -error_for_asm VPROTO((rtx insn, const char *msgid, ...)) +error_for_asm VPARAMS ((rtx insn, const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES rtx insn; @@ -1144,7 +1145,7 @@ error_for_asm VPROTO((rtx insn, const char *msgid, ...)) } void -error VPROTO((const char *msgid, ...)) +error VPARAMS ((const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES const char *msgid; @@ -1165,13 +1166,13 @@ error VPROTO((const char *msgid, ...)) void set_fatal_function (f) - void (*f) PROTO ((const char *, va_list)); + void (*f) PARAMS ((const char *, va_list)); { fatal_function = f; } void -fatal VPROTO((const char *msgid, ...)) +fatal VPARAMS ((const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES const char *msgid; @@ -1216,8 +1217,8 @@ _fatal_insn_not_found (insn, file, line, function) } void -warning_with_file_and_line VPROTO((const char *file, int line, - const char *msgid, ...)) +warning_with_file_and_line VPARAMS ((const char *file, int line, + const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES const char *file; @@ -1239,7 +1240,7 @@ warning_with_file_and_line VPROTO((const char *file, int line, } void -warning_with_decl VPROTO((tree decl, const char *msgid, ...)) +warning_with_decl VPARAMS ((tree decl, const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES tree decl; @@ -1259,7 +1260,7 @@ warning_with_decl VPROTO((tree decl, const char *msgid, ...)) } void -warning_for_asm VPROTO((rtx insn, const char *msgid, ...)) +warning_for_asm VPARAMS ((rtx insn, const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES rtx insn; @@ -1279,7 +1280,7 @@ warning_for_asm VPROTO((rtx insn, const char *msgid, ...)) } void -warning VPROTO((const char *msgid, ...)) +warning VPARAMS ((const char *msgid, ...)) { #ifndef ANSI_PROTOTYPES const char *msgid; diff --git a/gcc/doprint.c b/gcc/doprint.c index 2120020190d..5564421df0b 100644 --- a/gcc/doprint.c +++ b/gcc/doprint.c @@ -1,5 +1,5 @@ /* Provide a version _doprnt in terms of fprintf. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. Contributed by Kaveh Ghazi (ghazi@caip.rutgers.edu) 3/29/98 This program is free software; you can redistribute it and/or modify it @@ -204,10 +204,10 @@ _doprnt (format, ap, stream) fflush(stdin); \ } while (0) -static int checkit PVPROTO ((const char * format, ...)) ATTRIBUTE_PRINTF_1; +static int checkit PARAMS ((const char * format, ...)) ATTRIBUTE_PRINTF_1; static int -checkit VPROTO ((const char* format, ...)) +checkit VPARAMS ((const char* format, ...)) { va_list args; int result; diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index f3c50995983..3fcc05f18d6 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -1,5 +1,5 @@ /* Output Dwarf2 format symbol table information from the GNU C compiler. - Copyright (C) 1992, 93, 95-98, 1999 Free Software Foundation, Inc. + Copyright (C) 1992, 93, 95-99, 2000 Free Software Foundation, Inc. Contributed by Gary Funck (gary@intrepid.com). Derived from DWARF 1 implementation of Ron Guilmette (rfg@monkeys.com). Extensively modified by Jason Merrill (jason@cygnus.com). @@ -199,26 +199,26 @@ static unsigned current_funcdef_fde; /* Forward declarations for functions defined in this file. */ -static char *stripattributes PROTO((const char *)); -static const char *dwarf_cfi_name PROTO((unsigned)); -static dw_cfi_ref new_cfi PROTO((void)); -static void add_cfi PROTO((dw_cfi_ref *, dw_cfi_ref)); -static unsigned long size_of_uleb128 PROTO((unsigned long)); -static unsigned long size_of_sleb128 PROTO((long)); -static void output_uleb128 PROTO((unsigned long)); -static void output_sleb128 PROTO((long)); -static void add_fde_cfi PROTO((char *, dw_cfi_ref)); -static void lookup_cfa_1 PROTO((dw_cfi_ref, unsigned long *, - long *)); -static void lookup_cfa PROTO((unsigned long *, long *)); -static void reg_save PROTO((char *, unsigned, unsigned, - long)); -static void initial_return_save PROTO((rtx)); -static void output_cfi PROTO((dw_cfi_ref, dw_fde_ref)); -static void output_call_frame_info PROTO((int)); -static unsigned reg_number PROTO((rtx)); -static void dwarf2out_stack_adjust PROTO((rtx)); -static void dwarf2out_frame_debug_expr PROTO((rtx, char *)); +static char *stripattributes PARAMS ((const char *)); +static const char *dwarf_cfi_name PARAMS ((unsigned)); +static dw_cfi_ref new_cfi PARAMS ((void)); +static void add_cfi PARAMS ((dw_cfi_ref *, dw_cfi_ref)); +static unsigned long size_of_uleb128 PARAMS ((unsigned long)); +static unsigned long size_of_sleb128 PARAMS ((long)); +static void output_uleb128 PARAMS ((unsigned long)); +static void output_sleb128 PARAMS ((long)); +static void add_fde_cfi PARAMS ((char *, dw_cfi_ref)); +static void lookup_cfa_1 PARAMS ((dw_cfi_ref, unsigned long *, + long *)); +static void lookup_cfa PARAMS ((unsigned long *, long *)); +static void reg_save PARAMS ((char *, unsigned, unsigned, + long)); +static void initial_return_save PARAMS ((rtx)); +static void output_cfi PARAMS ((dw_cfi_ref, dw_fde_ref)); +static void output_call_frame_info PARAMS ((int)); +static unsigned reg_number PARAMS ((rtx)); +static void dwarf2out_stack_adjust PARAMS ((rtx)); +static void dwarf2out_frame_debug_expr PARAMS ((rtx, char *)); /* Definitions of defaults for assembler-dependent names of various pseudo-ops and section names. @@ -2332,186 +2332,191 @@ static int comp_unit_has_inlines; /* Forward declarations for functions defined in this file. */ -static void addr_const_to_string PROTO((dyn_string_t, rtx)); -static char *addr_to_string PROTO((rtx)); -static int is_pseudo_reg PROTO((rtx)); -static tree type_main_variant PROTO((tree)); -static int is_tagged_type PROTO((tree)); -static const char *dwarf_tag_name PROTO((unsigned)); -static const char *dwarf_attr_name PROTO((unsigned)); -static const char *dwarf_form_name PROTO((unsigned)); -static const char *dwarf_stack_op_name PROTO((unsigned)); +static void addr_const_to_string PARAMS ((dyn_string_t, rtx)); +static char *addr_to_string PARAMS ((rtx)); +static int is_pseudo_reg PARAMS ((rtx)); +static tree type_main_variant PARAMS ((tree)); +static int is_tagged_type PARAMS ((tree)); +static const char *dwarf_tag_name PARAMS ((unsigned)); +static const char *dwarf_attr_name PARAMS ((unsigned)); +static const char *dwarf_form_name PARAMS ((unsigned)); +static const char *dwarf_stack_op_name PARAMS ((unsigned)); #if 0 -static const char *dwarf_type_encoding_name PROTO((unsigned)); +static const char *dwarf_type_encoding_name PARAMS ((unsigned)); #endif -static tree decl_ultimate_origin PROTO((tree)); -static tree block_ultimate_origin PROTO((tree)); -static tree decl_class_context PROTO((tree)); -static void add_dwarf_attr PROTO((dw_die_ref, dw_attr_ref)); -static void add_AT_flag PROTO((dw_die_ref, - enum dwarf_attribute, - unsigned)); -static void add_AT_int PROTO((dw_die_ref, - enum dwarf_attribute, long)); -static void add_AT_unsigned PROTO((dw_die_ref, - enum dwarf_attribute, - unsigned long)); -static void add_AT_long_long PROTO((dw_die_ref, - enum dwarf_attribute, - unsigned long, unsigned long)); -static void add_AT_float PROTO((dw_die_ref, - enum dwarf_attribute, - unsigned, long *)); -static void add_AT_string PROTO((dw_die_ref, - enum dwarf_attribute, - const char *)); -static void add_AT_die_ref PROTO((dw_die_ref, - enum dwarf_attribute, - dw_die_ref)); -static void add_AT_fde_ref PROTO((dw_die_ref, - enum dwarf_attribute, - unsigned)); -static void add_AT_loc PROTO((dw_die_ref, - enum dwarf_attribute, - dw_loc_descr_ref)); -static void add_AT_addr PROTO((dw_die_ref, - enum dwarf_attribute, char *)); -static void add_AT_lbl_id PROTO((dw_die_ref, - enum dwarf_attribute, char *)); -static void add_AT_lbl_offset PROTO((dw_die_ref, - enum dwarf_attribute, char *)); -static dw_attr_ref get_AT PROTO((dw_die_ref, - enum dwarf_attribute)); -static const char *get_AT_low_pc PROTO((dw_die_ref)); -static const char *get_AT_hi_pc PROTO((dw_die_ref)); -static const char *get_AT_string PROTO((dw_die_ref, - enum dwarf_attribute)); -static int get_AT_flag PROTO((dw_die_ref, - enum dwarf_attribute)); -static unsigned get_AT_unsigned PROTO((dw_die_ref, - enum dwarf_attribute)); -static int is_c_family PROTO((void)); -static int is_fortran PROTO((void)); -static void remove_AT PROTO((dw_die_ref, - enum dwarf_attribute)); -static void remove_children PROTO((dw_die_ref)); -static void add_child_die PROTO((dw_die_ref, dw_die_ref)); -static dw_die_ref new_die PROTO((enum dwarf_tag, dw_die_ref)); -static dw_die_ref lookup_type_die PROTO((tree)); -static void equate_type_number_to_die PROTO((tree, dw_die_ref)); -static dw_die_ref lookup_decl_die PROTO((tree)); -static void equate_decl_number_to_die PROTO((tree, dw_die_ref)); -static dw_loc_descr_ref new_loc_descr PROTO((enum dwarf_location_atom, - unsigned long, unsigned long)); -static void add_loc_descr PROTO((dw_loc_descr_ref *, - dw_loc_descr_ref)); -static void print_spaces PROTO((FILE *)); -static void print_die PROTO((dw_die_ref, FILE *)); -static void print_dwarf_line_table PROTO((FILE *)); -static void add_sibling_attributes PROTO((dw_die_ref)); -static void build_abbrev_table PROTO((dw_die_ref)); -static unsigned long size_of_string PROTO((const char *)); -static unsigned long size_of_loc_descr PROTO((dw_loc_descr_ref)); -static unsigned long size_of_locs PROTO((dw_loc_descr_ref)); -static int constant_size PROTO((long unsigned)); -static unsigned long size_of_die PROTO((dw_die_ref)); -static void calc_die_sizes PROTO((dw_die_ref)); -static unsigned long size_of_line_prolog PROTO((void)); -static unsigned long size_of_pubnames PROTO((void)); -static unsigned long size_of_aranges PROTO((void)); -static enum dwarf_form value_format PROTO((dw_attr_ref)); -static void output_value_format PROTO((dw_attr_ref)); -static void output_abbrev_section PROTO((void)); -static void output_loc_operands PROTO((dw_loc_descr_ref)); -static void output_die PROTO((dw_die_ref)); -static void output_compilation_unit_header PROTO((void)); -static const char *dwarf2_name PROTO((tree, int)); -static void add_pubname PROTO((tree, dw_die_ref)); -static void output_pubnames PROTO((void)); -static void add_arange PROTO((tree, dw_die_ref)); -static void output_aranges PROTO((void)); -static void output_line_info PROTO((void)); -static int is_body_block PROTO((tree)); -static dw_die_ref base_type_die PROTO((tree)); -static tree root_type PROTO((tree)); -static int is_base_type PROTO((tree)); -static dw_die_ref modified_type_die PROTO((tree, int, int, dw_die_ref)); -static int type_is_enum PROTO((tree)); -static dw_loc_descr_ref reg_loc_descriptor PROTO((rtx)); -static dw_loc_descr_ref based_loc_descr PROTO((unsigned, long)); -static int is_based_loc PROTO((rtx)); -static dw_loc_descr_ref mem_loc_descriptor PROTO((rtx, enum machine_mode mode)); -static dw_loc_descr_ref concat_loc_descriptor PROTO((rtx, rtx)); -static dw_loc_descr_ref loc_descriptor PROTO((rtx)); -static unsigned ceiling PROTO((unsigned, unsigned)); -static tree field_type PROTO((tree)); -static unsigned simple_type_align_in_bits PROTO((tree)); -static unsigned simple_type_size_in_bits PROTO((tree)); -static unsigned field_byte_offset PROTO((tree)); -static void add_AT_location_description PROTO((dw_die_ref, - enum dwarf_attribute, rtx)); -static void add_data_member_location_attribute PROTO((dw_die_ref, tree)); -static void add_const_value_attribute PROTO((dw_die_ref, rtx)); -static void add_location_or_const_value_attribute PROTO((dw_die_ref, tree)); -static void add_name_attribute PROTO((dw_die_ref, const char *)); -static void add_bound_info PROTO((dw_die_ref, - enum dwarf_attribute, tree)); -static void add_subscript_info PROTO((dw_die_ref, tree)); -static void add_byte_size_attribute PROTO((dw_die_ref, tree)); -static void add_bit_offset_attribute PROTO((dw_die_ref, tree)); -static void add_bit_size_attribute PROTO((dw_die_ref, tree)); -static void add_prototyped_attribute PROTO((dw_die_ref, tree)); -static void add_abstract_origin_attribute PROTO((dw_die_ref, tree)); -static void add_pure_or_virtual_attribute PROTO((dw_die_ref, tree)); -static void add_src_coords_attributes PROTO((dw_die_ref, tree)); -static void add_name_and_src_coords_attributes PROTO((dw_die_ref, tree)); -static void push_decl_scope PROTO((tree)); -static dw_die_ref scope_die_for PROTO((tree, dw_die_ref)); -static void pop_decl_scope PROTO((void)); -static void add_type_attribute PROTO((dw_die_ref, tree, int, int, - dw_die_ref)); -static char *type_tag PROTO((tree)); -static tree member_declared_type PROTO((tree)); +static tree decl_ultimate_origin PARAMS ((tree)); +static tree block_ultimate_origin PARAMS ((tree)); +static tree decl_class_context PARAMS ((tree)); +static void add_dwarf_attr PARAMS ((dw_die_ref, dw_attr_ref)); +static void add_AT_flag PARAMS ((dw_die_ref, + enum dwarf_attribute, + unsigned)); +static void add_AT_int PARAMS ((dw_die_ref, + enum dwarf_attribute, long)); +static void add_AT_unsigned PARAMS ((dw_die_ref, + enum dwarf_attribute, + unsigned long)); +static void add_AT_long_long PARAMS ((dw_die_ref, + enum dwarf_attribute, + unsigned long, + unsigned long)); +static void add_AT_float PARAMS ((dw_die_ref, + enum dwarf_attribute, + unsigned, long *)); +static void add_AT_string PARAMS ((dw_die_ref, + enum dwarf_attribute, + const char *)); +static void add_AT_die_ref PARAMS ((dw_die_ref, + enum dwarf_attribute, + dw_die_ref)); +static void add_AT_fde_ref PARAMS ((dw_die_ref, + enum dwarf_attribute, + unsigned)); +static void add_AT_loc PARAMS ((dw_die_ref, + enum dwarf_attribute, + dw_loc_descr_ref)); +static void add_AT_addr PARAMS ((dw_die_ref, + enum dwarf_attribute, + char *)); +static void add_AT_lbl_id PARAMS ((dw_die_ref, + enum dwarf_attribute, + char *)); +static void add_AT_lbl_offset PARAMS ((dw_die_ref, + enum dwarf_attribute, + char *)); +static dw_attr_ref get_AT PARAMS ((dw_die_ref, + enum dwarf_attribute)); +static const char *get_AT_low_pc PARAMS ((dw_die_ref)); +static const char *get_AT_hi_pc PARAMS ((dw_die_ref)); +static const char *get_AT_string PARAMS ((dw_die_ref, + enum dwarf_attribute)); +static int get_AT_flag PARAMS ((dw_die_ref, + enum dwarf_attribute)); +static unsigned get_AT_unsigned PARAMS ((dw_die_ref, + enum dwarf_attribute)); +static int is_c_family PARAMS ((void)); +static int is_fortran PARAMS ((void)); +static void remove_AT PARAMS ((dw_die_ref, + enum dwarf_attribute)); +static void remove_children PARAMS ((dw_die_ref)); +static void add_child_die PARAMS ((dw_die_ref, dw_die_ref)); +static dw_die_ref new_die PARAMS ((enum dwarf_tag, dw_die_ref)); +static dw_die_ref lookup_type_die PARAMS ((tree)); +static void equate_type_number_to_die PARAMS ((tree, dw_die_ref)); +static dw_die_ref lookup_decl_die PARAMS ((tree)); +static void equate_decl_number_to_die PARAMS ((tree, dw_die_ref)); +static dw_loc_descr_ref new_loc_descr PARAMS ((enum dwarf_location_atom, + unsigned long, + unsigned long)); +static void add_loc_descr PARAMS ((dw_loc_descr_ref *, + dw_loc_descr_ref)); +static void print_spaces PARAMS ((FILE *)); +static void print_die PARAMS ((dw_die_ref, FILE *)); +static void print_dwarf_line_table PARAMS ((FILE *)); +static void add_sibling_attributes PARAMS ((dw_die_ref)); +static void build_abbrev_table PARAMS ((dw_die_ref)); +static unsigned long size_of_string PARAMS ((const char *)); +static unsigned long size_of_loc_descr PARAMS ((dw_loc_descr_ref)); +static unsigned long size_of_locs PARAMS ((dw_loc_descr_ref)); +static int constant_size PARAMS ((long unsigned)); +static unsigned long size_of_die PARAMS ((dw_die_ref)); +static void calc_die_sizes PARAMS ((dw_die_ref)); +static unsigned long size_of_line_prolog PARAMS ((void)); +static unsigned long size_of_pubnames PARAMS ((void)); +static unsigned long size_of_aranges PARAMS ((void)); +static enum dwarf_form value_format PARAMS ((dw_attr_ref)); +static void output_value_format PARAMS ((dw_attr_ref)); +static void output_abbrev_section PARAMS ((void)); +static void output_loc_operands PARAMS ((dw_loc_descr_ref)); +static void output_die PARAMS ((dw_die_ref)); +static void output_compilation_unit_header PARAMS ((void)); +static const char *dwarf2_name PARAMS ((tree, int)); +static void add_pubname PARAMS ((tree, dw_die_ref)); +static void output_pubnames PARAMS ((void)); +static void add_arange PARAMS ((tree, dw_die_ref)); +static void output_aranges PARAMS ((void)); +static void output_line_info PARAMS ((void)); +static int is_body_block PARAMS ((tree)); +static dw_die_ref base_type_die PARAMS ((tree)); +static tree root_type PARAMS ((tree)); +static int is_base_type PARAMS ((tree)); +static dw_die_ref modified_type_die PARAMS ((tree, int, int, dw_die_ref)); +static int type_is_enum PARAMS ((tree)); +static dw_loc_descr_ref reg_loc_descriptor PARAMS ((rtx)); +static dw_loc_descr_ref based_loc_descr PARAMS ((unsigned, long)); +static int is_based_loc PARAMS ((rtx)); +static dw_loc_descr_ref mem_loc_descriptor PARAMS ((rtx, enum machine_mode mode)); +static dw_loc_descr_ref concat_loc_descriptor PARAMS ((rtx, rtx)); +static dw_loc_descr_ref loc_descriptor PARAMS ((rtx)); +static unsigned ceiling PARAMS ((unsigned, unsigned)); +static tree field_type PARAMS ((tree)); +static unsigned simple_type_align_in_bits PARAMS ((tree)); +static unsigned simple_type_size_in_bits PARAMS ((tree)); +static unsigned field_byte_offset PARAMS ((tree)); +static void add_AT_location_description PARAMS ((dw_die_ref, + enum dwarf_attribute, rtx)); +static void add_data_member_location_attribute PARAMS ((dw_die_ref, tree)); +static void add_const_value_attribute PARAMS ((dw_die_ref, rtx)); +static void add_location_or_const_value_attribute PARAMS ((dw_die_ref, tree)); +static void add_name_attribute PARAMS ((dw_die_ref, const char *)); +static void add_bound_info PARAMS ((dw_die_ref, + enum dwarf_attribute, tree)); +static void add_subscript_info PARAMS ((dw_die_ref, tree)); +static void add_byte_size_attribute PARAMS ((dw_die_ref, tree)); +static void add_bit_offset_attribute PARAMS ((dw_die_ref, tree)); +static void add_bit_size_attribute PARAMS ((dw_die_ref, tree)); +static void add_prototyped_attribute PARAMS ((dw_die_ref, tree)); +static void add_abstract_origin_attribute PARAMS ((dw_die_ref, tree)); +static void add_pure_or_virtual_attribute PARAMS ((dw_die_ref, tree)); +static void add_src_coords_attributes PARAMS ((dw_die_ref, tree)); +static void add_name_and_src_coords_attributes PARAMS ((dw_die_ref, tree)); +static void push_decl_scope PARAMS ((tree)); +static dw_die_ref scope_die_for PARAMS ((tree, dw_die_ref)); +static void pop_decl_scope PARAMS ((void)); +static void add_type_attribute PARAMS ((dw_die_ref, tree, int, int, + dw_die_ref)); +static char *type_tag PARAMS ((tree)); +static tree member_declared_type PARAMS ((tree)); #if 0 -static char *decl_start_label PROTO((tree)); +static char *decl_start_label PARAMS ((tree)); #endif -static void gen_array_type_die PROTO((tree, dw_die_ref)); -static void gen_set_type_die PROTO((tree, dw_die_ref)); +static void gen_array_type_die PARAMS ((tree, dw_die_ref)); +static void gen_set_type_die PARAMS ((tree, dw_die_ref)); #if 0 -static void gen_entry_point_die PROTO((tree, dw_die_ref)); +static void gen_entry_point_die PARAMS ((tree, dw_die_ref)); #endif -static void gen_inlined_enumeration_type_die PROTO((tree, dw_die_ref)); -static void gen_inlined_structure_type_die PROTO((tree, dw_die_ref)); -static void gen_inlined_union_type_die PROTO((tree, dw_die_ref)); -static void gen_enumeration_type_die PROTO((tree, dw_die_ref)); -static dw_die_ref gen_formal_parameter_die PROTO((tree, dw_die_ref)); -static void gen_unspecified_parameters_die PROTO((tree, dw_die_ref)); -static void gen_formal_types_die PROTO((tree, dw_die_ref)); -static void gen_subprogram_die PROTO((tree, dw_die_ref)); -static void gen_variable_die PROTO((tree, dw_die_ref)); -static void gen_label_die PROTO((tree, dw_die_ref)); -static void gen_lexical_block_die PROTO((tree, dw_die_ref, int)); -static void gen_inlined_subroutine_die PROTO((tree, dw_die_ref, int)); -static void gen_field_die PROTO((tree, dw_die_ref)); -static void gen_ptr_to_mbr_type_die PROTO((tree, dw_die_ref)); -static dw_die_ref gen_compile_unit_die PROTO((const char *)); -static void gen_string_type_die PROTO((tree, dw_die_ref)); -static void gen_inheritance_die PROTO((tree, dw_die_ref)); -static void gen_member_die PROTO((tree, dw_die_ref)); -static void gen_struct_or_union_type_die PROTO((tree, dw_die_ref)); -static void gen_subroutine_type_die PROTO((tree, dw_die_ref)); -static void gen_typedef_die PROTO((tree, dw_die_ref)); -static void gen_type_die PROTO((tree, dw_die_ref)); -static void gen_tagged_type_instantiation_die PROTO((tree, dw_die_ref)); -static void gen_block_die PROTO((tree, dw_die_ref, int)); -static void decls_for_scope PROTO((tree, dw_die_ref, int)); -static int is_redundant_typedef PROTO((tree)); -static void gen_decl_die PROTO((tree, dw_die_ref)); -static unsigned lookup_filename PROTO((const char *)); -static void add_incomplete_type PROTO((tree)); -static void retry_incomplete_types PROTO((void)); -static void gen_type_die_for_member PROTO((tree, tree, dw_die_ref)); -static void gen_abstract_function PROTO((tree)); +static void gen_inlined_enumeration_type_die PARAMS ((tree, dw_die_ref)); +static void gen_inlined_structure_type_die PARAMS ((tree, dw_die_ref)); +static void gen_inlined_union_type_die PARAMS ((tree, dw_die_ref)); +static void gen_enumeration_type_die PARAMS ((tree, dw_die_ref)); +static dw_die_ref gen_formal_parameter_die PARAMS ((tree, dw_die_ref)); +static void gen_unspecified_parameters_die PARAMS ((tree, dw_die_ref)); +static void gen_formal_types_die PARAMS ((tree, dw_die_ref)); +static void gen_subprogram_die PARAMS ((tree, dw_die_ref)); +static void gen_variable_die PARAMS ((tree, dw_die_ref)); +static void gen_label_die PARAMS ((tree, dw_die_ref)); +static void gen_lexical_block_die PARAMS ((tree, dw_die_ref, int)); +static void gen_inlined_subroutine_die PARAMS ((tree, dw_die_ref, int)); +static void gen_field_die PARAMS ((tree, dw_die_ref)); +static void gen_ptr_to_mbr_type_die PARAMS ((tree, dw_die_ref)); +static dw_die_ref gen_compile_unit_die PARAMS ((const char *)); +static void gen_string_type_die PARAMS ((tree, dw_die_ref)); +static void gen_inheritance_die PARAMS ((tree, dw_die_ref)); +static void gen_member_die PARAMS ((tree, dw_die_ref)); +static void gen_struct_or_union_type_die PARAMS ((tree, dw_die_ref)); +static void gen_subroutine_type_die PARAMS ((tree, dw_die_ref)); +static void gen_typedef_die PARAMS ((tree, dw_die_ref)); +static void gen_type_die PARAMS ((tree, dw_die_ref)); +static void gen_tagged_type_instantiation_die PARAMS ((tree, dw_die_ref)); +static void gen_block_die PARAMS ((tree, dw_die_ref, int)); +static void decls_for_scope PARAMS ((tree, dw_die_ref, int)); +static int is_redundant_typedef PARAMS ((tree)); +static void gen_decl_die PARAMS ((tree, dw_die_ref)); +static unsigned lookup_filename PARAMS ((const char *)); +static void add_incomplete_type PARAMS ((tree)); +static void retry_incomplete_types PARAMS ((void)); +static void gen_type_die_for_member PARAMS ((tree, tree, dw_die_ref)); +static void gen_abstract_function PARAMS ((tree)); /* Section names used to hold DWARF debugging information. */ #ifndef DEBUG_INFO_SECTION @@ -2632,11 +2637,11 @@ static char debug_line_section_label[MAX_ARTIFICIAL_LABEL_BYTES]; /* We allow a language front-end to designate a function that is to be called to "demangle" any name before it it put into a DIE. */ -static const char *(*demangle_name_func) PROTO((const char *)); +static const char *(*demangle_name_func) PARAMS ((const char *)); void dwarf2out_set_demangle_name_func (func) - const char *(*func) PROTO((const char *)); + const char *(*func) PARAMS ((const char *)); { demangle_name_func = func; } diff --git a/gcc/dwarf2out.h b/gcc/dwarf2out.h index b32fefb4230..8046c11246a 100644 --- a/gcc/dwarf2out.h +++ b/gcc/dwarf2out.h @@ -1,5 +1,5 @@ /* dwarf2out.h - Various declarations for functions found in dwarf2out.c - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of GNU CC. @@ -18,24 +18,24 @@ along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -extern void dwarf2out_init PROTO ((FILE *asm_out_file, - char *main_input_filename)); -extern void dwarf2out_finish PROTO ((void)); - -extern void dwarf2out_define PROTO ((unsigned, const char *)); -extern void dwarf2out_undef PROTO ((unsigned, const char *)); -extern void dwarf2out_start_source_file PROTO ((const char *)); -extern void dwarf2out_end_source_file PROTO ((void)); - -extern void dwarf2out_begin_block PROTO ((unsigned)); -extern void dwarf2out_end_block PROTO ((unsigned)); -extern void dwarf2out_label PROTO ((rtx)); -extern void dwarf2out_decl PROTO ((tree)); -extern void dwarf2out_line PROTO ((const char *, unsigned)); -extern void dwarf2out_frame_init PROTO ((void)); -extern void dwarf2out_frame_debug PROTO ((rtx)); -extern void dwarf2out_frame_finish PROTO ((void)); - -extern void debug_dwarf PROTO ((void)); +extern void dwarf2out_init PARAMS ((FILE *asm_out_file, + char *main_input_filename)); +extern void dwarf2out_finish PARAMS ((void)); + +extern void dwarf2out_define PARAMS ((unsigned, const char *)); +extern void dwarf2out_undef PARAMS ((unsigned, const char *)); +extern void dwarf2out_start_source_file PARAMS ((const char *)); +extern void dwarf2out_end_source_file PARAMS ((void)); + +extern void dwarf2out_begin_block PARAMS ((unsigned)); +extern void dwarf2out_end_block PARAMS ((unsigned)); +extern void dwarf2out_label PARAMS ((rtx)); +extern void dwarf2out_decl PARAMS ((tree)); +extern void dwarf2out_line PARAMS ((const char *, unsigned)); +extern void dwarf2out_frame_init PARAMS ((void)); +extern void dwarf2out_frame_debug PARAMS ((rtx)); +extern void dwarf2out_frame_finish PARAMS ((void)); + +extern void debug_dwarf PARAMS ((void)); struct die_struct; -extern void debug_dwarf_die PROTO ((struct die_struct *)); +extern void debug_dwarf_die PARAMS ((struct die_struct *)); diff --git a/gcc/dwarfout.c b/gcc/dwarfout.c index f5b0fb5a75b..37d33c92fc5 100644 --- a/gcc/dwarfout.c +++ b/gcc/dwarfout.c @@ -1,5 +1,5 @@ /* Output Dwarf format symbol table information from the GNU C compiler. - Copyright (C) 1992, 1993, 95-98, 1999 Free Software Foundation, Inc. + Copyright (C) 1992, 1993, 95-99, 2000 Free Software Foundation, Inc. Contributed by Ron Guilmette (rfg@monkeys.com) of Network Computing Devices. This file is part of GNU CC. @@ -38,7 +38,7 @@ Boston, MA 02111-1307, USA. */ #if defined(DWARF_TIMESTAMPS) #if !defined(POSIX) -extern time_t time PROTO ((time_t *)); /* FIXME: use NEED_DECLARATION_TIME */ +extern time_t time PARAMS ((time_t *)); /* FIXME: use NEED_DECLARATION_TIME */ #endif /* !defined(POSIX) */ #endif /* defined(DWARF_TIMESTAMPS) */ @@ -315,140 +315,140 @@ static int in_class; /* Forward declarations for functions defined in this file. */ -static const char *dwarf_tag_name PROTO((unsigned)); -static const char *dwarf_attr_name PROTO((unsigned)); -static const char *dwarf_stack_op_name PROTO((unsigned)); -static const char *dwarf_typemod_name PROTO((unsigned)); -static const char *dwarf_fmt_byte_name PROTO((unsigned)); -static const char *dwarf_fund_type_name PROTO((unsigned)); -static tree decl_ultimate_origin PROTO((tree)); -static tree block_ultimate_origin PROTO((tree)); -static tree decl_class_context PROTO((tree)); +static const char *dwarf_tag_name PARAMS ((unsigned)); +static const char *dwarf_attr_name PARAMS ((unsigned)); +static const char *dwarf_stack_op_name PARAMS ((unsigned)); +static const char *dwarf_typemod_name PARAMS ((unsigned)); +static const char *dwarf_fmt_byte_name PARAMS ((unsigned)); +static const char *dwarf_fund_type_name PARAMS ((unsigned)); +static tree decl_ultimate_origin PARAMS ((tree)); +static tree block_ultimate_origin PARAMS ((tree)); +static tree decl_class_context PARAMS ((tree)); #if 0 -static void output_unsigned_leb128 PROTO((unsigned long)); -static void output_signed_leb128 PROTO((long)); +static void output_unsigned_leb128 PARAMS ((unsigned long)); +static void output_signed_leb128 PARAMS ((long)); #endif -static inline int is_body_block PROTO((tree)); -static int fundamental_type_code PROTO((tree)); -static tree root_type_1 PROTO((tree, int)); -static tree root_type PROTO((tree)); -static void write_modifier_bytes_1 PROTO((tree, int, int, int)); -static void write_modifier_bytes PROTO((tree, int, int)); -static inline int type_is_fundamental PROTO((tree)); -static void equate_decl_number_to_die_number PROTO((tree)); -static inline void equate_type_number_to_die_number PROTO((tree)); -static void output_reg_number PROTO((rtx)); -static void output_mem_loc_descriptor PROTO((rtx)); -static void output_loc_descriptor PROTO((rtx)); -static void output_bound_representation PROTO((tree, unsigned, int)); -static void output_enumeral_list PROTO((tree)); -static inline unsigned ceiling PROTO((unsigned, unsigned)); -static inline tree field_type PROTO((tree)); -static inline unsigned simple_type_align_in_bits PROTO((tree)); -static inline unsigned simple_type_size_in_bits PROTO((tree)); -static unsigned field_byte_offset PROTO((tree)); -static inline void sibling_attribute PROTO((void)); -static void location_attribute PROTO((rtx)); -static void data_member_location_attribute PROTO((tree)); -static void const_value_attribute PROTO((rtx)); -static void location_or_const_value_attribute PROTO((tree)); -static inline void name_attribute PROTO((const char *)); -static inline void fund_type_attribute PROTO((unsigned)); -static void mod_fund_type_attribute PROTO((tree, int, int)); -static inline void user_def_type_attribute PROTO((tree)); -static void mod_u_d_type_attribute PROTO((tree, int, int)); +static inline int is_body_block PARAMS ((tree)); +static int fundamental_type_code PARAMS ((tree)); +static tree root_type_1 PARAMS ((tree, int)); +static tree root_type PARAMS ((tree)); +static void write_modifier_bytes_1 PARAMS ((tree, int, int, int)); +static void write_modifier_bytes PARAMS ((tree, int, int)); +static inline int type_is_fundamental PARAMS ((tree)); +static void equate_decl_number_to_die_number PARAMS ((tree)); +static inline void equate_type_number_to_die_number PARAMS ((tree)); +static void output_reg_number PARAMS ((rtx)); +static void output_mem_loc_descriptor PARAMS ((rtx)); +static void output_loc_descriptor PARAMS ((rtx)); +static void output_bound_representation PARAMS ((tree, unsigned, int)); +static void output_enumeral_list PARAMS ((tree)); +static inline unsigned ceiling PARAMS ((unsigned, unsigned)); +static inline tree field_type PARAMS ((tree)); +static inline unsigned simple_type_align_in_bits PARAMS ((tree)); +static inline unsigned simple_type_size_in_bits PARAMS ((tree)); +static unsigned field_byte_offset PARAMS ((tree)); +static inline void sibling_attribute PARAMS ((void)); +static void location_attribute PARAMS ((rtx)); +static void data_member_location_attribute PARAMS ((tree)); +static void const_value_attribute PARAMS ((rtx)); +static void location_or_const_value_attribute PARAMS ((tree)); +static inline void name_attribute PARAMS ((const char *)); +static inline void fund_type_attribute PARAMS ((unsigned)); +static void mod_fund_type_attribute PARAMS ((tree, int, int)); +static inline void user_def_type_attribute PARAMS ((tree)); +static void mod_u_d_type_attribute PARAMS ((tree, int, int)); #ifdef USE_ORDERING_ATTRIBUTE -static inline void ordering_attribute PROTO((unsigned)); +static inline void ordering_attribute PARAMS ((unsigned)); #endif /* defined(USE_ORDERING_ATTRIBUTE) */ -static void subscript_data_attribute PROTO((tree)); -static void byte_size_attribute PROTO((tree)); -static inline void bit_offset_attribute PROTO((tree)); -static inline void bit_size_attribute PROTO((tree)); -static inline void element_list_attribute PROTO((tree)); -static inline void stmt_list_attribute PROTO((const char *)); -static inline void low_pc_attribute PROTO((const char *)); -static inline void high_pc_attribute PROTO((const char *)); -static inline void body_begin_attribute PROTO((const char *)); -static inline void body_end_attribute PROTO((const char *)); -static inline void language_attribute PROTO((unsigned)); -static inline void member_attribute PROTO((tree)); +static void subscript_data_attribute PARAMS ((tree)); +static void byte_size_attribute PARAMS ((tree)); +static inline void bit_offset_attribute PARAMS ((tree)); +static inline void bit_size_attribute PARAMS ((tree)); +static inline void element_list_attribute PARAMS ((tree)); +static inline void stmt_list_attribute PARAMS ((const char *)); +static inline void low_pc_attribute PARAMS ((const char *)); +static inline void high_pc_attribute PARAMS ((const char *)); +static inline void body_begin_attribute PARAMS ((const char *)); +static inline void body_end_attribute PARAMS ((const char *)); +static inline void language_attribute PARAMS ((unsigned)); +static inline void member_attribute PARAMS ((tree)); #if 0 -static inline void string_length_attribute PROTO((tree)); +static inline void string_length_attribute PARAMS ((tree)); #endif -static inline void comp_dir_attribute PROTO((const char *)); -static inline void sf_names_attribute PROTO((const char *)); -static inline void src_info_attribute PROTO((const char *)); -static inline void mac_info_attribute PROTO((const char *)); -static inline void prototyped_attribute PROTO((tree)); -static inline void producer_attribute PROTO((const char *)); -static inline void inline_attribute PROTO((tree)); -static inline void containing_type_attribute PROTO((tree)); -static inline void abstract_origin_attribute PROTO((tree)); +static inline void comp_dir_attribute PARAMS ((const char *)); +static inline void sf_names_attribute PARAMS ((const char *)); +static inline void src_info_attribute PARAMS ((const char *)); +static inline void mac_info_attribute PARAMS ((const char *)); +static inline void prototyped_attribute PARAMS ((tree)); +static inline void producer_attribute PARAMS ((const char *)); +static inline void inline_attribute PARAMS ((tree)); +static inline void containing_type_attribute PARAMS ((tree)); +static inline void abstract_origin_attribute PARAMS ((tree)); #ifdef DWARF_DECL_COORDINATES -static inline void src_coords_attribute PROTO((unsigned, unsigned)); +static inline void src_coords_attribute PARAMS ((unsigned, unsigned)); #endif /* defined(DWARF_DECL_COORDINATES) */ -static inline void pure_or_virtual_attribute PROTO((tree)); -static void name_and_src_coords_attributes PROTO((tree)); -static void type_attribute PROTO((tree, int, int)); -static char *type_tag PROTO((tree)); -static inline void dienum_push PROTO((void)); -static inline void dienum_pop PROTO((void)); -static inline tree member_declared_type PROTO((tree)); -static char *function_start_label PROTO((tree)); -static void output_array_type_die PROTO((void *)); -static void output_set_type_die PROTO((void *)); +static inline void pure_or_virtual_attribute PARAMS ((tree)); +static void name_and_src_coords_attributes PARAMS ((tree)); +static void type_attribute PARAMS ((tree, int, int)); +static char *type_tag PARAMS ((tree)); +static inline void dienum_push PARAMS ((void)); +static inline void dienum_pop PARAMS ((void)); +static inline tree member_declared_type PARAMS ((tree)); +static char *function_start_label PARAMS ((tree)); +static void output_array_type_die PARAMS ((void *)); +static void output_set_type_die PARAMS ((void *)); #if 0 -static void output_entry_point_die PROTO((void *)); +static void output_entry_point_die PARAMS ((void *)); #endif -static void output_inlined_enumeration_type_die PROTO((void *)); -static void output_inlined_structure_type_die PROTO((void *)); -static void output_inlined_union_type_die PROTO((void *)); -static void output_enumeration_type_die PROTO((void *)); -static void output_formal_parameter_die PROTO((void *)); -static void output_global_subroutine_die PROTO((void *)); -static void output_global_variable_die PROTO((void *)); -static void output_label_die PROTO((void *)); -static void output_lexical_block_die PROTO((void *)); -static void output_inlined_subroutine_die PROTO((void *)); -static void output_local_variable_die PROTO((void *)); -static void output_member_die PROTO((void *)); +static void output_inlined_enumeration_type_die PARAMS ((void *)); +static void output_inlined_structure_type_die PARAMS ((void *)); +static void output_inlined_union_type_die PARAMS ((void *)); +static void output_enumeration_type_die PARAMS ((void *)); +static void output_formal_parameter_die PARAMS ((void *)); +static void output_global_subroutine_die PARAMS ((void *)); +static void output_global_variable_die PARAMS ((void *)); +static void output_label_die PARAMS ((void *)); +static void output_lexical_block_die PARAMS ((void *)); +static void output_inlined_subroutine_die PARAMS ((void *)); +static void output_local_variable_die PARAMS ((void *)); +static void output_member_die PARAMS ((void *)); #if 0 -static void output_pointer_type_die PROTO((void *)); -static void output_reference_type_die PROTO((void *)); +static void output_pointer_type_die PARAMS ((void *)); +static void output_reference_type_die PARAMS ((void *)); #endif -static void output_ptr_to_mbr_type_die PROTO((void *)); -static void output_compile_unit_die PROTO((void *)); -static void output_string_type_die PROTO((void *)); -static void output_inheritance_die PROTO((void *)); -static void output_structure_type_die PROTO((void *)); -static void output_local_subroutine_die PROTO((void *)); -static void output_subroutine_type_die PROTO((void *)); -static void output_typedef_die PROTO((void *)); -static void output_union_type_die PROTO((void *)); -static void output_unspecified_parameters_die PROTO((void *)); -static void output_padded_null_die PROTO((void *)); -static void output_die PROTO((void (*) PROTO((void *)), void *)); -static void end_sibling_chain PROTO((void)); -static void output_formal_types PROTO((tree)); -static void pend_type PROTO((tree)); -static int type_ok_for_scope PROTO((tree, tree)); -static void output_pending_types_for_scope PROTO((tree)); -static void output_type PROTO((tree, tree)); -static void output_tagged_type_instantiation PROTO((tree)); -static void output_block PROTO((tree, int)); -static void output_decls_for_scope PROTO((tree, int)); -static void output_decl PROTO((tree, tree)); -static void shuffle_filename_entry PROTO((filename_entry *)); -static void generate_new_sfname_entry PROTO((void)); -static unsigned lookup_filename PROTO((const char *)); -static void generate_srcinfo_entry PROTO((unsigned, unsigned)); -static void generate_macinfo_entry PROTO((const char *, const char *)); -static int is_pseudo_reg PROTO((rtx)); -static tree type_main_variant PROTO((tree)); -static int is_tagged_type PROTO((tree)); -static int is_redundant_typedef PROTO((tree)); -static void add_incomplete_type PROTO((tree)); -static void retry_incomplete_types PROTO((void)); +static void output_ptr_to_mbr_type_die PARAMS ((void *)); +static void output_compile_unit_die PARAMS ((void *)); +static void output_string_type_die PARAMS ((void *)); +static void output_inheritance_die PARAMS ((void *)); +static void output_structure_type_die PARAMS ((void *)); +static void output_local_subroutine_die PARAMS ((void *)); +static void output_subroutine_type_die PARAMS ((void *)); +static void output_typedef_die PARAMS ((void *)); +static void output_union_type_die PARAMS ((void *)); +static void output_unspecified_parameters_die PARAMS ((void *)); +static void output_padded_null_die PARAMS ((void *)); +static void output_die PARAMS ((void (*)(void *), void *)); +static void end_sibling_chain PARAMS ((void)); +static void output_formal_types PARAMS ((tree)); +static void pend_type PARAMS ((tree)); +static int type_ok_for_scope PARAMS ((tree, tree)); +static void output_pending_types_for_scope PARAMS ((tree)); +static void output_type PARAMS ((tree, tree)); +static void output_tagged_type_instantiation PARAMS ((tree)); +static void output_block PARAMS ((tree, int)); +static void output_decls_for_scope PARAMS ((tree, int)); +static void output_decl PARAMS ((tree, tree)); +static void shuffle_filename_entry PARAMS ((filename_entry *)); +static void generate_new_sfname_entry PARAMS ((void)); +static unsigned lookup_filename PARAMS ((const char *)); +static void generate_srcinfo_entry PARAMS ((unsigned, unsigned)); +static void generate_macinfo_entry PARAMS ((const char *, const char *)); +static int is_pseudo_reg PARAMS ((rtx)); +static tree type_main_variant PARAMS ((tree)); +static int is_tagged_type PARAMS ((tree)); +static int is_redundant_typedef PARAMS ((tree)); +static void add_incomplete_type PARAMS ((tree)); +static void retry_incomplete_types PARAMS ((void)); /* Definitions of defaults for assembler-dependent names of various pseudo-ops and section names. @@ -3999,7 +3999,7 @@ output_padded_null_die (arg) static void output_die (die_specific_output_function, param) - register void (*die_specific_output_function) PROTO ((void *)); + register void (*die_specific_output_function) PARAMS ((void *)); register void *param; { char begin_label[MAX_ARTIFICIAL_LABEL_BYTES]; @@ -5094,7 +5094,7 @@ output_decl (decl, containing_scope) function. */ { - register void (*func) PROTO((void *)); + register void (*func) PARAMS ((void *)); register tree origin = decl_ultimate_origin (decl); if (origin != NULL && TREE_CODE (origin) == PARM_DECL) diff --git a/gcc/dwarfout.h b/gcc/dwarfout.h index f1c0dd24947..c09469a36a8 100644 --- a/gcc/dwarfout.h +++ b/gcc/dwarfout.h @@ -1,5 +1,5 @@ /* dwarfout.h - Various declarations for functions found in dwarfout.c - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of GNU CC. @@ -18,25 +18,25 @@ along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -extern void dwarfout_init PROTO ((FILE *asm_out_file, +extern void dwarfout_init PARAMS ((FILE *asm_out_file, char *main_input_filename)); -extern void dwarfout_finish PROTO ((void)); +extern void dwarfout_finish PARAMS ((void)); -extern void dwarfout_define PROTO ((unsigned, const char *)); -extern void dwarfout_undef PROTO ((unsigned, const char *)); -extern void dwarfout_file_scope_decl PROTO ((tree , int)); -extern void dwarfout_start_new_source_file PROTO ((const char *)); -extern void dwarfout_resume_previous_source_file PROTO((unsigned)); +extern void dwarfout_define PARAMS ((unsigned, const char *)); +extern void dwarfout_undef PARAMS ((unsigned, const char *)); +extern void dwarfout_file_scope_decl PARAMS ((tree , int)); +extern void dwarfout_start_new_source_file PARAMS ((const char *)); +extern void dwarfout_resume_previous_source_file PARAMS ((unsigned)); -extern void dwarfout_begin_function PROTO ((void)); -extern void dwarfout_end_function PROTO ((void)); -extern void dwarfout_begin_epilogue PROTO ((void)); -extern void dwarfout_end_epilogue PROTO ((void)); -extern void dwarfout_begin_block PROTO ((unsigned)); -extern void dwarfout_end_block PROTO ((unsigned)); +extern void dwarfout_begin_function PARAMS ((void)); +extern void dwarfout_end_function PARAMS ((void)); +extern void dwarfout_begin_epilogue PARAMS ((void)); +extern void dwarfout_end_epilogue PARAMS ((void)); +extern void dwarfout_begin_block PARAMS ((unsigned)); +extern void dwarfout_end_block PARAMS ((unsigned)); #ifdef RTX_CODE -extern void dwarfout_label PROTO ((rtx)); +extern void dwarfout_label PARAMS ((rtx)); #endif -extern void dwarfout_line PROTO ((const char *, unsigned)); +extern void dwarfout_line PARAMS ((const char *, unsigned)); diff --git a/gcc/dyn-string.h b/gcc/dyn-string.h index 50e00e70031..561bff4351c 100644 --- a/gcc/dyn-string.h +++ b/gcc/dyn-string.h @@ -1,5 +1,5 @@ /* An abstract string datatype. - Copyright (C) 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. Contributed by Mark Mitchell (mark@markmitchell.com). This file is part of GNU CC. @@ -27,7 +27,7 @@ typedef struct dyn_string char *s; /* The string itself, NUL-terminated. */ }* dyn_string_t; -extern dyn_string_t dyn_string_new PROTO((int)); -extern void dyn_string_delete PROTO((dyn_string_t)); -extern dyn_string_t dyn_string_append PROTO((dyn_string_t, const char*)); -extern dyn_string_t dyn_string_resize PROTO((dyn_string_t, int)); +extern dyn_string_t dyn_string_new PARAMS ((int)); +extern void dyn_string_delete PARAMS ((dyn_string_t)); +extern dyn_string_t dyn_string_append PARAMS ((dyn_string_t, const char*)); +extern dyn_string_t dyn_string_resize PARAMS ((dyn_string_t, int)); |