mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-30 07:14:09 +08:00
c-common.c: PROTO -> PARAMS.
* c-common.c: PROTO -> PARAMS. * c-common.h: Likewise. * c-decl.c: Likewise. * c-iterate.c: Likewise. * c-lang.c: Likewise. * c-lex.c: Likewise. * c-lex.h: Likewise. * c-parse.in: Likewise. * c-pragma.c: Likewise. * c-pragma.h: Likewise. * c-tree.h: Likewise. * c-typeck.c: Likewise. * objc/objc-act.c: Likewise. * objc/objc-act.h: Likewise. From-SVN: r31362
This commit is contained in:
parent
dd42e13519
commit
6e090c767a
@ -1,3 +1,20 @@
|
||||
2000-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* c-common.c: PROTO -> PARAMS.
|
||||
* c-common.h: Likewise.
|
||||
* c-decl.c: Likewise.
|
||||
* c-iterate.c: Likewise.
|
||||
* c-lang.c: Likewise.
|
||||
* c-lex.c: Likewise.
|
||||
* c-lex.h: Likewise.
|
||||
* c-parse.in: Likewise.
|
||||
* c-pragma.c: Likewise.
|
||||
* c-pragma.h: Likewise.
|
||||
* c-tree.h: Likewise.
|
||||
* c-typeck.c: Likewise.
|
||||
* objc/objc-act.c: Likewise.
|
||||
* objc/objc-act.h: Likewise.
|
||||
|
||||
2000-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* m88k-protos.h: New file.
|
||||
|
@ -147,15 +147,15 @@ enum attrs {A_PACKED, A_NOCOMMON, A_COMMON, A_NORETURN, A_CONST, A_T_UNION,
|
||||
enum format_type { printf_format_type, scanf_format_type,
|
||||
strftime_format_type };
|
||||
|
||||
static void declare_hidden_char_array PROTO((const char *, const char *));
|
||||
static void add_attribute PROTO((enum attrs, const char *,
|
||||
int, int, int));
|
||||
static void init_attributes PROTO((void));
|
||||
static void record_function_format PROTO((tree, tree, enum format_type,
|
||||
int, int));
|
||||
static void record_international_format PROTO((tree, tree, int));
|
||||
static tree c_find_base_decl PROTO((tree));
|
||||
static int default_valid_lang_attribute PROTO ((tree, tree, tree, tree));
|
||||
static void declare_hidden_char_array PARAMS ((const char *, const char *));
|
||||
static void add_attribute PARAMS ((enum attrs, const char *,
|
||||
int, int, int));
|
||||
static void init_attributes PARAMS ((void));
|
||||
static void record_function_format PARAMS ((tree, tree, enum format_type,
|
||||
int, int));
|
||||
static void record_international_format PARAMS ((tree, tree, int));
|
||||
static tree c_find_base_decl PARAMS ((tree));
|
||||
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
|
||||
|
||||
/* Keep a stack of if statements. We record the number of compound
|
||||
statements seen up to the if keyword, as well as the line number
|
||||
@ -169,7 +169,7 @@ typedef struct
|
||||
const char *file;
|
||||
int needs_warning;
|
||||
} if_elt;
|
||||
static void tfaff PROTO((void));
|
||||
static void tfaff PARAMS ((void));
|
||||
|
||||
static if_elt *if_stack;
|
||||
|
||||
@ -503,7 +503,7 @@ default_valid_lang_attribute (attr_name, attr_args, decl, type)
|
||||
/* Return a 1 if ATTR_NAME and ATTR_ARGS denote a valid language-specific
|
||||
attribute for either declaration DECL or type TYPE and 0 otherwise. */
|
||||
|
||||
int (*valid_lang_attribute) PROTO ((tree, tree, tree, tree))
|
||||
int (*valid_lang_attribute) PARAMS ((tree, tree, tree, tree))
|
||||
= default_valid_lang_attribute;
|
||||
|
||||
/* Process the attributes listed in ATTRIBUTES and PREFIX_ATTRIBUTES
|
||||
@ -1280,7 +1280,7 @@ typedef struct international_format_info
|
||||
|
||||
static international_format_info *international_format_list = NULL;
|
||||
|
||||
static void check_format_info PROTO((function_format_info *, tree));
|
||||
static void check_format_info PARAMS ((function_format_info *, tree));
|
||||
|
||||
/* Initialize the table of functions to perform format checking on.
|
||||
The ANSI functions are always checked (whether <stdio.h> is
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Definitions for c-common.c.
|
||||
Copyright (C) 1987, 93, 94, 95, 97, 98, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1987, 93-95, 97-99, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -73,51 +73,51 @@ extern tree c_global_trees[CTI_MAX];
|
||||
#define int_ftype_int c_global_trees[CTI_INT_FTYPE_INT]
|
||||
#define ptr_ftype_sizetype c_global_trees[CTI_PTR_FTYPE_SIZETYPE]
|
||||
|
||||
extern void declare_function_name PROTO((void));
|
||||
extern void decl_attributes PROTO((tree, tree, tree));
|
||||
extern void init_function_format_info PROTO((void));
|
||||
extern void check_function_format PROTO((tree, tree, tree));
|
||||
extern void c_apply_type_quals_to_decl PROTO((int, tree));
|
||||
extern int c_get_alias_set PROTO((tree));
|
||||
extern void declare_function_name PARAMS ((void));
|
||||
extern void decl_attributes PARAMS ((tree, tree, tree));
|
||||
extern void init_function_format_info PARAMS ((void));
|
||||
extern void check_function_format PARAMS ((tree, tree, tree));
|
||||
extern void c_apply_type_quals_to_decl PARAMS ((int, tree));
|
||||
extern int c_get_alias_set PARAMS ((tree));
|
||||
/* Print an error message for invalid operands to arith operation CODE.
|
||||
NOP_EXPR is used as a special case (see truthvalue_conversion). */
|
||||
extern void binary_op_error PROTO((enum tree_code));
|
||||
extern void c_expand_expr_stmt PROTO((tree));
|
||||
extern void c_expand_start_cond PROTO((tree, int, int));
|
||||
extern void c_expand_start_else PROTO((void));
|
||||
extern void c_expand_end_cond PROTO((void));
|
||||
extern void binary_op_error PARAMS ((enum tree_code));
|
||||
extern void c_expand_expr_stmt PARAMS ((tree));
|
||||
extern void c_expand_start_cond PARAMS ((tree, int, int));
|
||||
extern void c_expand_start_else PARAMS ((void));
|
||||
extern void c_expand_end_cond PARAMS ((void));
|
||||
/* Validate the expression after `case' and apply default promotions. */
|
||||
extern tree check_case_value PROTO((tree));
|
||||
extern tree check_case_value PARAMS ((tree));
|
||||
/* Concatenate a list of STRING_CST nodes into one STRING_CST. */
|
||||
extern tree combine_strings PROTO((tree));
|
||||
extern void constant_expression_warning PROTO((tree));
|
||||
extern tree convert_and_check PROTO((tree, tree));
|
||||
extern void overflow_warning PROTO((tree));
|
||||
extern void unsigned_conversion_warning PROTO((tree, tree));
|
||||
extern tree combine_strings PARAMS ((tree));
|
||||
extern void constant_expression_warning PARAMS ((tree));
|
||||
extern tree convert_and_check PARAMS ((tree, tree));
|
||||
extern void overflow_warning PARAMS ((tree));
|
||||
extern void unsigned_conversion_warning PARAMS ((tree, tree));
|
||||
/* Read the rest of the current #-directive line. */
|
||||
#if USE_CPPLIB
|
||||
extern char *get_directive_line PROTO((void));
|
||||
extern char *get_directive_line PARAMS ((void));
|
||||
#define GET_DIRECTIVE_LINE() get_directive_line ()
|
||||
#else
|
||||
extern char *get_directive_line PROTO((FILE *));
|
||||
extern char *get_directive_line PARAMS ((FILE *));
|
||||
#define GET_DIRECTIVE_LINE() get_directive_line (finput)
|
||||
#endif
|
||||
|
||||
/* Subroutine of build_binary_op, used for comparison operations.
|
||||
See if the operands have both been converted from subword integer types
|
||||
and, if so, perhaps change them both back to their original type. */
|
||||
extern tree shorten_compare PROTO((tree *, tree *, tree *, enum tree_code *));
|
||||
extern tree shorten_compare PARAMS ((tree *, tree *, tree *, enum tree_code *));
|
||||
/* Prepare expr to be an argument of a TRUTH_NOT_EXPR,
|
||||
or validate its data type for an `if' or `while' statement or ?..: exp. */
|
||||
extern tree truthvalue_conversion PROTO((tree));
|
||||
extern tree type_for_mode PROTO((enum machine_mode, int));
|
||||
extern tree type_for_size PROTO((unsigned, int));
|
||||
extern tree truthvalue_conversion PARAMS ((tree));
|
||||
extern tree type_for_mode PARAMS ((enum machine_mode, int));
|
||||
extern tree type_for_size PARAMS ((unsigned, int));
|
||||
|
||||
/* Build tree nodes and builtin functions common to both C and C++ language
|
||||
frontends. */
|
||||
extern void c_common_nodes_and_builtins PROTO((int, int, int));
|
||||
extern void c_common_nodes_and_builtins PARAMS ((int, int, int));
|
||||
|
||||
extern tree build_va_arg PROTO((tree, tree));
|
||||
extern tree build_va_arg PARAMS ((tree, tree));
|
||||
|
||||
/* Nonzero if the type T promotes to itself.
|
||||
ANSI C states explicitly the list of types that promote;
|
||||
@ -130,5 +130,5 @@ extern tree build_va_arg PROTO((tree, tree));
|
||||
|| TYPE_MAIN_VARIANT (t) == short_integer_type_node \
|
||||
|| TYPE_MAIN_VARIANT (t) == short_unsigned_type_node))
|
||||
|
||||
extern int self_promoting_args_p PROTO((tree));
|
||||
extern tree simple_type_promotes_to PROTO((tree));
|
||||
extern int self_promoting_args_p PARAMS ((tree));
|
||||
extern tree simple_type_promotes_to PARAMS ((tree));
|
||||
|
30
gcc/c-decl.c
30
gcc/c-decl.c
@ -1,5 +1,5 @@
|
||||
/* Process declarations and variables for C compiler.
|
||||
Copyright (C) 1988, 92-98, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1988, 92-99, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -277,20 +277,20 @@ tree static_ctors, static_dtors;
|
||||
|
||||
/* Forward declarations. */
|
||||
|
||||
static struct binding_level * make_binding_level PROTO((void));
|
||||
static void mark_binding_level PROTO((void *));
|
||||
static void clear_limbo_values PROTO((tree));
|
||||
static int duplicate_decls PROTO((tree, tree, int));
|
||||
static int redeclaration_error_message PROTO((tree, tree));
|
||||
static void storedecls PROTO((tree));
|
||||
static void storetags PROTO((tree));
|
||||
static tree lookup_tag PROTO((enum tree_code, tree,
|
||||
struct binding_level *, int));
|
||||
static tree lookup_tag_reverse PROTO((tree));
|
||||
static tree grokdeclarator PROTO((tree, tree, enum decl_context,
|
||||
int));
|
||||
static tree grokparms PROTO((tree, int));
|
||||
static void layout_array_type PROTO((tree));
|
||||
static struct binding_level * make_binding_level PARAMS ((void));
|
||||
static void mark_binding_level PARAMS ((void *));
|
||||
static void clear_limbo_values PARAMS ((tree));
|
||||
static int duplicate_decls PARAMS ((tree, tree, int));
|
||||
static int redeclaration_error_message PARAMS ((tree, tree));
|
||||
static void storedecls PARAMS ((tree));
|
||||
static void storetags PARAMS ((tree));
|
||||
static tree lookup_tag PARAMS ((enum tree_code, tree,
|
||||
struct binding_level *, int));
|
||||
static tree lookup_tag_reverse PARAMS ((tree));
|
||||
static tree grokdeclarator PARAMS ((tree, tree, enum decl_context,
|
||||
int));
|
||||
static tree grokparms PARAMS ((tree, int));
|
||||
static void layout_array_type PARAMS ((tree));
|
||||
|
||||
/* C-specific option variables. */
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Build expressions with type checking for C compiler.
|
||||
Copyright (C) 1987, 88, 89, 92-97, 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1987, 88, 89, 92-98, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -94,16 +94,16 @@ static char *ixp_firstobj;
|
||||
/* During collect_iterators, a list of SAVE_EXPRs already scanned. */
|
||||
static tree save_exprs;
|
||||
|
||||
static void expand_stmt_with_iterators_1 PROTO((tree, tree));
|
||||
static tree collect_iterators PROTO((tree, tree));
|
||||
static void iterator_loop_prologue PROTO((tree, rtx *, rtx *));
|
||||
static void iterator_loop_epilogue PROTO((tree, rtx *, rtx *));
|
||||
static int top_level_ixpansion_p PROTO((void));
|
||||
static void isn_append PROTO((struct iter_stack_node *,
|
||||
struct iter_stack_node *));
|
||||
static void istack_sublevel_to_current PROTO((void));
|
||||
static void add_ixpansion PROTO((tree, rtx, rtx, rtx, rtx));
|
||||
static void delete_ixpansion PROTO((tree));
|
||||
static void expand_stmt_with_iterators_1 PARAMS ((tree, tree));
|
||||
static tree collect_iterators PARAMS ((tree, tree));
|
||||
static void iterator_loop_prologue PARAMS ((tree, rtx *, rtx *));
|
||||
static void iterator_loop_epilogue PARAMS ((tree, rtx *, rtx *));
|
||||
static int top_level_ixpansion_p PARAMS ((void));
|
||||
static void isn_append PARAMS ((struct iter_stack_node *,
|
||||
struct iter_stack_node *));
|
||||
static void istack_sublevel_to_current PARAMS ((void));
|
||||
static void add_ixpansion PARAMS ((tree, rtx, rtx, rtx, rtx));
|
||||
static void delete_ixpansion PARAMS ((tree));
|
||||
|
||||
/* Initialize our obstack once per compilation. */
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Language-specific hook definitions for C front end.
|
||||
Copyright (C) 1991, 1995, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1991, 1995, 97-99, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -181,7 +181,7 @@ finish_file ()
|
||||
#ifndef ASM_OUTPUT_DESTRUCTOR
|
||||
extern tree static_dtors;
|
||||
#endif
|
||||
extern tree build_function_call PROTO((tree, tree));
|
||||
extern tree build_function_call PARAMS ((tree, tree));
|
||||
#if !defined(ASM_OUTPUT_CONSTRUCTOR) || !defined(ASM_OUTPUT_DESTRUCTOR)
|
||||
tree void_list_node_1 = build_tree_list (NULL_TREE, void_type_node);
|
||||
#endif
|
||||
|
26
gcc/c-lex.c
26
gcc/c-lex.c
@ -59,7 +59,7 @@ extern cpp_options parse_options;
|
||||
FILE *finput;
|
||||
#endif
|
||||
|
||||
extern void yyprint PROTO((FILE *, int, YYSTYPE));
|
||||
extern void yyprint PARAMS ((FILE *, int, YYSTYPE));
|
||||
|
||||
/* The elements of `ridpointers' are identifier nodes
|
||||
for the reserved type names and storage classes.
|
||||
@ -91,7 +91,7 @@ struct putback_buffer {
|
||||
|
||||
static struct putback_buffer putback = {NULL, 0, -1};
|
||||
|
||||
static inline int getch PROTO ((void));
|
||||
static inline int getch PARAMS ((void));
|
||||
|
||||
static inline int
|
||||
getch ()
|
||||
@ -105,7 +105,7 @@ getch ()
|
||||
return getc (finput);
|
||||
}
|
||||
|
||||
static inline void put_back PROTO ((int));
|
||||
static inline void put_back PARAMS ((int));
|
||||
|
||||
static inline void
|
||||
put_back (ch)
|
||||
@ -160,15 +160,15 @@ static int ignore_escape_flag;
|
||||
static int end_of_file;
|
||||
|
||||
#ifdef HANDLE_GENERIC_PRAGMAS
|
||||
static int handle_generic_pragma PROTO((int));
|
||||
static int handle_generic_pragma PARAMS ((int));
|
||||
#endif /* HANDLE_GENERIC_PRAGMAS */
|
||||
static int whitespace_cr PROTO((int));
|
||||
static int skip_white_space PROTO((int));
|
||||
static char *extend_token_buffer PROTO((const char *));
|
||||
static int readescape PROTO((int *));
|
||||
static void parse_float PROTO((PTR));
|
||||
static void extend_token_buffer_to PROTO((int));
|
||||
static int read_line_number PROTO((int *));
|
||||
static int whitespace_cr PARAMS ((int));
|
||||
static int skip_white_space PARAMS ((int));
|
||||
static char *extend_token_buffer PARAMS ((const char *));
|
||||
static int readescape PARAMS ((int *));
|
||||
static void parse_float PARAMS ((PTR));
|
||||
static void extend_token_buffer_to PARAMS ((int));
|
||||
static int read_line_number PARAMS ((int *));
|
||||
|
||||
/* Do not insert generated code into the source, instead, include it.
|
||||
This allows us to build gcc automatically even for targets that
|
||||
@ -1204,7 +1204,7 @@ parse_float (data)
|
||||
next token, which screws up feed_input. So just return a null
|
||||
character. */
|
||||
|
||||
static inline int token_getch PROTO ((void));
|
||||
static inline int token_getch PARAMS ((void));
|
||||
|
||||
static inline int
|
||||
token_getch ()
|
||||
@ -1216,7 +1216,7 @@ token_getch ()
|
||||
return GETC ();
|
||||
}
|
||||
|
||||
static inline void token_put_back PROTO ((int));
|
||||
static inline void token_put_back PARAMS ((int));
|
||||
|
||||
static inline void
|
||||
token_put_back (ch)
|
||||
|
20
gcc/c-lex.h
20
gcc/c-lex.h
@ -1,5 +1,5 @@
|
||||
/* Define constants for communication with c-parse.y.
|
||||
Copyright (C) 1987, 1992, 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1987, 1992, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -75,14 +75,14 @@ extern tree lastiddecl;
|
||||
|
||||
extern char *token_buffer; /* Pointer to token buffer. */
|
||||
|
||||
extern tree make_pointer_declarator PROTO((tree, tree));
|
||||
extern void reinit_parse_for_function PROTO((void));
|
||||
extern void position_after_white_space PROTO((void));
|
||||
extern int check_newline PROTO((void));
|
||||
extern tree make_pointer_declarator PARAMS ((tree, tree));
|
||||
extern void reinit_parse_for_function PARAMS ((void));
|
||||
extern void position_after_white_space PARAMS ((void));
|
||||
extern int check_newline PARAMS ((void));
|
||||
|
||||
extern int yylex PROTO((void));
|
||||
extern void yyerror PROTO((const char *));
|
||||
extern int yylex PARAMS ((void));
|
||||
extern void yyerror PARAMS ((const char *));
|
||||
|
||||
extern void forget_protocol_qualifiers PROTO((void));
|
||||
extern void remember_protocol_qualifiers PROTO((void));
|
||||
extern tree is_class_name PROTO((tree));
|
||||
extern void forget_protocol_qualifiers PARAMS ((void));
|
||||
extern void remember_protocol_qualifiers PARAMS ((void));
|
||||
extern tree is_class_name PARAMS ((tree));
|
||||
|
@ -133,7 +133,7 @@ static int undeclared_variable_notice;
|
||||
/* Tell yyparse how to print a token's value, if yydebug is set. */
|
||||
|
||||
#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
|
||||
extern void yyprint PROTO ((FILE *, int, YYSTYPE));
|
||||
extern void yyprint PARAMS ((FILE *, int, YYSTYPE));
|
||||
|
||||
/* Add GC roots for variables local to this file. */
|
||||
void
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* YACC parser for C syntax and for Objective C. -*-c-*-
|
||||
Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1987, 88, 89, 92-99, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -255,7 +255,7 @@ end ifobjc
|
||||
/* Tell yyparse how to print a token's value, if yydebug is set. */
|
||||
|
||||
#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
|
||||
extern void yyprint PROTO ((FILE *, int, YYSTYPE));
|
||||
extern void yyprint PARAMS ((FILE *, int, YYSTYPE));
|
||||
|
||||
/* Add GC roots for variables local to this file. */
|
||||
void
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*WARNING: This file is automatically generated!*/
|
||||
/* YACC parser for C syntax and for Objective C. -*-c-*-
|
||||
Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1987, 88, 89, 92-99, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -217,7 +217,7 @@ static int undeclared_variable_notice;
|
||||
/* Tell yyparse how to print a token's value, if yydebug is set. */
|
||||
|
||||
#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
|
||||
extern void yyprint PROTO ((FILE *, int, YYSTYPE));
|
||||
extern void yyprint PARAMS ((FILE *, int, YYSTYPE));
|
||||
|
||||
/* Add GC roots for variables local to this file. */
|
||||
void
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Handle #pragma, system V.4 style. Supports #pragma weak and #pragma pack.
|
||||
Copyright (C) 1992, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1992, 97-99, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -58,8 +58,8 @@ static struct align_stack * alignment_stack = NULL;
|
||||
maximum_field_alignment. Value is in bits. */
|
||||
static int default_alignment;
|
||||
|
||||
static int push_alignment PROTO((int, tree));
|
||||
static int pop_alignment PROTO((tree));
|
||||
static int push_alignment PARAMS ((int, tree));
|
||||
static int pop_alignment PARAMS ((tree));
|
||||
|
||||
/* Push an alignment value onto the stack. */
|
||||
static int
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Pragma related interfaces.
|
||||
Copyright (C) 1995, 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -54,7 +54,7 @@ struct weak_syms
|
||||
/* Declared in varasm.c */
|
||||
extern struct weak_syms * weak_decls;
|
||||
|
||||
extern int add_weak PROTO((char *, char *));
|
||||
extern int add_weak PARAMS ((char *, char *));
|
||||
#endif /* HANDLE_PRAGMA_WEAK */
|
||||
|
||||
|
||||
@ -92,10 +92,10 @@ enum pragma_state
|
||||
};
|
||||
|
||||
/* Handle a C style pragma */
|
||||
extern int handle_pragma_token PROTO((const char *, tree));
|
||||
extern int handle_pragma_token PARAMS ((const char *, tree));
|
||||
|
||||
#endif /* HANDLE_GENERIC_PRAGMAS */
|
||||
|
||||
extern void init_pragma PROTO((void));
|
||||
extern void init_pragma PARAMS ((void));
|
||||
|
||||
#endif /* _C_PRAGMA_H */
|
||||
|
257
gcc/c-tree.h
257
gcc/c-tree.h
@ -1,5 +1,5 @@
|
||||
/* Definitions for C parsing and type checking.
|
||||
Copyright (C) 1987, 93, 94, 95, 97, 98, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1987, 93-95, 97-99, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -153,151 +153,152 @@ struct lang_type
|
||||
#define ITERATOR_BOUND_P(NODE) ((NODE)->common.readonly_flag)
|
||||
|
||||
/* in c-lang.c and objc-act.c */
|
||||
extern tree lookup_interface PROTO((tree));
|
||||
extern tree is_class_name PROTO((tree));
|
||||
extern void maybe_objc_check_decl PROTO((tree));
|
||||
extern void finish_file PROTO((void));
|
||||
extern int maybe_objc_comptypes PROTO((tree, tree, int));
|
||||
extern tree maybe_building_objc_message_expr PROTO((void));
|
||||
extern tree maybe_objc_method_name PROTO((tree));
|
||||
extern int recognize_objc_keyword PROTO((void));
|
||||
extern tree build_objc_string PROTO((int, const char *));
|
||||
extern tree lookup_interface PARAMS ((tree));
|
||||
extern tree is_class_name PARAMS ((tree));
|
||||
extern void maybe_objc_check_decl PARAMS ((tree));
|
||||
extern void finish_file PARAMS ((void));
|
||||
extern int maybe_objc_comptypes PARAMS ((tree, tree, int));
|
||||
extern tree maybe_building_objc_message_expr PARAMS ((void));
|
||||
extern tree maybe_objc_method_name PARAMS ((tree));
|
||||
extern int recognize_objc_keyword PARAMS ((void));
|
||||
extern tree build_objc_string PARAMS ((int, const char *));
|
||||
|
||||
/* in c-parse.in */
|
||||
extern void c_parse_init PROTO((void));
|
||||
extern void c_parse_init PARAMS ((void));
|
||||
|
||||
/* in c-aux-info.c */
|
||||
extern void gen_aux_info_record PROTO((tree, int, int, int));
|
||||
extern void gen_aux_info_record PARAMS ((tree, int, int, int));
|
||||
|
||||
/* in c-convert.c */
|
||||
extern tree convert PROTO((tree, tree));
|
||||
extern tree convert PARAMS ((tree, tree));
|
||||
|
||||
/* in c-decl.c */
|
||||
extern tree build_enumerator PROTO((tree, tree));
|
||||
extern tree build_enumerator PARAMS ((tree, tree));
|
||||
/* Add qualifiers to a type, in the fashion for C. */
|
||||
extern tree c_build_qualified_type PROTO((tree, int));
|
||||
extern tree c_build_qualified_type PARAMS ((tree, int));
|
||||
#define c_build_type_variant(TYPE, CONST_P, VOLATILE_P) \
|
||||
c_build_qualified_type (TYPE, \
|
||||
((CONST_P) ? TYPE_QUAL_CONST : 0) | \
|
||||
((VOLATILE_P) ? TYPE_QUAL_VOLATILE : 0))
|
||||
extern int c_decode_option PROTO((int, char **));
|
||||
extern void c_mark_varargs PROTO((void));
|
||||
extern tree check_identifier PROTO((tree, tree));
|
||||
extern void clear_parm_order PROTO((void));
|
||||
extern tree combine_parm_decls PROTO((tree, tree, int));
|
||||
extern int complete_array_type PROTO((tree, tree, int));
|
||||
extern void declare_parm_level PROTO((int));
|
||||
extern tree define_label PROTO((char *, int, tree));
|
||||
extern void delete_block PROTO((tree));
|
||||
extern void finish_decl PROTO((tree, tree, tree));
|
||||
extern void finish_decl_top_level PROTO((tree, tree, tree));
|
||||
extern tree finish_enum PROTO((tree, tree, tree));
|
||||
extern void finish_function PROTO((int));
|
||||
extern tree finish_struct PROTO((tree, tree, tree));
|
||||
extern tree get_parm_info PROTO((int));
|
||||
extern tree getdecls PROTO((void));
|
||||
extern tree gettags PROTO((void));
|
||||
extern int global_bindings_p PROTO((void));
|
||||
extern tree grokfield PROTO((const char *, int, tree, tree, tree));
|
||||
extern tree groktypename PROTO((tree));
|
||||
extern tree groktypename_in_parm_context PROTO((tree));
|
||||
extern tree implicitly_declare PROTO((tree));
|
||||
extern int in_parm_level_p PROTO((void));
|
||||
extern void init_decl_processing PROTO((void));
|
||||
extern void insert_block PROTO((tree));
|
||||
extern void keep_next_level PROTO((void));
|
||||
extern int kept_level_p PROTO((void));
|
||||
extern tree lookup_label PROTO((tree));
|
||||
extern tree lookup_name PROTO((tree));
|
||||
extern tree lookup_name_current_level PROTO((tree));
|
||||
extern tree lookup_name_current_level_global PROTO((tree));
|
||||
extern tree maybe_build_cleanup PROTO((tree));
|
||||
extern void parmlist_tags_warning PROTO((void));
|
||||
extern void pending_xref_error PROTO((void));
|
||||
extern void mark_c_function_context PROTO((struct function *));
|
||||
extern void push_c_function_context PROTO((struct function *));
|
||||
extern void pop_c_function_context PROTO((struct function *));
|
||||
extern void pop_label_level PROTO((void));
|
||||
extern tree poplevel PROTO((int, int, int));
|
||||
extern void print_lang_decl PROTO((FILE *, tree, int));
|
||||
extern void print_lang_identifier PROTO((FILE *, tree, int));
|
||||
extern void print_lang_type PROTO((FILE *, tree, int));
|
||||
extern void push_label_level PROTO((void));
|
||||
extern void push_parm_decl PROTO((tree));
|
||||
extern tree pushdecl PROTO((tree));
|
||||
extern tree pushdecl_top_level PROTO((tree));
|
||||
extern void pushlevel PROTO((int));
|
||||
extern void pushtag PROTO((tree, tree));
|
||||
extern void set_block PROTO((tree));
|
||||
extern tree shadow_label PROTO((tree));
|
||||
extern void shadow_record_fields PROTO((tree));
|
||||
extern void shadow_tag PROTO((tree));
|
||||
extern void shadow_tag_warned PROTO((tree, int));
|
||||
extern tree start_enum PROTO((tree));
|
||||
extern int start_function PROTO((tree, tree, tree,
|
||||
tree, int));
|
||||
extern tree start_decl PROTO((tree, tree, int,
|
||||
tree, tree));
|
||||
extern tree start_struct PROTO((enum tree_code, tree));
|
||||
extern void store_parm_decls PROTO((void));
|
||||
extern tree xref_tag PROTO((enum tree_code, tree));
|
||||
extern int c_decode_option PARAMS ((int, char **));
|
||||
extern void c_mark_varargs PARAMS ((void));
|
||||
extern tree check_identifier PARAMS ((tree, tree));
|
||||
extern void clear_parm_order PARAMS ((void));
|
||||
extern tree combine_parm_decls PARAMS ((tree, tree, int));
|
||||
extern int complete_array_type PARAMS ((tree, tree, int));
|
||||
extern void declare_parm_level PARAMS ((int));
|
||||
extern tree define_label PARAMS ((char *, int, tree));
|
||||
extern void delete_block PARAMS ((tree));
|
||||
extern void finish_decl PARAMS ((tree, tree, tree));
|
||||
extern void finish_decl_top_level PARAMS ((tree, tree, tree));
|
||||
extern tree finish_enum PARAMS ((tree, tree, tree));
|
||||
extern void finish_function PARAMS ((int));
|
||||
extern tree finish_struct PARAMS ((tree, tree, tree));
|
||||
extern tree get_parm_info PARAMS ((int));
|
||||
extern tree getdecls PARAMS ((void));
|
||||
extern tree gettags PARAMS ((void));
|
||||
extern int global_bindings_p PARAMS ((void));
|
||||
extern tree grokfield PARAMS ((const char *, int, tree, tree, tree));
|
||||
extern tree groktypename PARAMS ((tree));
|
||||
extern tree groktypename_in_parm_context PARAMS ((tree));
|
||||
extern tree implicitly_declare PARAMS ((tree));
|
||||
extern int in_parm_level_p PARAMS ((void));
|
||||
extern void init_decl_processing PARAMS ((void));
|
||||
extern void insert_block PARAMS ((tree));
|
||||
extern void keep_next_level PARAMS ((void));
|
||||
extern int kept_level_p PARAMS ((void));
|
||||
extern tree lookup_label PARAMS ((tree));
|
||||
extern tree lookup_name PARAMS ((tree));
|
||||
extern tree lookup_name_current_level PARAMS ((tree));
|
||||
extern tree lookup_name_current_level_global PARAMS ((tree));
|
||||
extern tree maybe_build_cleanup PARAMS ((tree));
|
||||
extern void parmlist_tags_warning PARAMS ((void));
|
||||
extern void pending_xref_error PARAMS ((void));
|
||||
extern void mark_c_function_context PARAMS ((struct function *));
|
||||
extern void push_c_function_context PARAMS ((struct function *));
|
||||
extern void pop_c_function_context PARAMS ((struct function *));
|
||||
extern void pop_label_level PARAMS ((void));
|
||||
extern tree poplevel PARAMS ((int, int, int));
|
||||
extern void print_lang_decl PARAMS ((FILE *, tree, int));
|
||||
extern void print_lang_identifier PARAMS ((FILE *, tree, int));
|
||||
extern void print_lang_type PARAMS ((FILE *, tree, int));
|
||||
extern void push_label_level PARAMS ((void));
|
||||
extern void push_parm_decl PARAMS ((tree));
|
||||
extern tree pushdecl PARAMS ((tree));
|
||||
extern tree pushdecl_top_level PARAMS ((tree));
|
||||
extern void pushlevel PARAMS ((int));
|
||||
extern void pushtag PARAMS ((tree, tree));
|
||||
extern void set_block PARAMS ((tree));
|
||||
extern tree shadow_label PARAMS ((tree));
|
||||
extern void shadow_record_fields PARAMS ((tree));
|
||||
extern void shadow_tag PARAMS ((tree));
|
||||
extern void shadow_tag_warned PARAMS ((tree, int));
|
||||
extern tree start_enum PARAMS ((tree));
|
||||
extern int start_function PARAMS ((tree, tree, tree,
|
||||
tree, int));
|
||||
extern tree start_decl PARAMS ((tree, tree, int,
|
||||
tree, tree));
|
||||
extern tree start_struct PARAMS ((enum tree_code, tree));
|
||||
extern void store_parm_decls PARAMS ((void));
|
||||
extern tree xref_tag PARAMS ((enum tree_code, tree));
|
||||
|
||||
/* in c-typeck.c */
|
||||
extern tree require_complete_type PROTO((tree));
|
||||
extern void incomplete_type_error PROTO((tree, tree));
|
||||
extern tree require_complete_type PARAMS ((tree));
|
||||
extern void incomplete_type_error PARAMS ((tree, tree));
|
||||
/* Given two integer or real types, return the type for their sum.
|
||||
Given two compatible ANSI C types, returns the merged type. */
|
||||
extern tree common_type PROTO((tree, tree));
|
||||
extern int comptypes PROTO((tree, tree));
|
||||
extern tree c_sizeof PROTO((tree));
|
||||
extern tree c_sizeof_nowarn PROTO((tree));
|
||||
extern tree c_size_in_bytes PROTO((tree));
|
||||
extern tree c_alignof PROTO((tree));
|
||||
extern tree c_alignof_expr PROTO((tree));
|
||||
extern tree default_conversion PROTO((tree));
|
||||
extern tree build_component_ref PROTO((tree, tree));
|
||||
extern tree build_indirect_ref PROTO((tree, const char *));
|
||||
extern tree build_array_ref PROTO((tree, tree));
|
||||
extern tree build_function_call PROTO((tree, tree));
|
||||
extern tree parser_build_binary_op PROTO((enum tree_code,
|
||||
tree, tree));
|
||||
extern tree build_binary_op PROTO((enum tree_code,
|
||||
tree, tree, int));
|
||||
extern tree build_unary_op PROTO((enum tree_code,
|
||||
tree, int));
|
||||
extern int lvalue_p PROTO((tree));
|
||||
extern int lvalue_or_else PROTO((tree, const char *));
|
||||
extern void readonly_warning PROTO((tree, const char *));
|
||||
extern int mark_addressable PROTO((tree));
|
||||
extern tree build_conditional_expr PROTO((tree, tree, tree));
|
||||
extern tree build_compound_expr PROTO((tree));
|
||||
extern tree build_c_cast PROTO((tree, tree));
|
||||
extern tree build_modify_expr PROTO((tree, enum tree_code,
|
||||
tree));
|
||||
extern void store_init_value PROTO((tree, tree));
|
||||
extern void error_init PROTO((const char *));
|
||||
extern void pedwarn_init PROTO((const char *));
|
||||
extern void start_init PROTO((tree, tree, int));
|
||||
extern void finish_init PROTO((void));
|
||||
extern void really_start_incremental_init PROTO((tree));
|
||||
extern void push_init_level PROTO((int));
|
||||
extern tree pop_init_level PROTO((int));
|
||||
extern void set_init_index PROTO((tree, tree));
|
||||
extern void set_init_label PROTO((tree));
|
||||
extern void process_init_element PROTO((tree));
|
||||
extern void c_expand_asm_operands PROTO((tree, tree, tree, tree,
|
||||
int, char *, int));
|
||||
extern void c_expand_return PROTO((tree));
|
||||
extern tree c_expand_start_case PROTO((tree));
|
||||
extern tree common_type PARAMS ((tree, tree));
|
||||
extern int comptypes PARAMS ((tree, tree));
|
||||
extern tree c_sizeof PARAMS ((tree));
|
||||
extern tree c_sizeof_nowarn PARAMS ((tree));
|
||||
extern tree c_size_in_bytes PARAMS ((tree));
|
||||
extern tree c_alignof PARAMS ((tree));
|
||||
extern tree c_alignof_expr PARAMS ((tree));
|
||||
extern tree default_conversion PARAMS ((tree));
|
||||
extern tree build_component_ref PARAMS ((tree, tree));
|
||||
extern tree build_indirect_ref PARAMS ((tree, const char *));
|
||||
extern tree build_array_ref PARAMS ((tree, tree));
|
||||
extern tree build_function_call PARAMS ((tree, tree));
|
||||
extern tree parser_build_binary_op PARAMS ((enum tree_code,
|
||||
tree, tree));
|
||||
extern tree build_binary_op PARAMS ((enum tree_code,
|
||||
tree, tree, int));
|
||||
extern tree build_unary_op PARAMS ((enum tree_code,
|
||||
tree, int));
|
||||
extern int lvalue_p PARAMS ((tree));
|
||||
extern int lvalue_or_else PARAMS ((tree, const char *));
|
||||
extern void readonly_warning PARAMS ((tree, const char *));
|
||||
extern int mark_addressable PARAMS ((tree));
|
||||
extern tree build_conditional_expr PARAMS ((tree, tree, tree));
|
||||
extern tree build_compound_expr PARAMS ((tree));
|
||||
extern tree build_c_cast PARAMS ((tree, tree));
|
||||
extern tree build_modify_expr PARAMS ((tree, enum tree_code,
|
||||
tree));
|
||||
extern void store_init_value PARAMS ((tree, tree));
|
||||
extern void error_init PARAMS ((const char *));
|
||||
extern void pedwarn_init PARAMS ((const char *));
|
||||
extern void start_init PARAMS ((tree, tree, int));
|
||||
extern void finish_init PARAMS ((void));
|
||||
extern void really_start_incremental_init PARAMS ((tree));
|
||||
extern void push_init_level PARAMS ((int));
|
||||
extern tree pop_init_level PARAMS ((int));
|
||||
extern void set_init_index PARAMS ((tree, tree));
|
||||
extern void set_init_label PARAMS ((tree));
|
||||
extern void process_init_element PARAMS ((tree));
|
||||
extern void c_expand_asm_operands PARAMS ((tree, tree, tree,
|
||||
tree, int, char *,
|
||||
int));
|
||||
extern void c_expand_return PARAMS ((tree));
|
||||
extern tree c_expand_start_case PARAMS ((tree));
|
||||
|
||||
/* in c-iterate.c */
|
||||
extern void init_iterators PROTO((void));
|
||||
extern void iterator_expand PROTO((tree));
|
||||
extern void iterator_for_loop_start PROTO((tree));
|
||||
extern void iterator_for_loop_end PROTO((tree));
|
||||
extern void iterator_for_loop_record PROTO((tree));
|
||||
extern void push_iterator_stack PROTO((void));
|
||||
extern void pop_iterator_stack PROTO((void));
|
||||
extern void init_iterators PARAMS ((void));
|
||||
extern void iterator_expand PARAMS ((tree));
|
||||
extern void iterator_for_loop_start PARAMS ((tree));
|
||||
extern void iterator_for_loop_end PARAMS ((tree));
|
||||
extern void iterator_for_loop_record PARAMS ((tree));
|
||||
extern void push_iterator_stack PARAMS ((void));
|
||||
extern void pop_iterator_stack PARAMS ((void));
|
||||
|
||||
/* Set to 0 at beginning of a function definition, set to 1 if
|
||||
a return statement that specifies a return value is seen. */
|
||||
@ -443,6 +444,6 @@ extern int system_header_p;
|
||||
extern int doing_objc_thang;
|
||||
|
||||
/* In c-decl.c */
|
||||
extern void finish_incomplete_decl PROTO((tree));
|
||||
extern void finish_incomplete_decl PARAMS ((tree));
|
||||
|
||||
#endif /* not _C_TREE_H */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Build expressions with type checking for C compiler.
|
||||
Copyright (C) 1987, 88, 91-97, 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1987, 88, 91-99, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -45,35 +45,35 @@ Boston, MA 02111-1307, USA. */
|
||||
message within this initializer. */
|
||||
static int missing_braces_mentioned;
|
||||
|
||||
static tree qualify_type PROTO((tree, tree));
|
||||
static int comp_target_types PROTO((tree, tree));
|
||||
static int function_types_compatible_p PROTO((tree, tree));
|
||||
static int type_lists_compatible_p PROTO((tree, tree));
|
||||
static tree decl_constant_value PROTO((tree));
|
||||
static tree lookup_field PROTO((tree, tree, tree *));
|
||||
static tree convert_arguments PROTO((tree, tree, tree, tree));
|
||||
static tree pointer_int_sum PROTO((enum tree_code, tree, tree));
|
||||
static tree pointer_diff PROTO((tree, tree));
|
||||
static tree unary_complex_lvalue PROTO((enum tree_code, tree));
|
||||
static void pedantic_lvalue_warning PROTO((enum tree_code));
|
||||
static tree internal_build_compound_expr PROTO((tree, int));
|
||||
static tree convert_for_assignment PROTO((tree, tree, const char *, tree,
|
||||
tree, int));
|
||||
static void warn_for_assignment PROTO((const char *, const char *,
|
||||
tree, int));
|
||||
static tree valid_compound_expr_initializer PROTO((tree, tree));
|
||||
static void push_string PROTO((const char *));
|
||||
static void push_member_name PROTO((tree));
|
||||
static void push_array_bounds PROTO((int));
|
||||
static int spelling_length PROTO((void));
|
||||
static char *print_spelling PROTO((char *));
|
||||
static void warning_init PROTO((const char *));
|
||||
static tree digest_init PROTO((tree, tree, int, int));
|
||||
static void check_init_type_bitfields PROTO((tree));
|
||||
static void output_init_element PROTO((tree, tree, tree, int));
|
||||
static void output_pending_init_elements PROTO((int));
|
||||
static void add_pending_init PROTO((tree, tree));
|
||||
static int pending_init_member PROTO((tree));
|
||||
static tree qualify_type PARAMS ((tree, tree));
|
||||
static int comp_target_types PARAMS ((tree, tree));
|
||||
static int function_types_compatible_p PARAMS ((tree, tree));
|
||||
static int type_lists_compatible_p PARAMS ((tree, tree));
|
||||
static tree decl_constant_value PARAMS ((tree));
|
||||
static tree lookup_field PARAMS ((tree, tree, tree *));
|
||||
static tree convert_arguments PARAMS ((tree, tree, tree, tree));
|
||||
static tree pointer_int_sum PARAMS ((enum tree_code, tree, tree));
|
||||
static tree pointer_diff PARAMS ((tree, tree));
|
||||
static tree unary_complex_lvalue PARAMS ((enum tree_code, tree));
|
||||
static void pedantic_lvalue_warning PARAMS ((enum tree_code));
|
||||
static tree internal_build_compound_expr PARAMS ((tree, int));
|
||||
static tree convert_for_assignment PARAMS ((tree, tree, const char *,
|
||||
tree, tree, int));
|
||||
static void warn_for_assignment PARAMS ((const char *, const char *,
|
||||
tree, int));
|
||||
static tree valid_compound_expr_initializer PARAMS ((tree, tree));
|
||||
static void push_string PARAMS ((const char *));
|
||||
static void push_member_name PARAMS ((tree));
|
||||
static void push_array_bounds PARAMS ((int));
|
||||
static int spelling_length PARAMS ((void));
|
||||
static char *print_spelling PARAMS ((char *));
|
||||
static void warning_init PARAMS ((const char *));
|
||||
static tree digest_init PARAMS ((tree, tree, int, int));
|
||||
static void check_init_type_bitfields PARAMS ((tree));
|
||||
static void output_init_element PARAMS ((tree, tree, tree, int));
|
||||
static void output_pending_init_elements PARAMS ((int));
|
||||
static void add_pending_init PARAMS ((tree, tree));
|
||||
static int pending_init_member PARAMS ((tree));
|
||||
|
||||
/* Do `exp = require_complete_type (exp);' to make sure exp
|
||||
does not have an incomplete type. (That includes void types.) */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Implement classes and message passing for Objective C.
|
||||
Copyright (C) 1992, 93-95, 97, 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1992, 93-95, 97-99, 2000 Free Software Foundation, Inc.
|
||||
Contributed by Steve Naroff.
|
||||
|
||||
This file is part of GNU CC.
|
||||
@ -153,57 +153,57 @@ static tree static_instances_decl = NULL_TREE;
|
||||
|
||||
/* Used by compile_file. */
|
||||
|
||||
static void init_objc PROTO((void));
|
||||
static void finish_objc PROTO((void));
|
||||
static void init_objc PARAMS ((void));
|
||||
static void finish_objc PARAMS ((void));
|
||||
|
||||
/* Code generation. */
|
||||
|
||||
static void synth_module_prologue PROTO((void));
|
||||
static tree build_constructor PROTO((tree, tree));
|
||||
static char *build_module_descriptor PROTO((void));
|
||||
static tree init_module_descriptor PROTO((tree));
|
||||
static tree build_objc_method_call PROTO((int, tree, tree,
|
||||
static void synth_module_prologue PARAMS ((void));
|
||||
static tree build_constructor PARAMS ((tree, tree));
|
||||
static char *build_module_descriptor PARAMS ((void));
|
||||
static tree init_module_descriptor PARAMS ((tree));
|
||||
static tree build_objc_method_call PARAMS ((int, tree, tree,
|
||||
tree, tree, tree));
|
||||
static void generate_strings PROTO((void));
|
||||
static tree get_proto_encoding PROTO((tree));
|
||||
static void build_selector_translation_table PROTO((void));
|
||||
static tree build_ivar_chain PROTO((tree, int));
|
||||
static void generate_strings PARAMS ((void));
|
||||
static tree get_proto_encoding PARAMS ((tree));
|
||||
static void build_selector_translation_table PARAMS ((void));
|
||||
static tree build_ivar_chain PARAMS ((tree, int));
|
||||
|
||||
static tree objc_add_static_instance PROTO((tree, tree));
|
||||
static tree objc_add_static_instance PARAMS ((tree, tree));
|
||||
|
||||
static tree build_ivar_template PROTO((void));
|
||||
static tree build_method_template PROTO((void));
|
||||
static tree build_private_template PROTO((tree));
|
||||
static void build_class_template PROTO((void));
|
||||
static void build_selector_template PROTO((void));
|
||||
static void build_category_template PROTO((void));
|
||||
static tree build_super_template PROTO((void));
|
||||
static tree build_category_initializer PROTO((tree, tree, tree,
|
||||
static tree build_ivar_template PARAMS ((void));
|
||||
static tree build_method_template PARAMS ((void));
|
||||
static tree build_private_template PARAMS ((tree));
|
||||
static void build_class_template PARAMS ((void));
|
||||
static void build_selector_template PARAMS ((void));
|
||||
static void build_category_template PARAMS ((void));
|
||||
static tree build_super_template PARAMS ((void));
|
||||
static tree build_category_initializer PARAMS ((tree, tree, tree,
|
||||
tree, tree, tree));
|
||||
static tree build_protocol_initializer PROTO((tree, tree, tree,
|
||||
static tree build_protocol_initializer PARAMS ((tree, tree, tree,
|
||||
tree, tree));
|
||||
|
||||
static void synth_forward_declarations PROTO((void));
|
||||
static void generate_ivar_lists PROTO((void));
|
||||
static void generate_dispatch_tables PROTO((void));
|
||||
static void generate_shared_structures PROTO((void));
|
||||
static tree generate_protocol_list PROTO((tree));
|
||||
static void generate_forward_declaration_to_string_table PROTO((void));
|
||||
static void build_protocol_reference PROTO((tree));
|
||||
static void synth_forward_declarations PARAMS ((void));
|
||||
static void generate_ivar_lists PARAMS ((void));
|
||||
static void generate_dispatch_tables PARAMS ((void));
|
||||
static void generate_shared_structures PARAMS ((void));
|
||||
static tree generate_protocol_list PARAMS ((tree));
|
||||
static void generate_forward_declaration_to_string_table PARAMS ((void));
|
||||
static void build_protocol_reference PARAMS ((tree));
|
||||
|
||||
#if 0
|
||||
static tree init_selector PROTO((int));
|
||||
static tree init_selector PARAMS ((int));
|
||||
#endif
|
||||
static tree build_keyword_selector PROTO((tree));
|
||||
static tree synth_id_with_class_suffix PROTO((const char *, tree));
|
||||
static tree build_keyword_selector PARAMS ((tree));
|
||||
static tree synth_id_with_class_suffix PARAMS ((const char *, tree));
|
||||
|
||||
static void generate_static_references PROTO((void));
|
||||
static int check_methods_accessible PROTO((tree, tree,
|
||||
static void generate_static_references PARAMS ((void));
|
||||
static int check_methods_accessible PARAMS ((tree, tree,
|
||||
int));
|
||||
static void encode_aggregate_within PROTO((tree, int, int,
|
||||
static void encode_aggregate_within PARAMS ((tree, int, int,
|
||||
int, int));
|
||||
static const char *objc_demangle PROTO((const char *));
|
||||
static const char *objc_printable_name PROTO((tree, int));
|
||||
static const char *objc_demangle PARAMS ((const char *));
|
||||
static const char *objc_printable_name PARAMS ((tree, int));
|
||||
|
||||
/* Misc. bookkeeping */
|
||||
|
||||
@ -222,15 +222,15 @@ struct hashed_entry
|
||||
tree key;
|
||||
};
|
||||
|
||||
static void hash_init PROTO((void));
|
||||
static void hash_enter PROTO((hash *, tree));
|
||||
static hash hash_lookup PROTO((hash *, tree));
|
||||
static void hash_add_attr PROTO((hash, tree));
|
||||
static tree lookup_method PROTO((tree, tree));
|
||||
static tree lookup_instance_method_static PROTO((tree, tree));
|
||||
static tree lookup_class_method_static PROTO((tree, tree));
|
||||
static tree add_class PROTO((tree));
|
||||
static void add_category PROTO((tree, tree));
|
||||
static void hash_init PARAMS ((void));
|
||||
static void hash_enter PARAMS ((hash *, tree));
|
||||
static hash hash_lookup PARAMS ((hash *, tree));
|
||||
static void hash_add_attr PARAMS ((hash, tree));
|
||||
static tree lookup_method PARAMS ((tree, tree));
|
||||
static tree lookup_instance_method_static PARAMS ((tree, tree));
|
||||
static tree lookup_class_method_static PARAMS ((tree, tree));
|
||||
static tree add_class PARAMS ((tree));
|
||||
static void add_category PARAMS ((tree, tree));
|
||||
|
||||
enum string_section
|
||||
{
|
||||
@ -239,110 +239,110 @@ enum string_section
|
||||
meth_var_types /* method and variable type descriptors */
|
||||
};
|
||||
|
||||
static tree add_objc_string PROTO((tree,
|
||||
static tree add_objc_string PARAMS ((tree,
|
||||
enum string_section));
|
||||
static tree get_objc_string_decl PROTO((tree,
|
||||
static tree get_objc_string_decl PARAMS ((tree,
|
||||
enum string_section));
|
||||
static tree build_objc_string_decl PROTO((enum string_section));
|
||||
static tree build_selector_reference_decl PROTO((void));
|
||||
static tree build_objc_string_decl PARAMS ((enum string_section));
|
||||
static tree build_selector_reference_decl PARAMS ((void));
|
||||
|
||||
/* Protocol additions. */
|
||||
|
||||
static tree add_protocol PROTO((tree));
|
||||
static tree lookup_protocol PROTO((tree));
|
||||
static tree lookup_and_install_protocols PROTO((tree));
|
||||
static tree add_protocol PARAMS ((tree));
|
||||
static tree lookup_protocol PARAMS ((tree));
|
||||
static tree lookup_and_install_protocols PARAMS ((tree));
|
||||
|
||||
/* Type encoding. */
|
||||
|
||||
static void encode_type_qualifiers PROTO((tree));
|
||||
static void encode_pointer PROTO((tree, int, int));
|
||||
static void encode_array PROTO((tree, int, int));
|
||||
static void encode_aggregate PROTO((tree, int, int));
|
||||
static void encode_bitfield PROTO((int));
|
||||
static void encode_type PROTO((tree, int, int));
|
||||
static void encode_field_decl PROTO((tree, int, int));
|
||||
static void encode_type_qualifiers PARAMS ((tree));
|
||||
static void encode_pointer PARAMS ((tree, int, int));
|
||||
static void encode_array PARAMS ((tree, int, int));
|
||||
static void encode_aggregate PARAMS ((tree, int, int));
|
||||
static void encode_bitfield PARAMS ((int));
|
||||
static void encode_type PARAMS ((tree, int, int));
|
||||
static void encode_field_decl PARAMS ((tree, int, int));
|
||||
|
||||
static void really_start_method PROTO((tree, tree));
|
||||
static int comp_method_with_proto PROTO((tree, tree));
|
||||
static int comp_proto_with_proto PROTO((tree, tree));
|
||||
static tree get_arg_type_list PROTO((tree, int, int));
|
||||
static tree expr_last PROTO((tree));
|
||||
static void really_start_method PARAMS ((tree, tree));
|
||||
static int comp_method_with_proto PARAMS ((tree, tree));
|
||||
static int comp_proto_with_proto PARAMS ((tree, tree));
|
||||
static tree get_arg_type_list PARAMS ((tree, int, int));
|
||||
static tree expr_last PARAMS ((tree));
|
||||
|
||||
/* Utilities for debugging and error diagnostics. */
|
||||
|
||||
static void warn_with_method PROTO((const char *, int, tree));
|
||||
static void error_with_ivar PROTO((const char *, tree, tree));
|
||||
static char *gen_method_decl PROTO((tree, char *));
|
||||
static char *gen_declaration PROTO((tree, char *));
|
||||
static char *gen_declarator PROTO((tree, char *,
|
||||
static void warn_with_method PARAMS ((const char *, int, tree));
|
||||
static void error_with_ivar PARAMS ((const char *, tree, tree));
|
||||
static char *gen_method_decl PARAMS ((tree, char *));
|
||||
static char *gen_declaration PARAMS ((tree, char *));
|
||||
static char *gen_declarator PARAMS ((tree, char *,
|
||||
const char *));
|
||||
static int is_complex_decl PROTO((tree));
|
||||
static void adorn_decl PROTO((tree, char *));
|
||||
static void dump_interface PROTO((FILE *, tree));
|
||||
static int is_complex_decl PARAMS ((tree));
|
||||
static void adorn_decl PARAMS ((tree, char *));
|
||||
static void dump_interface PARAMS ((FILE *, tree));
|
||||
|
||||
/* Everything else. */
|
||||
|
||||
static void objc_fatal PROTO((void))
|
||||
static void objc_fatal PARAMS ((void))
|
||||
ATTRIBUTE_NORETURN;
|
||||
static tree define_decl PROTO((tree, tree));
|
||||
static tree lookup_method_in_protocol_list PROTO((tree, tree, int));
|
||||
static tree lookup_protocol_in_reflist PROTO((tree, tree));
|
||||
static tree create_builtin_decl PROTO((enum tree_code,
|
||||
static tree define_decl PARAMS ((tree, tree));
|
||||
static tree lookup_method_in_protocol_list PARAMS ((tree, tree, int));
|
||||
static tree lookup_protocol_in_reflist PARAMS ((tree, tree));
|
||||
static tree create_builtin_decl PARAMS ((enum tree_code,
|
||||
tree, const char *));
|
||||
static tree my_build_string PROTO((int, const char *));
|
||||
static void build_objc_symtab_template PROTO((void));
|
||||
static tree init_def_list PROTO((tree));
|
||||
static tree init_objc_symtab PROTO((tree));
|
||||
static void forward_declare_categories PROTO((void));
|
||||
static void generate_objc_symtab_decl PROTO((void));
|
||||
static tree build_selector PROTO((tree));
|
||||
static tree my_build_string PARAMS ((int, const char *));
|
||||
static void build_objc_symtab_template PARAMS ((void));
|
||||
static tree init_def_list PARAMS ((tree));
|
||||
static tree init_objc_symtab PARAMS ((tree));
|
||||
static void forward_declare_categories PARAMS ((void));
|
||||
static void generate_objc_symtab_decl PARAMS ((void));
|
||||
static tree build_selector PARAMS ((tree));
|
||||
#if 0
|
||||
static tree build_msg_pool_reference PROTO((int));
|
||||
static tree build_msg_pool_reference PARAMS ((int));
|
||||
#endif
|
||||
static tree build_typed_selector_reference PROTO((tree, tree));
|
||||
static tree build_selector_reference PROTO((tree));
|
||||
static tree build_class_reference_decl PROTO((void));
|
||||
static void add_class_reference PROTO((tree));
|
||||
static tree objc_copy_list PROTO((tree, tree *));
|
||||
static tree build_protocol_template PROTO((void));
|
||||
static tree build_descriptor_table_initializer PROTO((tree, tree));
|
||||
static tree build_method_prototype_list_template PROTO((tree, int));
|
||||
static tree build_method_prototype_template PROTO((void));
|
||||
static int forwarding_offset PROTO((tree));
|
||||
static tree encode_method_prototype PROTO((tree, tree));
|
||||
static tree generate_descriptor_table PROTO((tree, const char *,
|
||||
static tree build_typed_selector_reference PARAMS ((tree, tree));
|
||||
static tree build_selector_reference PARAMS ((tree));
|
||||
static tree build_class_reference_decl PARAMS ((void));
|
||||
static void add_class_reference PARAMS ((tree));
|
||||
static tree objc_copy_list PARAMS ((tree, tree *));
|
||||
static tree build_protocol_template PARAMS ((void));
|
||||
static tree build_descriptor_table_initializer PARAMS ((tree, tree));
|
||||
static tree build_method_prototype_list_template PARAMS ((tree, int));
|
||||
static tree build_method_prototype_template PARAMS ((void));
|
||||
static int forwarding_offset PARAMS ((tree));
|
||||
static tree encode_method_prototype PARAMS ((tree, tree));
|
||||
static tree generate_descriptor_table PARAMS ((tree, const char *,
|
||||
int, tree, tree));
|
||||
static void generate_method_descriptors PROTO((tree));
|
||||
static tree build_tmp_function_decl PROTO((void));
|
||||
static void hack_method_prototype PROTO((tree, tree));
|
||||
static void generate_protocol_references PROTO((tree));
|
||||
static void generate_protocols PROTO((void));
|
||||
static void check_ivars PROTO((tree, tree));
|
||||
static tree build_ivar_list_template PROTO((tree, int));
|
||||
static tree build_method_list_template PROTO((tree, int));
|
||||
static tree build_ivar_list_initializer PROTO((tree, tree));
|
||||
static tree generate_ivars_list PROTO((tree, const char *,
|
||||
static void generate_method_descriptors PARAMS ((tree));
|
||||
static tree build_tmp_function_decl PARAMS ((void));
|
||||
static void hack_method_prototype PARAMS ((tree, tree));
|
||||
static void generate_protocol_references PARAMS ((tree));
|
||||
static void generate_protocols PARAMS ((void));
|
||||
static void check_ivars PARAMS ((tree, tree));
|
||||
static tree build_ivar_list_template PARAMS ((tree, int));
|
||||
static tree build_method_list_template PARAMS ((tree, int));
|
||||
static tree build_ivar_list_initializer PARAMS ((tree, tree));
|
||||
static tree generate_ivars_list PARAMS ((tree, const char *,
|
||||
int, tree));
|
||||
static tree build_dispatch_table_initializer PROTO((tree, tree));
|
||||
static tree generate_dispatch_table PROTO((tree, const char *,
|
||||
static tree build_dispatch_table_initializer PARAMS ((tree, tree));
|
||||
static tree generate_dispatch_table PARAMS ((tree, const char *,
|
||||
int, tree));
|
||||
static tree build_shared_structure_initializer PROTO((tree, tree, tree, tree,
|
||||
static tree build_shared_structure_initializer PARAMS ((tree, tree, tree, tree,
|
||||
tree, int, tree, tree,
|
||||
tree));
|
||||
static void generate_category PROTO((tree));
|
||||
static int is_objc_type_qualifier PROTO((tree));
|
||||
static tree adjust_type_for_id_default PROTO((tree));
|
||||
static tree check_duplicates PROTO((hash));
|
||||
static tree receiver_is_class_object PROTO((tree));
|
||||
static int check_methods PROTO((tree, tree, int));
|
||||
static int conforms_to_protocol PROTO((tree, tree));
|
||||
static void check_protocols PROTO((tree, const char *,
|
||||
static void generate_category PARAMS ((tree));
|
||||
static int is_objc_type_qualifier PARAMS ((tree));
|
||||
static tree adjust_type_for_id_default PARAMS ((tree));
|
||||
static tree check_duplicates PARAMS ((hash));
|
||||
static tree receiver_is_class_object PARAMS ((tree));
|
||||
static int check_methods PARAMS ((tree, tree, int));
|
||||
static int conforms_to_protocol PARAMS ((tree, tree));
|
||||
static void check_protocols PARAMS ((tree, const char *,
|
||||
const char *));
|
||||
static tree encode_method_def PROTO((tree));
|
||||
static void gen_declspecs PROTO((tree, char *, int));
|
||||
static void generate_classref_translation_entry PROTO((tree));
|
||||
static void handle_class_ref PROTO((tree));
|
||||
static void generate_struct_by_value_array PROTO((void))
|
||||
static tree encode_method_def PARAMS ((tree));
|
||||
static void gen_declspecs PARAMS ((tree, char *, int));
|
||||
static void generate_classref_translation_entry PARAMS ((tree));
|
||||
static void handle_class_ref PARAMS ((tree));
|
||||
static void generate_struct_by_value_array PARAMS ((void))
|
||||
ATTRIBUTE_NORETURN;
|
||||
|
||||
/*** Private Interface (data) ***/
|
||||
@ -456,7 +456,7 @@ struct imp_entry
|
||||
tree meta_decl; /* _OBJC_METACLASS_<my_name>; */
|
||||
};
|
||||
|
||||
static void handle_impent PROTO((struct imp_entry *));
|
||||
static void handle_impent PARAMS ((struct imp_entry *));
|
||||
|
||||
static struct imp_entry *imp_list = 0;
|
||||
static int imp_count = 0; /* `@implementation' */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Declarations for objc-act.c.
|
||||
Copyright (C) 1990 Free Software Foundation, Inc.
|
||||
Copyright (C) 1990, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -23,52 +23,52 @@ Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* used by yyparse */
|
||||
|
||||
void finish_file PROTO((void));
|
||||
tree start_class PROTO((enum tree_code, tree, tree, tree));
|
||||
tree continue_class PROTO((tree));
|
||||
void finish_class PROTO((tree));
|
||||
void start_method_def PROTO((tree));
|
||||
void continue_method_def PROTO((void));
|
||||
void finish_method_def PROTO((void));
|
||||
tree start_protocol PROTO((enum tree_code, tree, tree));
|
||||
void finish_protocol PROTO((tree));
|
||||
void add_objc_decls PROTO((void));
|
||||
void finish_file PARAMS ((void));
|
||||
tree start_class PARAMS ((enum tree_code, tree, tree, tree));
|
||||
tree continue_class PARAMS ((tree));
|
||||
void finish_class PARAMS ((tree));
|
||||
void start_method_def PARAMS ((tree));
|
||||
void continue_method_def PARAMS ((void));
|
||||
void finish_method_def PARAMS ((void));
|
||||
tree start_protocol PARAMS ((enum tree_code, tree, tree));
|
||||
void finish_protocol PARAMS ((tree));
|
||||
void add_objc_decls PARAMS ((void));
|
||||
|
||||
tree is_ivar PROTO((tree, tree));
|
||||
int is_private PROTO((tree));
|
||||
int is_public PROTO((tree, tree));
|
||||
tree add_instance_variable PROTO((tree, int, tree, tree, tree));
|
||||
tree add_class_method PROTO((tree, tree));
|
||||
tree add_instance_method PROTO((tree, tree));
|
||||
tree get_super_receiver PROTO((void));
|
||||
tree get_class_ivars PROTO((tree));
|
||||
tree get_class_reference PROTO((tree));
|
||||
tree get_static_reference PROTO((tree, tree));
|
||||
tree get_object_reference PROTO((tree));
|
||||
tree build_message_expr PROTO((tree));
|
||||
tree build_selector_expr PROTO((tree));
|
||||
tree build_ivar_reference PROTO((tree));
|
||||
tree build_keyword_decl PROTO((tree, tree, tree));
|
||||
tree build_method_decl PROTO((enum tree_code, tree, tree, tree));
|
||||
tree build_protocol_expr PROTO((tree));
|
||||
tree build_objc_string_object PROTO((tree));
|
||||
tree is_ivar PARAMS ((tree, tree));
|
||||
int is_private PARAMS ((tree));
|
||||
int is_public PARAMS ((tree, tree));
|
||||
tree add_instance_variable PARAMS ((tree, int, tree, tree, tree));
|
||||
tree add_class_method PARAMS ((tree, tree));
|
||||
tree add_instance_method PARAMS ((tree, tree));
|
||||
tree get_super_receiver PARAMS ((void));
|
||||
tree get_class_ivars PARAMS ((tree));
|
||||
tree get_class_reference PARAMS ((tree));
|
||||
tree get_static_reference PARAMS ((tree, tree));
|
||||
tree get_object_reference PARAMS ((tree));
|
||||
tree build_message_expr PARAMS ((tree));
|
||||
tree build_selector_expr PARAMS ((tree));
|
||||
tree build_ivar_reference PARAMS ((tree));
|
||||
tree build_keyword_decl PARAMS ((tree, tree, tree));
|
||||
tree build_method_decl PARAMS ((enum tree_code, tree, tree, tree));
|
||||
tree build_protocol_expr PARAMS ((tree));
|
||||
tree build_objc_string_object PARAMS ((tree));
|
||||
|
||||
extern tree objc_ivar_chain;
|
||||
extern tree objc_method_context;
|
||||
|
||||
void objc_declare_alias PROTO((tree, tree));
|
||||
void objc_declare_class PROTO((tree));
|
||||
void objc_declare_alias PARAMS ((tree, tree));
|
||||
void objc_declare_class PARAMS ((tree));
|
||||
|
||||
extern int objc_receiver_context;
|
||||
|
||||
/* the following routines are used to implement statically typed objects */
|
||||
|
||||
int objc_comptypes PROTO((tree, tree, int));
|
||||
void objc_check_decl PROTO((tree));
|
||||
int objc_comptypes PARAMS ((tree, tree, int));
|
||||
void objc_check_decl PARAMS ((tree));
|
||||
|
||||
/* NeXT extensions */
|
||||
|
||||
tree build_encode_expr PROTO((tree));
|
||||
tree build_encode_expr PARAMS ((tree));
|
||||
|
||||
/* Objective-C structures */
|
||||
|
||||
|
@ -145,7 +145,7 @@ int objc_public_flag;
|
||||
/* Tell yyparse how to print a token's value, if yydebug is set. */
|
||||
|
||||
#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
|
||||
extern void yyprint PROTO ((FILE *, int, YYSTYPE));
|
||||
extern void yyprint PARAMS ((FILE *, int, YYSTYPE));
|
||||
|
||||
/* Add GC roots for variables local to this file. */
|
||||
void
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*WARNING: This file is automatically generated!*/
|
||||
/* YACC parser for C syntax and for Objective C. -*-c-*-
|
||||
Copyright (C) 1987, 88, 89, 92-98, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1987, 88, 89, 92-99, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
@ -240,7 +240,7 @@ int objc_public_flag;
|
||||
/* Tell yyparse how to print a token's value, if yydebug is set. */
|
||||
|
||||
#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
|
||||
extern void yyprint PROTO ((FILE *, int, YYSTYPE));
|
||||
extern void yyprint PARAMS ((FILE *, int, YYSTYPE));
|
||||
|
||||
/* Add GC roots for variables local to this file. */
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user