Commit d2097937 by Kaveh R. Ghazi Committed by Kaveh Ghazi

* All Files: Remove PARAMS macro.

From-SVN: r61133
parent 30028c85
2003-01-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* All Files: Remove PARAMS macro.
* expr.c, gjavah.c, javaop.h, jcf-dump.c, jcf-io.c, jcf-reader.c,
jcf-write.c, jcf.h, jv-scan.c: Don't rely on the `DEFUN', `AND' or
`__STDC__' macros.
......
......@@ -34,16 +34,11 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "parse.h"
#include "toplev.h"
static void mark_reference_fields PARAMS ((tree,
unsigned HOST_WIDE_INT *,
unsigned HOST_WIDE_INT *,
unsigned int,
int *, int *,
int *,
HOST_WIDE_INT *));
static void set_bit PARAMS ((unsigned HOST_WIDE_INT *,
unsigned HOST_WIDE_INT *,
unsigned int));
static void mark_reference_fields (tree, unsigned HOST_WIDE_INT *,
unsigned HOST_WIDE_INT *, unsigned int,
int *, int *, int *, HOST_WIDE_INT *);
static void set_bit (unsigned HOST_WIDE_INT *, unsigned HOST_WIDE_INT *,
unsigned int);
/* Treat two HOST_WIDE_INT's as a contiguous bitmap, with bit 0 being
the least significant. This function sets bit N in the bitmap. */
......
......@@ -43,4 +43,4 @@ struct buffer
#define BUFFER_RESET(BUFP) ((BUFP)->ptr = (BUFP)->data)
extern void buffer_grow PARAMS ((struct buffer*, int));
extern void buffer_grow (struct buffer*, int);
......@@ -61,19 +61,17 @@ enum builtin_type
BT_LAST
};
static tree max_builtin PARAMS ((tree, tree));
static tree min_builtin PARAMS ((tree, tree));
static tree abs_builtin PARAMS ((tree, tree));
static tree cos_builtin PARAMS ((tree, tree));
static tree sin_builtin PARAMS ((tree, tree));
static tree sqrt_builtin PARAMS ((tree, tree));
static tree build_function_call_expr PARAMS ((tree, tree));
static void define_builtin PARAMS ((enum built_in_function,
const char *,
enum built_in_class,
tree, int));
static tree define_builtin_type PARAMS ((int, int, int, int, int));
static tree max_builtin (tree, tree);
static tree min_builtin (tree, tree);
static tree abs_builtin (tree, tree);
static tree cos_builtin (tree, tree);
static tree sin_builtin (tree, tree);
static tree sqrt_builtin (tree, tree);
static tree build_function_call_expr (tree, tree);
static void define_builtin (enum built_in_function, const char *,
enum built_in_class, tree, int);
static tree define_builtin_type (int, int, int, int, int);
......
......@@ -102,15 +102,15 @@ static tree wfl;
#define WORD_SIZE ((unsigned int)(sizeof(word) * BITS_PER_UNIT))
static void check_bool_init PARAMS ((tree, words, words, words));
static void check_init PARAMS ((tree, words));
static void check_cond_init PARAMS ((tree, tree, tree, words, words, words));
static void check_bool2_init PARAMS ((enum tree_code, tree, tree, words, words, words));
static void check_bool_init (tree, words, words, words);
static void check_init (tree, words);
static void check_cond_init (tree, tree, tree, words, words, words);
static void check_bool2_init (enum tree_code, tree, tree, words, words, words);
struct alternatives;
static void done_alternative PARAMS ((words, struct alternatives *));
static tree get_variable_decl PARAMS ((tree));
static void final_assign_error PARAMS ((tree));
static void check_final_reassigned PARAMS ((tree, words));
static void done_alternative (words, struct alternatives *);
static tree get_variable_decl (tree);
static void final_assign_error (tree);
static void check_final_reassigned (tree, words);
#define ALLOC_WORDS(NUM) (xmalloc ((NUM) * sizeof (word)))
#define FREE_WORDS(PTR) (free (PTR))
......
......@@ -48,16 +48,16 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#define O_BINARY 0 /* MS-DOS brain-damage */
#endif
static tree make_method_value PARAMS ((tree));
static tree build_java_method_type PARAMS ((tree, tree, int));
static int32 hashUtf8String PARAMS ((const char *, int));
static tree make_field_value PARAMS ((tree));
static tree get_dispatch_vector PARAMS ((tree));
static tree get_dispatch_table PARAMS ((tree, tree));
static void add_interface_do PARAMS ((tree, tree, int));
static tree maybe_layout_super_class PARAMS ((tree, tree));
static int assume_compiled PARAMS ((const char *));
static tree build_method_symbols_entry PARAMS ((tree));
static tree make_method_value (tree);
static tree build_java_method_type (tree, tree, int);
static int32 hashUtf8String (const char *, int);
static tree make_field_value (tree);
static tree get_dispatch_vector (tree);
static tree get_dispatch_table (tree, tree);
static void add_interface_do (tree, tree, int);
static tree maybe_layout_super_class (tree, tree);
static int assume_compiled (const char *);
static tree build_method_symbols_entry (tree);
static GTY(()) rtx registerClass_libfunc;
static GTY(()) rtx registerResource_libfunc;
......@@ -86,8 +86,8 @@ typedef struct assume_compiled_node_struct
struct assume_compiled_node_struct *child;
} assume_compiled_node;
static assume_compiled_node *find_assume_compiled_node
PARAMS ((assume_compiled_node *, const char *));
static assume_compiled_node *find_assume_compiled_node (assume_compiled_node *,
const char *);
/* This is the root of the include/exclude tree. */
......@@ -2134,7 +2134,7 @@ emit_register_classes ()
}
else
{
extern tree get_file_function_name PARAMS ((int));
extern tree get_file_function_name (int);
tree init_name = get_file_function_name ('I');
tree init_type = build_function_type (void_type_node, end_params_node);
tree init_decl;
......@@ -2270,8 +2270,8 @@ init_class_processing ()
gcc_obstack_init (&temporary_obstack);
}
static hashval_t java_treetreehash_hash PARAMS ((const void *));
static int java_treetreehash_compare PARAMS ((const void *, const void *));
static hashval_t java_treetreehash_hash (const void *);
static int java_treetreehash_compare (const void *, const void *);
/* A hash table mapping trees to trees. Used generally. */
......
......@@ -31,11 +31,11 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "toplev.h"
#include "ggc.h"
static void set_constant_entry PARAMS ((CPool *, int, int, jword));
static int find_class_or_string_constant PARAMS ((CPool *, int, tree));
static int find_name_and_type_constant PARAMS ((CPool *, tree, tree));
static tree get_tag_node PARAMS ((int));
static tree build_constant_data_ref PARAMS ((void));
static void set_constant_entry (CPool *, int, int, jword);
static int find_class_or_string_constant (CPool *, int, tree);
static int find_name_and_type_constant (CPool *, tree, tree);
static tree get_tag_node (int);
static tree build_constant_data_ref (void);
/* Set the INDEX'th constant in CPOOL to have the given TAG and VALUE. */
......
......@@ -20,8 +20,8 @@ Boston, MA 02111-1307, USA. */
/* Written by Jeffrey Hsu <hsu@cygnus.com> */
extern tree convert_to_boolean PARAMS ((tree, tree));
extern tree convert_to_char PARAMS ((tree, tree));
extern tree convert_to_integer PARAMS ((tree type, tree expr));
extern tree convert_to_real PARAMS ((tree type, tree expr));
extern tree convert_to_pointer PARAMS ((tree type, tree expr));
extern tree convert_to_boolean (tree, tree);
extern tree convert_to_char (tree, tree);
extern tree convert_to_integer (tree type, tree expr);
extern tree convert_to_real (tree type, tree expr);
extern tree convert_to_pointer (tree type, tree expr);
......@@ -47,17 +47,17 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "tree-inline.h"
#if defined (DEBUG_JAVA_BINDING_LEVELS)
extern void indent PARAMS ((void));
extern void indent (void);
#endif
static tree push_jvm_slot PARAMS ((int, tree));
static tree lookup_name_current_level PARAMS ((tree));
static tree push_promoted_type PARAMS ((const char *, tree));
static struct binding_level *make_binding_level PARAMS ((void));
static tree create_primitive_vtable PARAMS ((const char *));
static tree check_local_named_variable PARAMS ((tree, tree, int, int *));
static tree check_local_unnamed_variable PARAMS ((tree, tree, tree));
static void dump_function PARAMS ((enum tree_dump_index, tree));
static tree push_jvm_slot (int, tree);
static tree lookup_name_current_level (tree);
static tree push_promoted_type (const char *, tree);
static struct binding_level *make_binding_level (void);
static tree create_primitive_vtable (const char *);
static tree check_local_named_variable (tree, tree, int, int *);
static tree check_local_unnamed_variable (tree, tree, tree);
static void dump_function (enum tree_dump_index, tree);
/* Name of the Cloneable class. */
tree java_lang_cloneable_identifier_node;
......
......@@ -39,13 +39,13 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "java-except.h"
#include "toplev.h"
static void expand_start_java_handler PARAMS ((struct eh_range *));
static void expand_end_java_handler PARAMS ((struct eh_range *));
static struct eh_range *find_handler_in_range PARAMS ((int, struct eh_range *,
struct eh_range *));
static void link_handler PARAMS ((struct eh_range *, struct eh_range *));
static void check_start_handlers PARAMS ((struct eh_range *, int));
static void free_eh_ranges PARAMS ((struct eh_range *range));
static void expand_start_java_handler (struct eh_range *);
static void expand_end_java_handler (struct eh_range *);
static struct eh_range *find_handler_in_range (int, struct eh_range *,
struct eh_range *);
static void link_handler (struct eh_range *, struct eh_range *);
static void check_start_handlers (struct eh_range *, int);
static void free_eh_ranges (struct eh_range *range);
struct eh_range *current_method_handlers;
......
......@@ -44,48 +44,47 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "except.h"
#include "ggc.h"
static void flush_quick_stack PARAMS ((void));
static void push_value PARAMS ((tree));
static tree pop_value PARAMS ((tree));
static void java_stack_swap PARAMS ((void));
static void java_stack_dup PARAMS ((int, int));
static void build_java_athrow PARAMS ((tree));
static void build_java_jsr PARAMS ((int, int));
static void build_java_ret PARAMS ((tree));
static void expand_java_multianewarray PARAMS ((tree, int));
static void expand_java_arraystore PARAMS ((tree));
static void expand_java_arrayload PARAMS ((tree));
static void expand_java_array_length PARAMS ((void));
static tree build_java_monitor PARAMS ((tree, tree));
static void expand_java_pushc PARAMS ((int, tree));
static void expand_java_return PARAMS ((tree));
static void expand_load_internal PARAMS ((int, tree, int));
static void expand_java_NEW PARAMS ((tree));
static void expand_java_INSTANCEOF PARAMS ((tree));
static void expand_java_CHECKCAST PARAMS ((tree));
static void expand_iinc PARAMS ((unsigned int, int, int));
static void expand_java_binop PARAMS ((tree, enum tree_code));
static void note_label PARAMS ((int, int));
static void expand_compare PARAMS ((enum tree_code, tree, tree, int));
static void expand_test PARAMS ((enum tree_code, tree, int));
static void expand_cond PARAMS ((enum tree_code, tree, int));
static void expand_java_goto PARAMS ((int));
static void flush_quick_stack (void);
static void push_value (tree);
static tree pop_value (tree);
static void java_stack_swap (void);
static void java_stack_dup (int, int);
static void build_java_athrow (tree);
static void build_java_jsr (int, int);
static void build_java_ret (tree);
static void expand_java_multianewarray (tree, int);
static void expand_java_arraystore (tree);
static void expand_java_arrayload (tree);
static void expand_java_array_length (void);
static tree build_java_monitor (tree, tree);
static void expand_java_pushc (int, tree);
static void expand_java_return (tree);
static void expand_load_internal (int, tree, int);
static void expand_java_NEW (tree);
static void expand_java_INSTANCEOF (tree);
static void expand_java_CHECKCAST (tree);
static void expand_iinc (unsigned int, int, int);
static void expand_java_binop (tree, enum tree_code);
static void note_label (int, int);
static void expand_compare (enum tree_code, tree, tree, int);
static void expand_test (enum tree_code, tree, int);
static void expand_cond (enum tree_code, tree, int);
static void expand_java_goto (int);
#if 0
static void expand_java_call PARAMS ((int, int));
static void expand_java_ret PARAMS ((tree));
static void expand_java_call (int, int);
static void expand_java_ret (tree);
#endif
static tree pop_arguments PARAMS ((tree));
static void expand_invoke PARAMS ((int, int, int));
static void expand_java_field_op PARAMS ((int, int, int));
static void java_push_constant_from_pool PARAMS ((struct JCF *, int));
static void java_stack_pop PARAMS ((int));
static tree build_java_throw_out_of_bounds_exception PARAMS ((tree));
static tree build_java_check_indexed_type PARAMS ((tree, tree));
static tree case_identity PARAMS ((tree, tree));
static unsigned char peek_opcode_at_pc PARAMS ((struct JCF *, int, int));
static int emit_init_test_initialization PARAMS ((void **entry,
void * ptr));
static int get_offset_table_index PARAMS ((tree));
static tree pop_arguments (tree);
static void expand_invoke (int, int, int);
static void expand_java_field_op (int, int, int);
static void java_push_constant_from_pool (struct JCF *, int);
static void java_stack_pop (int);
static tree build_java_throw_out_of_bounds_exception (tree);
static tree build_java_check_indexed_type (tree, tree);
static tree case_identity (tree, tree);
static unsigned char peek_opcode_at_pc (struct JCF *, int, int);
static int emit_init_test_initialization (void **entry, void * ptr);
static int get_offset_table_index (tree);
static GTY(()) tree operand_type[59];
......
......@@ -123,43 +123,41 @@ struct method_name
/* List of method names we've seen. */
static struct method_name *method_name_list;
static void print_field_info PARAMS ((FILE*, JCF*, int, int, JCF_u2));
static void print_mangled_classname PARAMS ((FILE*, JCF*, const char*, int));
static int print_cxx_classname PARAMS ((FILE*, const char*, JCF*, int, int));
static void print_method_info PARAMS ((FILE*, JCF*, int, int, JCF_u2));
static void print_c_decl PARAMS ((FILE*, JCF*, int, int, int, const char *,
int));
static void print_stub_or_jni PARAMS ((FILE*, JCF*, int, int, int,
const char *, int));
static void print_full_cxx_name PARAMS ((FILE*, JCF*, int, int, int,
const char *, int));
static void decompile_method PARAMS ((FILE*, JCF*, int));
static void add_class_decl PARAMS ((FILE*, JCF*, JCF_u2));
static int java_float_finite PARAMS ((jfloat));
static int java_double_finite PARAMS ((jdouble));
static void print_name PARAMS ((FILE *, JCF *, int));
static void print_base_classname PARAMS ((FILE *, JCF *, int));
static int utf8_cmp PARAMS ((const unsigned char *, int, const char *));
static char *cxx_keyword_subst PARAMS ((const unsigned char *, int));
static void generate_access PARAMS ((FILE *, JCF_u2));
static int name_is_method_p PARAMS ((const unsigned char *, int));
static char *get_field_name PARAMS ((JCF *, int, JCF_u2));
static void print_field_name PARAMS ((FILE *, JCF *, int, JCF_u2));
static const unsigned char *super_class_name PARAMS ((JCF *, int *));
static void print_include PARAMS ((FILE *, const unsigned char *, int));
static int gcjh_streq PARAMS ((const void *p1, const void *p2));
static int throwable_p PARAMS ((const unsigned char *signature));
static const unsigned char *decode_signature_piece
PARAMS ((FILE *, const unsigned char *, const unsigned char *, int *));
static void print_class_decls PARAMS ((FILE *, JCF *, int));
static void usage PARAMS ((void)) ATTRIBUTE_NORETURN;
static void help PARAMS ((void)) ATTRIBUTE_NORETURN;
static void version PARAMS ((void)) ATTRIBUTE_NORETURN;
static int overloaded_jni_method_exists_p PARAMS ((const unsigned char *, int,
const char *, int));
static void jni_print_char PARAMS ((FILE *, int));
static void decompile_return_statement PARAMS ((FILE *, JCF *, int, int, int));
static void print_field_info (FILE*, JCF*, int, int, JCF_u2);
static void print_mangled_classname (FILE*, JCF*, const char*, int);
static int print_cxx_classname (FILE*, const char*, JCF*, int, int);
static void print_method_info (FILE*, JCF*, int, int, JCF_u2);
static void print_c_decl (FILE*, JCF*, int, int, int, const char *, int);
static void print_stub_or_jni (FILE*, JCF*, int, int, int, const char *, int);
static void print_full_cxx_name (FILE*, JCF*, int, int, int, const char *, int);
static void decompile_method (FILE*, JCF*, int);
static void add_class_decl (FILE*, JCF*, JCF_u2);
static int java_float_finite (jfloat);
static int java_double_finite (jdouble);
static void print_name (FILE *, JCF *, int);
static void print_base_classname (FILE *, JCF *, int);
static int utf8_cmp (const unsigned char *, int, const char *);
static char *cxx_keyword_subst (const unsigned char *, int);
static void generate_access (FILE *, JCF_u2);
static int name_is_method_p (const unsigned char *, int);
static char *get_field_name (JCF *, int, JCF_u2);
static void print_field_name (FILE *, JCF *, int, JCF_u2);
static const unsigned char *super_class_name (JCF *, int *);
static void print_include (FILE *, const unsigned char *, int);
static int gcjh_streq (const void *p1, const void *p2);
static int throwable_p (const unsigned char *signature);
static const unsigned char *
decode_signature_piece (FILE *, const unsigned char *,
const unsigned char *, int *);
static void print_class_decls (FILE *, JCF *, int);
static void usage (void) ATTRIBUTE_NORETURN;
static void help (void) ATTRIBUTE_NORETURN;
static void version (void) ATTRIBUTE_NORETURN;
static int overloaded_jni_method_exists_p (const unsigned char *, int,
const char *, int);
static void jni_print_char (FILE *, int);
static void decompile_return_statement (FILE *, JCF *, int, int, int);
JCF_u2 current_field_name;
JCF_u2 current_field_value;
......@@ -1755,9 +1753,9 @@ struct namelet
struct namelet *next;
};
static void add_namelet PARAMS ((const unsigned char *,
const unsigned char *, struct namelet *));
static void print_namelet PARAMS ((FILE *, struct namelet *, int));
static void add_namelet (const unsigned char *, const unsigned char *,
struct namelet *);
static void print_namelet (FILE *, struct namelet *, int);
/* The special root namelet. */
static struct namelet root =
......
......@@ -57,18 +57,11 @@ extern struct eh_range whole_range;
#define NULL_EH_RANGE (&whole_range)
extern struct eh_range * find_handler PARAMS ((int));
extern void method_init_exceptions PARAMS ((void));
extern void emit_handlers PARAMS ((void));
extern void maybe_start_try PARAMS ((int, int));
extern void maybe_end_try PARAMS ((int, int));
extern void add_handler PARAMS ((int, int, tree, tree));
extern void handle_nested_ranges PARAMS ((void));
extern void expand_resume_after_catch PARAMS ((void));
extern struct eh_range * find_handler (int);
extern void method_init_exceptions (void);
extern void emit_handlers (void);
extern void maybe_start_try (int, int);
extern void maybe_end_try (int, int);
extern void add_handler (int, int, tree, tree);
extern void handle_nested_ranges (void);
extern void expand_resume_after_catch (void);
......@@ -1001,9 +1001,9 @@ struct treetreehash_entry GTY(())
tree value;
};
extern tree java_treetreehash_find PARAMS ((htab_t, tree));
extern tree * java_treetreehash_new PARAMS ((htab_t, tree));
extern htab_t java_treetreehash_create PARAMS ((size_t size, int ggc));
extern tree java_treetreehash_find (htab_t, tree);
extern tree * java_treetreehash_new (htab_t, tree);
extern htab_t java_treetreehash_create (size_t size, int ggc);
/* DECL_LANG_SPECIFIC for VAR_DECL, PARM_DECL and sometimes FIELD_DECL
(access methods on outer class fields) and final fields. */
......@@ -1088,221 +1088,216 @@ struct lang_type GTY(())
#define JCF_u4 unsigned long
#define JCF_u2 unsigned short
extern void java_parse_file PARAMS ((int));
extern bool java_mark_addressable PARAMS ((tree));
extern tree java_type_for_mode PARAMS ((enum machine_mode, int));
extern tree java_type_for_size PARAMS ((unsigned int, int));
extern tree java_unsigned_type PARAMS ((tree));
extern tree java_signed_type PARAMS ((tree));
extern tree java_signed_or_unsigned_type PARAMS ((int, tree));
extern tree java_truthvalue_conversion PARAMS ((tree));
extern void add_assume_compiled PARAMS ((const char *, int));
extern tree lookup_class PARAMS ((tree));
extern tree lookup_java_constructor PARAMS ((tree, tree));
extern tree lookup_java_method PARAMS ((tree, tree, tree));
extern tree lookup_argument_method PARAMS ((tree, tree, tree));
extern tree lookup_argument_method2 PARAMS ((tree, tree, tree));
extern int has_method PARAMS ((tree, tree));
extern tree promote_type PARAMS ((tree));
extern tree get_constant PARAMS ((struct JCF*, int));
extern tree get_name_constant PARAMS ((struct JCF*, int));
extern tree get_class_constant PARAMS ((struct JCF*, int));
extern tree parse_signature PARAMS ((struct JCF *jcf, int sig_index));
extern tree add_field PARAMS ((tree, tree, tree, int));
extern tree add_method PARAMS ((tree, int, tree, tree));
extern tree add_method_1 PARAMS ((tree, int, tree, tree));
extern tree make_class PARAMS ((void));
extern tree push_class PARAMS ((tree, tree));
extern tree unmangle_classname PARAMS ((const char *name, int name_length));
extern tree parse_signature_string PARAMS ((const unsigned char *, int));
extern tree get_type_from_signature PARAMS ((tree));
extern void layout_class PARAMS ((tree));
extern tree layout_class_method PARAMS ((tree, tree, tree, tree));
extern void layout_class_methods PARAMS ((tree));
extern tree build_class_ref PARAMS ((tree));
extern tree build_dtable_decl PARAMS ((tree));
extern tree build_internal_class_name PARAMS ((tree));
extern tree build_constants_constructor PARAMS ((void));
extern tree build_ref_from_constant_pool PARAMS ((int));
extern void compile_resource_file PARAMS ((char *, const char *));
extern tree build_utf8_ref PARAMS ((tree));
extern tree ident_subst PARAMS ((const char*, int,
const char*, int, int, const char*));
extern tree identifier_subst PARAMS ((const tree,
const char *, int, int, const char *));
extern int global_bindings_p PARAMS ((void));
extern int kept_level_p PARAMS ((void));
extern tree getdecls PARAMS ((void));
extern void pushlevel PARAMS ((int));
extern tree poplevel PARAMS ((int,int, int));
extern void insert_block PARAMS ((tree));
extern void set_block PARAMS ((tree));
extern tree pushdecl PARAMS ((tree));
extern void java_init_decl_processing PARAMS ((void));
extern void java_dup_lang_specific_decl PARAMS ((tree));
extern tree build_java_signature PARAMS ((tree));
extern tree build_java_argument_signature PARAMS ((tree));
extern void set_java_signature PARAMS ((tree, tree));
extern tree build_static_field_ref PARAMS ((tree));
extern tree build_address_of PARAMS ((tree));
extern tree find_local_variable PARAMS ((int index, tree type, int pc));
extern tree find_stack_slot PARAMS ((int index, tree type));
extern tree build_prim_array_type PARAMS ((tree, HOST_WIDE_INT));
extern tree build_java_array_type PARAMS ((tree, HOST_WIDE_INT));
extern int is_compiled_class PARAMS ((tree));
extern tree mangled_classname PARAMS ((const char*, tree));
extern tree lookup_label PARAMS ((int));
extern tree pop_type_0 PARAMS ((tree, char**));
extern tree pop_type PARAMS ((tree));
extern tree decode_newarray_type PARAMS ((int));
extern tree lookup_field PARAMS ((tree*, tree));
extern int is_array_type_p PARAMS ((tree));
extern HOST_WIDE_INT java_array_type_length PARAMS ((tree));
extern int read_class PARAMS ((tree));
extern void load_class PARAMS ((tree, int));
extern tree check_for_builtin PARAMS ((tree, tree));
extern void initialize_builtins PARAMS ((void));
extern tree lookup_name PARAMS ((tree));
extern tree build_known_method_ref PARAMS ((tree, tree, tree, tree, tree));
extern tree build_class_init PARAMS ((tree, tree));
extern tree build_invokevirtual PARAMS ((tree, tree));
extern tree build_invokeinterface PARAMS ((tree, tree));
extern tree build_jni_stub PARAMS ((tree));
extern tree invoke_build_dtable PARAMS ((int, tree));
extern tree build_field_ref PARAMS ((tree, tree, tree));
extern void pushdecl_force_head PARAMS ((tree));
extern tree build_java_binop PARAMS ((enum tree_code, tree, tree, tree));
extern tree build_java_soft_divmod PARAMS ((enum tree_code, tree, tree, tree));
extern tree binary_numeric_promotion PARAMS ((tree, tree, tree *, tree *));
extern tree build_java_arrayaccess PARAMS ((tree, tree, tree));
extern tree build_java_arraystore_check PARAMS ((tree, tree));
extern tree build_newarray PARAMS ((int, tree));
extern tree build_anewarray PARAMS ((tree, tree));
extern tree build_new_array PARAMS ((tree, tree));
extern tree build_java_array_length_access PARAMS ((tree));
extern tree build_java_arraynull_check PARAMS ((tree, tree, tree));
extern tree build_java_indirect_ref PARAMS ((tree, tree, int));
extern tree java_check_reference PARAMS ((tree, int));
extern tree build_get_class PARAMS ((tree));
extern tree build_instanceof PARAMS ((tree, tree));
extern tree create_label_decl PARAMS ((tree));
extern void push_labeled_block PARAMS ((tree));
extern tree prepare_eh_table_type PARAMS ((tree));
extern tree build_exception_object_ref PARAMS ((tree));
extern tree generate_name PARAMS ((void));
extern void pop_labeled_block PARAMS ((void));
extern const char *lang_printable_name PARAMS ((tree, int));
extern tree maybe_add_interface PARAMS ((tree, tree));
extern void set_super_info PARAMS ((int, tree, tree, int));
extern void set_class_decl_access_flags PARAMS ((int, tree));
extern int get_access_flags_from_decl PARAMS ((tree));
extern int interface_of_p PARAMS ((tree, tree));
extern int inherits_from_p PARAMS ((tree, tree));
extern int common_enclosing_context_p PARAMS ((tree, tree));
extern int enclosing_context_p PARAMS ((tree, tree));
extern void complete_start_java_method PARAMS ((tree));
extern tree build_result_decl PARAMS ((tree));
extern void emit_handlers PARAMS ((void));
extern void init_outgoing_cpool PARAMS ((void));
extern void make_class_data PARAMS ((tree));
extern void register_class PARAMS ((void));
extern int alloc_name_constant PARAMS ((int, tree));
extern void emit_register_classes PARAMS ((void));
extern void emit_offset_symbol_table PARAMS ((void));
extern void lang_init_source PARAMS ((int));
extern void write_classfile PARAMS ((tree));
extern char *print_int_node PARAMS ((tree));
extern void parse_error_context PARAMS ((tree cl, const char *, ...))
extern void java_parse_file (int);
extern bool java_mark_addressable (tree);
extern tree java_type_for_mode (enum machine_mode, int);
extern tree java_type_for_size (unsigned int, int);
extern tree java_unsigned_type (tree);
extern tree java_signed_type (tree);
extern tree java_signed_or_unsigned_type (int, tree);
extern tree java_truthvalue_conversion (tree);
extern void add_assume_compiled (const char *, int);
extern tree lookup_class (tree);
extern tree lookup_java_constructor (tree, tree);
extern tree lookup_java_method (tree, tree, tree);
extern tree lookup_argument_method (tree, tree, tree);
extern tree lookup_argument_method2 (tree, tree, tree);
extern int has_method (tree, tree);
extern tree promote_type (tree);
extern tree get_constant (struct JCF*, int);
extern tree get_name_constant (struct JCF*, int);
extern tree get_class_constant (struct JCF*, int);
extern tree parse_signature (struct JCF *jcf, int sig_index);
extern tree add_field (tree, tree, tree, int);
extern tree add_method (tree, int, tree, tree);
extern tree add_method_1 (tree, int, tree, tree);
extern tree make_class (void);
extern tree push_class (tree, tree);
extern tree unmangle_classname (const char *name, int name_length);
extern tree parse_signature_string (const unsigned char *, int);
extern tree get_type_from_signature (tree);
extern void layout_class (tree);
extern tree layout_class_method (tree, tree, tree, tree);
extern void layout_class_methods (tree);
extern tree build_class_ref (tree);
extern tree build_dtable_decl (tree);
extern tree build_internal_class_name (tree);
extern tree build_constants_constructor (void);
extern tree build_ref_from_constant_pool (int);
extern void compile_resource_file (char *, const char *);
extern tree build_utf8_ref (tree);
extern tree ident_subst (const char*, int, const char*, int, int, const char*);
extern tree identifier_subst (const tree, const char *, int, int, const char *);
extern int global_bindings_p (void);
extern int kept_level_p (void);
extern tree getdecls (void);
extern void pushlevel (int);
extern tree poplevel (int,int, int);
extern void insert_block (tree);
extern void set_block (tree);
extern tree pushdecl (tree);
extern void java_init_decl_processing (void);
extern void java_dup_lang_specific_decl (tree);
extern tree build_java_signature (tree);
extern tree build_java_argument_signature (tree);
extern void set_java_signature (tree, tree);
extern tree build_static_field_ref (tree);
extern tree build_address_of (tree);
extern tree find_local_variable (int index, tree type, int pc);
extern tree find_stack_slot (int index, tree type);
extern tree build_prim_array_type (tree, HOST_WIDE_INT);
extern tree build_java_array_type (tree, HOST_WIDE_INT);
extern int is_compiled_class (tree);
extern tree mangled_classname (const char*, tree);
extern tree lookup_label (int);
extern tree pop_type_0 (tree, char**);
extern tree pop_type (tree);
extern tree decode_newarray_type (int);
extern tree lookup_field (tree*, tree);
extern int is_array_type_p (tree);
extern HOST_WIDE_INT java_array_type_length (tree);
extern int read_class (tree);
extern void load_class (tree, int);
extern tree check_for_builtin (tree, tree);
extern void initialize_builtins (void);
extern tree lookup_name (tree);
extern tree build_known_method_ref (tree, tree, tree, tree, tree);
extern tree build_class_init (tree, tree);
extern tree build_invokevirtual (tree, tree);
extern tree build_invokeinterface (tree, tree);
extern tree build_jni_stub (tree);
extern tree invoke_build_dtable (int, tree);
extern tree build_field_ref (tree, tree, tree);
extern void pushdecl_force_head (tree);
extern tree build_java_binop (enum tree_code, tree, tree, tree);
extern tree build_java_soft_divmod (enum tree_code, tree, tree, tree);
extern tree binary_numeric_promotion (tree, tree, tree *, tree *);
extern tree build_java_arrayaccess (tree, tree, tree);
extern tree build_java_arraystore_check (tree, tree);
extern tree build_newarray (int, tree);
extern tree build_anewarray (tree, tree);
extern tree build_new_array (tree, tree);
extern tree build_java_array_length_access (tree);
extern tree build_java_arraynull_check (tree, tree, tree);
extern tree build_java_indirect_ref (tree, tree, int);
extern tree java_check_reference (tree, int);
extern tree build_get_class (tree);
extern tree build_instanceof (tree, tree);
extern tree create_label_decl (tree);
extern void push_labeled_block (tree);
extern tree prepare_eh_table_type (tree);
extern tree build_exception_object_ref (tree);
extern tree generate_name (void);
extern void pop_labeled_block (void);
extern const char *lang_printable_name (tree, int);
extern tree maybe_add_interface (tree, tree);
extern void set_super_info (int, tree, tree, int);
extern void set_class_decl_access_flags (int, tree);
extern int get_access_flags_from_decl (tree);
extern int interface_of_p (tree, tree);
extern int inherits_from_p (tree, tree);
extern int common_enclosing_context_p (tree, tree);
extern int enclosing_context_p (tree, tree);
extern void complete_start_java_method (tree);
extern tree build_result_decl (tree);
extern void emit_handlers (void);
extern void init_outgoing_cpool (void);
extern void make_class_data (tree);
extern void register_class (void);
extern int alloc_name_constant (int, tree);
extern void emit_register_classes (void);
extern void emit_offset_symbol_table (void);
extern void lang_init_source (int);
extern void write_classfile (tree);
extern char *print_int_node (tree);
extern void parse_error_context (tree cl, const char *, ...)
ATTRIBUTE_PRINTF_2;
extern void finish_class PARAMS ((void));
extern void java_layout_seen_class_methods PARAMS ((void));
extern void check_for_initialization PARAMS ((tree, tree));
extern tree pushdecl_top_level PARAMS ((tree));
extern int alloc_class_constant PARAMS ((tree));
extern void init_expr_processing PARAMS ((void));
extern void push_super_field PARAMS ((tree, tree));
extern void init_class_processing PARAMS ((void));
extern int can_widen_reference_to PARAMS ((tree, tree));
extern int class_depth PARAMS ((tree));
extern int verify_jvm_instructions PARAMS ((struct JCF *, const unsigned char *, long));
extern void maybe_pushlevels PARAMS ((int));
extern void maybe_poplevels PARAMS ((int));
extern void force_poplevels PARAMS ((int));
extern int process_jvm_instruction PARAMS ((int, const unsigned char *, long));
extern int maybe_adjust_start_pc PARAMS ((struct JCF *, int, int, int));
extern void set_local_type PARAMS ((int, tree));
extern int merge_type_state PARAMS ((tree));
extern int push_type_0 PARAMS ((tree));
extern void push_type PARAMS ((tree));
extern void load_type_state PARAMS ((tree));
extern void add_interface PARAMS ((tree, tree));
extern tree force_evaluation_order PARAMS ((tree));
extern int verify_constant_pool PARAMS ((struct JCF *));
extern void start_java_method PARAMS ((tree));
extern void end_java_method PARAMS ((void));
extern void give_name_to_locals PARAMS ((struct JCF *));
extern void note_instructions PARAMS ((struct JCF *, tree));
extern void expand_byte_code PARAMS ((struct JCF *, tree));
extern int open_in_zip PARAMS ((struct JCF *, const char *, const char *, int));
extern void set_constant_value PARAMS ((tree, tree));
extern void finish_class (void);
extern void java_layout_seen_class_methods (void);
extern void check_for_initialization (tree, tree);
extern tree pushdecl_top_level (tree);
extern int alloc_class_constant (tree);
extern void init_expr_processing (void);
extern void push_super_field (tree, tree);
extern void init_class_processing (void);
extern int can_widen_reference_to (tree, tree);
extern int class_depth (tree);
extern int verify_jvm_instructions (struct JCF *, const unsigned char *, long);
extern void maybe_pushlevels (int);
extern void maybe_poplevels (int);
extern void force_poplevels (int);
extern int process_jvm_instruction (int, const unsigned char *, long);
extern int maybe_adjust_start_pc (struct JCF *, int, int, int);
extern void set_local_type (int, tree);
extern int merge_type_state (tree);
extern int push_type_0 (tree);
extern void push_type (tree);
extern void load_type_state (tree);
extern void add_interface (tree, tree);
extern tree force_evaluation_order (tree);
extern int verify_constant_pool (struct JCF *);
extern void start_java_method (tree);
extern void end_java_method (void);
extern void give_name_to_locals (struct JCF *);
extern void note_instructions (struct JCF *, tree);
extern void expand_byte_code (struct JCF *, tree);
extern int open_in_zip (struct JCF *, const char *, const char *, int);
extern void set_constant_value (tree, tree);
#ifdef jword
extern int find_constant1 PARAMS ((struct CPool *, int, jword));
extern int find_constant2 PARAMS ((struct CPool *, int, jword, jword));
extern int find_constant1 (struct CPool *, int, jword);
extern int find_constant2 (struct CPool *, int, jword, jword);
#endif
extern int find_utf8_constant PARAMS ((struct CPool *, tree));
extern int find_string_constant PARAMS ((struct CPool *, tree));
extern int find_class_constant PARAMS ((struct CPool *, tree));
extern int find_fieldref_index PARAMS ((struct CPool *, tree));
extern int find_methodref_index PARAMS ((struct CPool *, tree));
extern int find_methodref_with_class_index PARAMS ((struct CPool *, tree, tree));
extern void write_constant_pool PARAMS ((struct CPool *, unsigned char *, int));
extern int count_constant_pool_bytes PARAMS ((struct CPool *));
extern int encode_newarray_type PARAMS ((tree));
extern int find_utf8_constant (struct CPool *, tree);
extern int find_string_constant (struct CPool *, tree);
extern int find_class_constant (struct CPool *, tree);
extern int find_fieldref_index (struct CPool *, tree);
extern int find_methodref_index (struct CPool *, tree);
extern int find_methodref_with_class_index (struct CPool *, tree, tree);
extern void write_constant_pool (struct CPool *, unsigned char *, int);
extern int count_constant_pool_bytes (struct CPool *);
extern int encode_newarray_type (tree);
#ifdef uint64
extern void format_int PARAMS ((char *, jlong, int));
extern void format_uint PARAMS ((char *, uint64, int));
extern void format_int (char *, jlong, int);
extern void format_uint (char *, uint64, int);
#endif
extern void jcf_trim_old_input PARAMS ((struct JCF *));
extern void jcf_trim_old_input (struct JCF *);
#ifdef BUFSIZ
extern void jcf_print_utf8 PARAMS ((FILE *, const unsigned char *, int));
extern void jcf_print_char PARAMS ((FILE *, int));
extern void jcf_print_utf8_replace PARAMS ((FILE *, const unsigned char *,
int, int, int));
extern const char* open_class PARAMS ((const char *, struct JCF *,
int, const char *));
extern void jcf_print_utf8 (FILE *, const unsigned char *, int);
extern void jcf_print_char (FILE *, int);
extern void jcf_print_utf8_replace (FILE *, const unsigned char *, int, int, int);
extern const char* open_class (const char *, struct JCF *, int, const char *);
#endif
extern void java_debug_context PARAMS ((void));
extern void safe_layout_class PARAMS ((tree));
extern void java_debug_context (void);
extern void safe_layout_class (tree);
extern tree get_boehm_type_descriptor PARAMS ((tree));
extern bool class_has_finalize_method PARAMS ((tree));
extern void java_check_methods PARAMS ((tree));
extern void init_jcf_parse PARAMS((void));
extern void init_src_parse PARAMS((void));
extern tree get_boehm_type_descriptor (tree);
extern bool class_has_finalize_method (tree);
extern void java_check_methods (tree);
extern void init_jcf_parse (void);
extern void init_src_parse (void);
extern int cxx_keyword_p PARAMS ((const char *, int));
extern tree java_mangle_decl PARAMS ((struct obstack *, tree));
extern tree java_mangle_class_field PARAMS ((struct obstack *, tree));
extern tree java_mangle_class_field_from_string PARAMS ((struct obstack *, char *));
extern tree java_mangle_vtable PARAMS ((struct obstack *, tree));
extern const char *lang_printable_name_wls PARAMS ((tree, int));
extern void append_gpp_mangled_name PARAMS ((const char *, int));
extern int cxx_keyword_p (const char *, int);
extern tree java_mangle_decl (struct obstack *, tree);
extern tree java_mangle_class_field (struct obstack *, tree);
extern tree java_mangle_class_field_from_string (struct obstack *, char *);
extern tree java_mangle_vtable (struct obstack *, tree);
extern const char *lang_printable_name_wls (tree, int);
extern void append_gpp_mangled_name (const char *, int);
extern void add_predefined_file PARAMS ((tree));
extern int predefined_filename_p PARAMS ((tree));
extern void add_predefined_file (tree);
extern int predefined_filename_p (tree);
extern void java_optimize_inline PARAMS ((tree));
extern tree decl_constant_value PARAMS ((tree));
extern void java_optimize_inline (tree);
extern tree decl_constant_value (tree);
#if defined(RTX_CODE) && defined (HAVE_MACHINE_MODES)
struct rtx_def * java_expand_expr PARAMS ((tree, rtx, enum machine_mode,
int));
struct rtx_def * java_expand_expr (tree, rtx, enum machine_mode, int);
#endif
extern void java_inlining_merge_static_initializers PARAMS ((tree, void *));
extern void java_inlining_map_static_initializers PARAMS ((tree, void *));
extern void java_inlining_merge_static_initializers (tree, void *);
extern void java_inlining_map_static_initializers (tree, void *);
#define DECL_FINAL(DECL) DECL_LANG_FLAG_3 (DECL)
......
......@@ -91,21 +91,21 @@ int class_access_flags = 0;
/* Print in format similar to javap. VERY IMCOMPLETE. */
int flag_javap_compatible = 0;
static void print_access_flags PARAMS ((FILE *, uint16, char));
static void print_constant_terse PARAMS ((FILE*, JCF*, int, int));
static void print_constant PARAMS ((FILE *, JCF *, int, int));
static void print_constant_ref PARAMS ((FILE *, JCF *, int));
static void disassemble_method PARAMS ((JCF*, const unsigned char *, int));
static void print_name PARAMS ((FILE*, JCF*, int));
static void print_signature PARAMS ((FILE*, JCF*, int, int));
static int utf8_equal_string PARAMS ((struct JCF*, int, const char *));
static void usage PARAMS ((void)) ATTRIBUTE_NORETURN;
static void help PARAMS ((void)) ATTRIBUTE_NORETURN;
static void version PARAMS ((void)) ATTRIBUTE_NORETURN;
static void process_class PARAMS ((struct JCF *));
static void print_constant_pool PARAMS ((struct JCF *));
static void print_exception_table PARAMS ((struct JCF *,
const unsigned char *entries, int));
static void print_access_flags (FILE *, uint16, char);
static void print_constant_terse (FILE*, JCF*, int, int);
static void print_constant (FILE *, JCF *, int, int);
static void print_constant_ref (FILE *, JCF *, int);
static void disassemble_method (JCF*, const unsigned char *, int);
static void print_name (FILE*, JCF*, int);
static void print_signature (FILE*, JCF*, int, int);
static int utf8_equal_string (struct JCF*, int, const char *);
static void usage (void) ATTRIBUTE_NORETURN;
static void help (void) ATTRIBUTE_NORETURN;
static void version (void) ATTRIBUTE_NORETURN;
static void process_class (struct JCF *);
static void print_constant_pool (struct JCF *);
static void print_exception_table (struct JCF *, const unsigned char *entries,
int);
#define PRINT_SIGNATURE_RESULT_ONLY 1
#define PRINT_SIGNATURE_ARGS_ONLY 2
......
......@@ -91,18 +91,18 @@ static struct JCF main_jcf[1];
static struct ZipFile *localToFile;
/* Declarations of some functions used here. */
static void handle_innerclass_attribute PARAMS ((int count, JCF *));
static tree give_name_to_class PARAMS ((JCF *jcf, int index));
static void parse_zip_file_entries PARAMS ((void));
static void process_zip_dir PARAMS ((FILE *));
static void parse_source_file_1 PARAMS ((tree, FILE *));
static void parse_source_file_2 PARAMS ((void));
static void parse_source_file_3 PARAMS ((void));
static void parse_class_file PARAMS ((void));
static void set_source_filename PARAMS ((JCF *, int));
static void ggc_mark_jcf PARAMS ((void**));
static void jcf_parse PARAMS ((struct JCF*));
static void load_inner_classes PARAMS ((tree));
static void handle_innerclass_attribute (int count, JCF *);
static tree give_name_to_class (JCF *jcf, int index);
static void parse_zip_file_entries (void);
static void process_zip_dir (FILE *);
static void parse_source_file_1 (tree, FILE *);
static void parse_source_file_2 (void);
static void parse_source_file_3 (void);
static void parse_class_file (void);
static void set_source_filename (JCF *, int);
static void ggc_mark_jcf (void**);
static void jcf_parse (struct JCF*);
static void load_inner_classes (tree);
/* Mark (for garbage collection) all the tree nodes that are
referenced from JCF's constant pool table. Do that only if the JCF
......
......@@ -62,10 +62,10 @@ struct entry
struct entry *next;
};
static void free_entry PARAMS ((struct entry **));
static void append_entry PARAMS ((struct entry **, struct entry *));
static void add_entry PARAMS ((struct entry **, const char *, int));
static void add_path PARAMS ((struct entry **, const char *, int));
static void free_entry (struct entry **);
static void append_entry (struct entry **, struct entry *);
static void add_entry (struct entry **, const char *, int);
static void add_path (struct entry **, const char *, int);
/* We support several different ways to set the class path.
......
......@@ -28,19 +28,19 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "jcf.h"
#include "zipfile.h"
static int get_attribute PARAMS ((JCF *));
static int jcf_parse_preamble PARAMS ((JCF *));
static int jcf_parse_constant_pool PARAMS ((JCF *));
static void jcf_parse_class PARAMS ((JCF *));
static int jcf_parse_fields PARAMS ((JCF *));
static int jcf_parse_one_method PARAMS ((JCF *));
static int jcf_parse_methods PARAMS ((JCF *));
static int jcf_parse_final_attributes PARAMS ((JCF *));
static int get_attribute (JCF *);
static int jcf_parse_preamble (JCF *);
static int jcf_parse_constant_pool (JCF *);
static void jcf_parse_class (JCF *);
static int jcf_parse_fields (JCF *);
static int jcf_parse_one_method (JCF *);
static int jcf_parse_methods (JCF *);
static int jcf_parse_final_attributes (JCF *);
#ifdef NEED_PEEK_ATTRIBUTE
static int peek_attribute PARAMS ((JCF *, int, const char *, int));
static int peek_attribute (JCF *, int, const char *, int);
#endif
#ifdef NEED_SKIP_ATTRIBUTE
static void skip_attribute PARAMS ((JCF *, int));
static void skip_attribute (JCF *, int);
#endif
/* Go through all available attribute (ATTRIBUTE_NUMER) and try to
......
......@@ -280,81 +280,76 @@ struct jcf_partial
struct jcf_switch_state *sw_state;
};
static void generate_bytecode_insns PARAMS ((tree, int, struct jcf_partial *));
static struct chunk * alloc_chunk PARAMS ((struct chunk *, unsigned char *,
int, struct obstack *));
static unsigned char * append_chunk PARAMS ((unsigned char *, int,
struct jcf_partial *));
static void append_chunk_copy PARAMS ((unsigned char *, int,
struct jcf_partial *));
static struct jcf_block * gen_jcf_label PARAMS ((struct jcf_partial *));
static void finish_jcf_block PARAMS ((struct jcf_partial *));
static void define_jcf_label PARAMS ((struct jcf_block *,
struct jcf_partial *));
static struct jcf_block * get_jcf_label_here PARAMS ((struct jcf_partial *));
static void put_linenumber PARAMS ((int, struct jcf_partial *));
static void localvar_alloc PARAMS ((tree, struct jcf_partial *));
static void localvar_free PARAMS ((tree, struct jcf_partial *));
static int get_access_flags PARAMS ((tree));
static void write_chunks PARAMS ((FILE *, struct chunk *));
static int adjust_typed_op PARAMS ((tree, int));
static void generate_bytecode_conditional PARAMS ((tree, struct jcf_block *,
struct jcf_block *, int,
struct jcf_partial *));
static void generate_bytecode_return PARAMS ((tree, struct jcf_partial *));
static void perform_relocations PARAMS ((struct jcf_partial *));
static void init_jcf_state PARAMS ((struct jcf_partial *, struct obstack *));
static void init_jcf_method PARAMS ((struct jcf_partial *, tree));
static void release_jcf_state PARAMS ((struct jcf_partial *));
static struct chunk * generate_classfile PARAMS ((tree, struct jcf_partial *));
static struct jcf_handler *alloc_handler PARAMS ((struct jcf_block *,
struct jcf_block *,
struct jcf_partial *));
static void emit_iinc PARAMS ((tree, HOST_WIDE_INT, struct jcf_partial *));
static void emit_reloc PARAMS ((HOST_WIDE_INT, int, struct jcf_block *,
struct jcf_partial *));
static void push_constant1 PARAMS ((HOST_WIDE_INT, struct jcf_partial *));
static void push_constant2 PARAMS ((HOST_WIDE_INT, struct jcf_partial *));
static void push_int_const PARAMS ((HOST_WIDE_INT, struct jcf_partial *));
static int find_constant_wide PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT,
struct jcf_partial *));
static void push_long_const PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT,
struct jcf_partial *));
static int find_constant_index PARAMS ((tree, struct jcf_partial *));
static void push_long_const PARAMS ((HOST_WIDE_INT, HOST_WIDE_INT,
struct jcf_partial *));
static void field_op PARAMS ((tree, int, struct jcf_partial *));
static void maybe_wide PARAMS ((int, int, struct jcf_partial *));
static void emit_dup PARAMS ((int, int, struct jcf_partial *));
static void emit_pop PARAMS ((int, struct jcf_partial *));
static void emit_load_or_store PARAMS ((tree, int, struct jcf_partial *));
static void emit_load PARAMS ((tree, struct jcf_partial *));
static void emit_store PARAMS ((tree, struct jcf_partial *));
static void emit_unop PARAMS ((enum java_opcode, tree, struct jcf_partial *));
static void emit_binop PARAMS ((enum java_opcode, tree, struct jcf_partial *));
static void emit_reloc PARAMS ((HOST_WIDE_INT, int, struct jcf_block *,
struct jcf_partial *));
static void emit_switch_reloc PARAMS ((struct jcf_block *,
struct jcf_partial *));
static void emit_case_reloc PARAMS ((struct jcf_relocation *,
struct jcf_partial *));
static void emit_if PARAMS ((struct jcf_block *, int, int,
struct jcf_partial *));
static void emit_goto PARAMS ((struct jcf_block *, struct jcf_partial *));
static void emit_jsr PARAMS ((struct jcf_block *, struct jcf_partial *));
static void call_cleanups PARAMS ((struct jcf_block *, struct jcf_partial *));
static char *make_class_file_name PARAMS ((tree));
static unsigned char *append_synthetic_attribute PARAMS ((struct jcf_partial *));
static void append_innerclasses_attribute PARAMS ((struct jcf_partial *, tree));
static void append_innerclasses_attribute_entry PARAMS ((struct jcf_partial *, tree, tree));
static void append_gcj_attribute PARAMS ((struct jcf_partial *, tree));
static void generate_bytecode_insns (tree, int, struct jcf_partial *);
static struct chunk * alloc_chunk (struct chunk *, unsigned char *,
int, struct obstack *);
static unsigned char * append_chunk (unsigned char *, int,
struct jcf_partial *);
static void append_chunk_copy (unsigned char *, int, struct jcf_partial *);
static struct jcf_block * gen_jcf_label (struct jcf_partial *);
static void finish_jcf_block (struct jcf_partial *);
static void define_jcf_label (struct jcf_block *, struct jcf_partial *);
static struct jcf_block * get_jcf_label_here (struct jcf_partial *);
static void put_linenumber (int, struct jcf_partial *);
static void localvar_alloc (tree, struct jcf_partial *);
static void localvar_free (tree, struct jcf_partial *);
static int get_access_flags (tree);
static void write_chunks (FILE *, struct chunk *);
static int adjust_typed_op (tree, int);
static void generate_bytecode_conditional (tree, struct jcf_block *,
struct jcf_block *, int,
struct jcf_partial *);
static void generate_bytecode_return (tree, struct jcf_partial *);
static void perform_relocations (struct jcf_partial *);
static void init_jcf_state (struct jcf_partial *, struct obstack *);
static void init_jcf_method (struct jcf_partial *, tree);
static void release_jcf_state (struct jcf_partial *);
static struct chunk * generate_classfile (tree, struct jcf_partial *);
static struct jcf_handler *alloc_handler (struct jcf_block *,
struct jcf_block *,
struct jcf_partial *);
static void emit_iinc (tree, HOST_WIDE_INT, struct jcf_partial *);
static void emit_reloc (HOST_WIDE_INT, int, struct jcf_block *,
struct jcf_partial *);
static void push_constant1 (HOST_WIDE_INT, struct jcf_partial *);
static void push_constant2 (HOST_WIDE_INT, struct jcf_partial *);
static void push_int_const (HOST_WIDE_INT, struct jcf_partial *);
static int find_constant_wide (HOST_WIDE_INT, HOST_WIDE_INT,
struct jcf_partial *);
static void push_long_const (HOST_WIDE_INT, HOST_WIDE_INT,
struct jcf_partial *);
static int find_constant_index (tree, struct jcf_partial *);
static void push_long_const (HOST_WIDE_INT, HOST_WIDE_INT,
struct jcf_partial *);
static void field_op (tree, int, struct jcf_partial *);
static void maybe_wide (int, int, struct jcf_partial *);
static void emit_dup (int, int, struct jcf_partial *);
static void emit_pop (int, struct jcf_partial *);
static void emit_load_or_store (tree, int, struct jcf_partial *);
static void emit_load (tree, struct jcf_partial *);
static void emit_store (tree, struct jcf_partial *);
static void emit_unop (enum java_opcode, tree, struct jcf_partial *);
static void emit_binop (enum java_opcode, tree, struct jcf_partial *);
static void emit_reloc (HOST_WIDE_INT, int, struct jcf_block *,
struct jcf_partial *);
static void emit_switch_reloc (struct jcf_block *, struct jcf_partial *);
static void emit_case_reloc (struct jcf_relocation *, struct jcf_partial *);
static void emit_if (struct jcf_block *, int, int, struct jcf_partial *);
static void emit_goto (struct jcf_block *, struct jcf_partial *);
static void emit_jsr (struct jcf_block *, struct jcf_partial *);
static void call_cleanups (struct jcf_block *, struct jcf_partial *);
static char *make_class_file_name (tree);
static unsigned char *append_synthetic_attribute (struct jcf_partial *);
static void append_innerclasses_attribute (struct jcf_partial *, tree);
static void append_innerclasses_attribute_entry (struct jcf_partial *, tree, tree);
static void append_gcj_attribute (struct jcf_partial *, tree);
/* Utility macros for appending (big-endian) data to a buffer.
We assume a local variable 'ptr' points into where we want to
write next, and we assume enough space has been allocated. */
#ifdef ENABLE_JC1_CHECKING
static int CHECK_PUT PARAMS ((void *, struct jcf_partial *, int));
static int CHECK_PUT (void *, struct jcf_partial *, int);
static int
CHECK_PUT (ptr, state, i)
......@@ -411,7 +406,7 @@ alloc_chunk (last, data, size, work)
}
#ifdef ENABLE_JC1_CHECKING
static int CHECK_OP PARAMS ((struct jcf_partial *));
static int CHECK_OP (struct jcf_partial *);
static int
CHECK_OP (state)
......
......@@ -55,7 +55,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#endif
struct JCF;
typedef int (*jcf_filbuf_t) PARAMS ((struct JCF*, int needed));
typedef int (*jcf_filbuf_t) (struct JCF*, int needed);
typedef struct CPool {
/* Available number of elements in the constants array, before it
......@@ -217,10 +217,10 @@ typedef struct JCF {
#define DEFAULT_CLASS_PATH "."
extern const char *find_class PARAMS ((const char *, int, JCF*, int));
extern const char *find_classfile PARAMS ((char *, JCF*, const char *));
extern int jcf_filbuf_from_stdio PARAMS ((JCF *jcf, int count));
extern int jcf_unexpected_eof PARAMS ((JCF*, int)) ATTRIBUTE_NORETURN;
extern const char *find_class (const char *, int, JCF*, int);
extern const char *find_classfile (char *, JCF*, const char *);
extern int jcf_filbuf_from_stdio (JCF *jcf, int count);
extern int jcf_unexpected_eof (JCF*, int) ATTRIBUTE_NORETURN;
/* Extract a character from a Java-style Utf8 string.
* PTR points to the current character.
......@@ -251,27 +251,27 @@ extern int quiet_flag;
#endif
/* Declarations for dependency code. */
extern void jcf_dependency_reset PARAMS ((void));
extern void jcf_dependency_set_target PARAMS ((const char *));
extern void jcf_dependency_add_target PARAMS ((const char *));
extern void jcf_dependency_set_dep_file PARAMS ((const char *));
extern void jcf_dependency_add_file PARAMS ((const char *, int));
extern void jcf_dependency_write PARAMS ((void));
extern void jcf_dependency_init PARAMS ((int));
extern void jcf_dependency_print_dummies PARAMS ((void));
extern void jcf_dependency_reset (void);
extern void jcf_dependency_set_target (const char *);
extern void jcf_dependency_add_target (const char *);
extern void jcf_dependency_set_dep_file (const char *);
extern void jcf_dependency_add_file (const char *, int);
extern void jcf_dependency_write (void);
extern void jcf_dependency_init (int);
extern void jcf_dependency_print_dummies (void);
/* Declarations for path handling code. */
extern void jcf_path_init PARAMS ((void));
extern void jcf_path_classpath_arg PARAMS ((const char *));
extern void jcf_path_bootclasspath_arg PARAMS ((const char *));
extern void jcf_path_extdirs_arg PARAMS ((const char *));
extern void jcf_path_include_arg PARAMS ((const char *));
extern void jcf_path_seal PARAMS ((int));
extern void *jcf_path_start PARAMS ((void));
extern void *jcf_path_next PARAMS ((void *));
extern char *jcf_path_name PARAMS ((void *));
extern int jcf_path_is_zipfile PARAMS ((void *));
extern int jcf_path_is_system PARAMS ((void *));
extern int jcf_path_max_len PARAMS ((void));
extern void jcf_path_init (void);
extern void jcf_path_classpath_arg (const char *);
extern void jcf_path_bootclasspath_arg (const char *);
extern void jcf_path_extdirs_arg (const char *);
extern void jcf_path_include_arg (const char *);
extern void jcf_path_seal (int);
extern void *jcf_path_start (void);
extern void *jcf_path_next (void *);
extern char *jcf_path_name (void *);
extern int jcf_path_is_zipfile (void *);
extern int jcf_path_is_system (void *);
extern int jcf_path_max_len (void);
#endif /* ! GCC_JCF_H */
......@@ -39,15 +39,15 @@ Boston, MA 02111-1307, USA. */
#include <getopt.h>
extern void fatal_error PARAMS ((const char *s, ...))
extern void fatal_error (const char *s, ...)
ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
void warning PARAMS ((const char *s, ...)) ATTRIBUTE_PRINTF_1;
void gcc_obstack_init PARAMS ((struct obstack *obstack));
void report PARAMS ((void));
void warning (const char *s, ...) ATTRIBUTE_PRINTF_1;
void gcc_obstack_init (struct obstack *obstack);
void report (void);
static void usage PARAMS ((void)) ATTRIBUTE_NORETURN;
static void help PARAMS ((void)) ATTRIBUTE_NORETURN;
static void version PARAMS ((void)) ATTRIBUTE_NORETURN;
static void usage (void) ATTRIBUTE_NORETURN;
static void help (void) ATTRIBUTE_NORETURN;
static void version (void) ATTRIBUTE_NORETURN;
#define JC1_LITE
#include "jcf.h"
......
......@@ -34,7 +34,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "tree.h"
#include "java-tree.h"
static char * do_mangle_classname PARAMS ((const char *string));
static char * do_mangle_classname (const char *string);
struct obstack name_obstack;
struct obstack *mangle_obstack = &name_obstack;
......@@ -55,8 +55,8 @@ gcc_obstack_init (obstack)
#define OBSTACK_CHUNK_FREE free
#endif
_obstack_begin (obstack, OBSTACK_CHUNK_SIZE, 0,
(void *(*) PARAMS ((long))) OBSTACK_CHUNK_ALLOC,
(void (*) PARAMS ((void *))) OBSTACK_CHUNK_FREE);
(void *(*) (long)) OBSTACK_CHUNK_ALLOC,
(void (*) (void *)) OBSTACK_CHUNK_FREE);
}
static void usage (const char *) ATTRIBUTE_NORETURN;
......
......@@ -30,11 +30,11 @@ struct java_keyword { const char *const name; const int token; };
#ifdef __GNUC__
__inline
#endif
static unsigned int hash PARAMS ((const char *, unsigned int));
static unsigned int hash (const char *, unsigned int);
#ifdef __GNUC__
__inline
#endif
const struct java_keyword *java_keyword PARAMS ((const char *, unsigned int));
const struct java_keyword *java_keyword (const char *, unsigned int);
%%
abstract, ABSTRACT_TK
default, DEFAULT_TK
......
......@@ -30,11 +30,11 @@ struct java_keyword { const char *const name; const int token; };
#ifdef __GNUC__
__inline
#endif
static unsigned int hash PARAMS ((const char *, unsigned int));
static unsigned int hash (const char *, unsigned int);
#ifdef __GNUC__
__inline
#endif
const struct java_keyword *java_keyword PARAMS ((const char *, unsigned int));
const struct java_keyword *java_keyword (const char *, unsigned int);
#define TOTAL_KEYWORDS 52
#define MIN_WORD_LENGTH 2
......
......@@ -53,32 +53,24 @@ struct string_option
const int on_value;
};
static const char *java_init PARAMS ((const char *));
static void java_finish PARAMS ((void));
static void java_init_options PARAMS ((void));
static bool java_post_options PARAMS ((void));
static int java_decode_option PARAMS ((int, char **));
static void put_decl_string PARAMS ((const char *, int));
static void put_decl_node PARAMS ((tree));
static void java_print_error_function PARAMS ((diagnostic_context *,
const char *));
static int process_option_with_no PARAMS ((const char *,
const struct string_option *,
int));
static tree java_tree_inlining_walk_subtrees PARAMS ((tree *,
int *,
walk_tree_fn,
void *,
void *));
static int java_unsafe_for_reeval PARAMS ((tree));
static int merge_init_test_initialization PARAMS ((void * *,
void *));
static int inline_init_test_initialization PARAMS ((void * *,
void *));
static bool java_can_use_bit_fields_p PARAMS ((void));
static int java_dump_tree PARAMS ((void *, tree));
static void dump_compound_expr PARAMS ((dump_info_p, tree));
static const char *java_init (const char *);
static void java_finish (void);
static void java_init_options (void);
static bool java_post_options (void);
static int java_decode_option (int, char **);
static void put_decl_string (const char *, int);
static void put_decl_node (tree);
static void java_print_error_function (diagnostic_context *, const char *);
static int process_option_with_no (const char *, const struct string_option *, int);
static tree java_tree_inlining_walk_subtrees (tree *, int *, walk_tree_fn,
void *, void *);
static int java_unsafe_for_reeval (tree);
static int merge_init_test_initialization (void * *, void *);
static int inline_init_test_initialization (void * *, void *);
static bool java_can_use_bit_fields_p (void);
static int java_dump_tree (void *, tree);
static void dump_compound_expr (dump_info_p, tree);
#ifndef TARGET_OBJECT_SUFFIX
# define TARGET_OBJECT_SUFFIX ".o"
......
......@@ -40,35 +40,34 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "chartables.h"
/* Function declarations. */
static char *java_sprint_unicode PARAMS ((struct java_line *, int));
static void java_unicode_2_utf8 PARAMS ((unicode_t));
static void java_lex_error PARAMS ((const char *, int));
static char *java_sprint_unicode (struct java_line *, int);
static void java_unicode_2_utf8 (unicode_t);
static void java_lex_error (const char *, int);
#ifndef JC1_LITE
static int java_is_eol PARAMS ((FILE *, int));
static tree build_wfl_node PARAMS ((tree));
static int java_is_eol (FILE *, int);
static tree build_wfl_node (tree);
#endif
static void java_store_unicode PARAMS ((struct java_line *, unicode_t, int));
static int java_parse_escape_sequence PARAMS ((void));
static int java_start_char_p PARAMS ((unicode_t));
static int java_part_char_p PARAMS ((unicode_t));
static int java_parse_doc_section PARAMS ((int));
static void java_parse_end_comment PARAMS ((int));
static int java_get_unicode PARAMS ((void));
static int java_read_unicode PARAMS ((java_lexer *, int *));
static int java_read_unicode_collapsing_terminators PARAMS ((java_lexer *,
int *));
static void java_store_unicode PARAMS ((struct java_line *, unicode_t, int));
static int java_read_char PARAMS ((java_lexer *));
static void java_allocate_new_line PARAMS ((void));
static void java_unget_unicode PARAMS ((void));
static unicode_t java_sneak_unicode PARAMS ((void));
static void java_store_unicode (struct java_line *, unicode_t, int);
static int java_parse_escape_sequence (void);
static int java_start_char_p (unicode_t);
static int java_part_char_p (unicode_t);
static int java_parse_doc_section (int);
static void java_parse_end_comment (int);
static int java_get_unicode (void);
static int java_read_unicode (java_lexer *, int *);
static int java_read_unicode_collapsing_terminators (java_lexer *, int *);
static void java_store_unicode (struct java_line *, unicode_t, int);
static int java_read_char (java_lexer *);
static void java_allocate_new_line (void);
static void java_unget_unicode (void);
static unicode_t java_sneak_unicode (void);
#ifndef JC1_LITE
static int utf8_cmp PARAMS ((const unsigned char *, int, const char *));
static int utf8_cmp (const unsigned char *, int, const char *);
#endif
java_lexer *java_new_lexer PARAMS ((FILE *, const char *));
java_lexer *java_new_lexer (FILE *, const char *);
#ifndef JC1_LITE
static void error_if_numeric_overflow PARAMS ((tree));
static void error_if_numeric_overflow (tree);
#endif
#ifdef HAVE_ICONV
......@@ -838,7 +837,7 @@ java_parse_escape_sequence ()
with an 'f', indicating it is of type 'float'; NUMBER_BEGINNING
is the line number on which to report any error. */
static void java_perform_atof PARAMS ((YYSTYPE *, char *, int, int));
static void java_perform_atof (YYSTYPE *, char *, int, int);
static void
java_perform_atof (java_lval, literal_token, fflag, number_beginning)
......@@ -888,7 +887,7 @@ java_perform_atof (java_lval, literal_token, fflag, number_beginning)
}
#endif
static int yylex PARAMS ((YYSTYPE *));
static int yylex (YYSTYPE *);
static int
#ifdef JC1_LITE
......
......@@ -158,7 +158,7 @@ typedef struct java_lexer
} java_lexer;
/* Destroy a lexer object. */
extern void java_destroy_lexer PARAMS ((java_lexer *));
extern void java_destroy_lexer (java_lexer *);
#define JAVA_LINE_MAX 80
......
......@@ -38,28 +38,28 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "obstack.h"
#include "ggc.h"
static void mangle_field_decl PARAMS ((tree));
static void mangle_method_decl PARAMS ((tree));
static void mangle_field_decl (tree);
static void mangle_method_decl (tree);
static void mangle_type PARAMS ((tree));
static void mangle_pointer_type PARAMS ((tree));
static void mangle_array_type PARAMS ((tree));
static int mangle_record_type PARAMS ((tree, int));
static void mangle_type (tree);
static void mangle_pointer_type (tree);
static void mangle_array_type (tree);
static int mangle_record_type (tree, int);
static int find_compression_pointer_match PARAMS ((tree));
static int find_compression_array_match PARAMS ((tree));
static int find_compression_record_match PARAMS ((tree, tree *));
static int find_compression_array_template_match PARAMS ((tree));
static int find_compression_pointer_match (tree);
static int find_compression_array_match (tree);
static int find_compression_record_match (tree, tree *);
static int find_compression_array_template_match (tree);
static void set_type_package_list PARAMS ((tree));
static int entry_match_pointer_p PARAMS ((tree, int));
static void emit_compression_string PARAMS ((int));
static void set_type_package_list (tree);
static int entry_match_pointer_p (tree, int);
static void emit_compression_string (int);
static void init_mangling PARAMS ((struct obstack *));
static tree finish_mangling PARAMS ((void));
static void compression_table_add PARAMS ((tree));
static void init_mangling (struct obstack *);
static tree finish_mangling (void);
static void compression_table_add (tree);
static void mangle_member_name PARAMS ((tree));
static void mangle_member_name (tree);
/* We use an incoming obstack, always to be provided to the interface
functions. */
......
......@@ -35,9 +35,9 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "obstack.h"
#include "toplev.h"
static void append_unicode_mangled_name PARAMS ((const char *, int));
static void append_unicode_mangled_name (const char *, int);
#ifndef HAVE_AS_UTF8
static int unicode_mangling_length PARAMS ((const char *, int));
static int unicode_mangling_length (const char *, int);
#endif
extern struct obstack *mangle_obstack;
......
......@@ -116,15 +116,15 @@ struct method_declarator {
}
/* Two actions for this grammar */
static int make_class_name_recursive PARAMS ((struct obstack *stack,
struct class_context *ctx));
static char *get_class_name PARAMS ((void));
static void report_class_declaration PARAMS ((const char *));
static void report_main_declaration PARAMS ((struct method_declarator *));
static void push_class_context PARAMS ((const char *));
static void pop_class_context PARAMS ((void));
void report PARAMS ((void));
static int make_class_name_recursive (struct obstack *stack,
struct class_context *ctx);
static char *get_class_name (void);
static void report_class_declaration (const char *);
static void report_main_declaration (struct method_declarator *);
static void push_class_context (const char *);
static void pop_class_context (void);
void report (void);
#include "lex.h"
#include "parse.h"
......
......@@ -36,8 +36,8 @@ extern int quiet_flag;
#ifndef JC1_LITE
/* Function extern to java/ */
extern int int_fits_type_p PARAMS ((tree, tree));
extern tree stabilize_reference PARAMS ((tree));
extern int int_fits_type_p (tree, tree);
extern tree stabilize_reference (tree);
#endif
/* Macros for verbose debug info */
......@@ -920,32 +920,32 @@ struct parser_ctxt {
#define JAVA_RADIX10_FLAG(NODE) TREE_LANG_FLAG_0(NODE)
#ifndef JC1_LITE
void java_complete_class PARAMS ((void));
void java_check_circular_reference PARAMS ((void));
void java_fix_constructors PARAMS ((void));
void java_layout_classes PARAMS ((void));
void java_reorder_fields PARAMS ((void));
tree java_method_add_stmt PARAMS ((tree, tree));
int java_report_errors PARAMS ((void));
extern tree do_resolve_class PARAMS ((tree, tree, tree, tree));
void java_complete_class (void);
void java_check_circular_reference (void);
void java_fix_constructors (void);
void java_layout_classes (void);
void java_reorder_fields (void);
tree java_method_add_stmt (tree, tree);
int java_report_errors (void);
extern tree do_resolve_class (tree, tree, tree, tree);
#endif
char *java_get_line_col PARAMS ((const char *, int, int));
extern void reset_report PARAMS ((void));
char *java_get_line_col (const char *, int, int);
extern void reset_report (void);
/* Always in use, no matter what you compile */
void java_push_parser_context PARAMS ((void));
void java_pop_parser_context PARAMS ((int));
void java_init_lex PARAMS ((FILE *, const char *));
extern void java_parser_context_save_global PARAMS ((void));
extern void java_parser_context_restore_global PARAMS ((void));
int yyparse PARAMS ((void));
extern int java_parse PARAMS ((void));
extern void yyerror PARAMS ((const char *))
void java_push_parser_context (void);
void java_pop_parser_context (int);
void java_init_lex (FILE *, const char *);
extern void java_parser_context_save_global (void);
extern void java_parser_context_restore_global (void);
int yyparse (void);
extern int java_parse (void);
extern void yyerror (const char *)
#ifdef JC1_LITE
ATTRIBUTE_NORETURN
#endif
;
extern void java_expand_classes PARAMS ((void));
extern void java_expand_classes (void);
extern struct parser_ctxt *ctxp;
extern struct parser_ctxt *ctxp_for_generation;
......
......@@ -73,272 +73,261 @@ definitions and other extensions. */
#include "tree-inline.h"
/* Local function prototypes */
static char *java_accstring_lookup PARAMS ((int));
static void classitf_redefinition_error PARAMS ((const char *,tree, tree, tree));
static void variable_redefinition_error PARAMS ((tree, tree, tree, int));
static tree create_class PARAMS ((int, tree, tree, tree));
static tree create_interface PARAMS ((int, tree, tree));
static void end_class_declaration PARAMS ((int));
static tree find_field PARAMS ((tree, tree));
static tree lookup_field_wrapper PARAMS ((tree, tree));
static int duplicate_declaration_error_p PARAMS ((tree, tree, tree));
static void register_fields PARAMS ((int, tree, tree));
static tree parser_qualified_classname PARAMS ((tree));
static int parser_check_super PARAMS ((tree, tree, tree));
static int parser_check_super_interface PARAMS ((tree, tree, tree));
static void check_modifiers_consistency PARAMS ((int));
static tree lookup_cl PARAMS ((tree));
static tree lookup_java_method2 PARAMS ((tree, tree, int));
static tree method_header PARAMS ((int, tree, tree, tree));
static void fix_method_argument_names PARAMS ((tree ,tree));
static tree method_declarator PARAMS ((tree, tree));
static void parse_warning_context PARAMS ((tree cl, const char *msg, ...))
static char *java_accstring_lookup (int);
static void classitf_redefinition_error (const char *,tree, tree, tree);
static void variable_redefinition_error (tree, tree, tree, int);
static tree create_class (int, tree, tree, tree);
static tree create_interface (int, tree, tree);
static void end_class_declaration (int);
static tree find_field (tree, tree);
static tree lookup_field_wrapper (tree, tree);
static int duplicate_declaration_error_p (tree, tree, tree);
static void register_fields (int, tree, tree);
static tree parser_qualified_classname (tree);
static int parser_check_super (tree, tree, tree);
static int parser_check_super_interface (tree, tree, tree);
static void check_modifiers_consistency (int);
static tree lookup_cl (tree);
static tree lookup_java_method2 (tree, tree, int);
static tree method_header (int, tree, tree, tree);
static void fix_method_argument_names (tree ,tree);
static tree method_declarator (tree, tree);
static void parse_warning_context (tree cl, const char *msg, ...)
ATTRIBUTE_PRINTF_2;
static void issue_warning_error_from_context PARAMS ((tree, const char *msg, va_list))
static void issue_warning_error_from_context (tree, const char *msg, va_list)
ATTRIBUTE_PRINTF (2, 0);
static void parse_ctor_invocation_error PARAMS ((void));
static tree parse_jdk1_1_error PARAMS ((const char *));
static void complete_class_report_errors PARAMS ((jdep *));
static int process_imports PARAMS ((void));
static void read_import_dir PARAMS ((tree));
static int find_in_imports_on_demand PARAMS ((tree, tree));
static void find_in_imports PARAMS ((tree, tree));
static void check_inner_class_access PARAMS ((tree, tree, tree));
static int check_pkg_class_access PARAMS ((tree, tree, bool));
static void register_package PARAMS ((tree));
static tree resolve_package PARAMS ((tree, tree *, tree *));
static tree resolve_class PARAMS ((tree, tree, tree, tree));
static void declare_local_variables PARAMS ((int, tree, tree));
static void dump_java_tree PARAMS ((enum tree_dump_index, tree));
static void source_start_java_method PARAMS ((tree));
static void source_end_java_method PARAMS ((void));
static tree find_name_in_single_imports PARAMS ((tree));
static void check_abstract_method_header PARAMS ((tree));
static tree lookup_java_interface_method2 PARAMS ((tree, tree));
static tree resolve_expression_name PARAMS ((tree, tree *));
static tree maybe_create_class_interface_decl PARAMS ((tree, tree, tree, tree));
static int check_class_interface_creation PARAMS ((int, int, tree,
tree, tree, tree));
static tree patch_method_invocation PARAMS ((tree, tree, tree, int,
int *, tree *));
static int breakdown_qualified PARAMS ((tree *, tree *, tree));
static int in_same_package PARAMS ((tree, tree));
static tree resolve_and_layout PARAMS ((tree, tree));
static tree qualify_and_find PARAMS ((tree, tree, tree));
static tree resolve_no_layout PARAMS ((tree, tree));
static int invocation_mode PARAMS ((tree, int));
static tree find_applicable_accessible_methods_list PARAMS ((int, tree,
tree, tree));
static void search_applicable_methods_list PARAMS ((int, tree, tree, tree,
tree *, tree *));
static tree find_most_specific_methods_list PARAMS ((tree));
static int argument_types_convertible PARAMS ((tree, tree));
static tree patch_invoke PARAMS ((tree, tree, tree));
static int maybe_use_access_method PARAMS ((int, tree *, tree *));
static tree lookup_method_invoke PARAMS ((int, tree, tree, tree, tree));
static tree register_incomplete_type PARAMS ((int, tree, tree, tree));
static tree check_inner_circular_reference PARAMS ((tree, tree));
static tree check_circular_reference PARAMS ((tree));
static tree obtain_incomplete_type PARAMS ((tree));
static tree java_complete_lhs PARAMS ((tree));
static tree java_complete_tree PARAMS ((tree));
static tree maybe_generate_pre_expand_clinit PARAMS ((tree));
static int analyze_clinit_body PARAMS ((tree, tree));
static int maybe_yank_clinit PARAMS ((tree));
static void start_complete_expand_method PARAMS ((tree));
static void java_complete_expand_method PARAMS ((tree));
static void java_expand_method_bodies PARAMS ((tree));
static int unresolved_type_p PARAMS ((tree, tree *));
static void create_jdep_list PARAMS ((struct parser_ctxt *));
static tree build_expr_block PARAMS ((tree, tree));
static tree enter_block PARAMS ((void));
static tree exit_block PARAMS ((void));
static tree lookup_name_in_blocks PARAMS ((tree));
static void maybe_absorb_scoping_blocks PARAMS ((void));
static tree build_method_invocation PARAMS ((tree, tree));
static tree build_new_invocation PARAMS ((tree, tree));
static tree build_assignment PARAMS ((int, int, tree, tree));
static tree build_binop PARAMS ((enum tree_code, int, tree, tree));
static tree patch_assignment PARAMS ((tree, tree));
static tree patch_binop PARAMS ((tree, tree, tree));
static tree build_unaryop PARAMS ((int, int, tree));
static tree build_incdec PARAMS ((int, int, tree, int));
static tree patch_unaryop PARAMS ((tree, tree));
static tree build_cast PARAMS ((int, tree, tree));
static tree build_null_of_type PARAMS ((tree));
static tree patch_cast PARAMS ((tree, tree));
static int valid_ref_assignconv_cast_p PARAMS ((tree, tree, int));
static int valid_builtin_assignconv_identity_widening_p PARAMS ((tree, tree));
static int valid_cast_to_p PARAMS ((tree, tree));
static int valid_method_invocation_conversion_p PARAMS ((tree, tree));
static tree try_builtin_assignconv PARAMS ((tree, tree, tree));
static tree try_reference_assignconv PARAMS ((tree, tree));
static tree build_unresolved_array_type PARAMS ((tree));
static int build_type_name_from_array_name PARAMS ((tree, tree *));
static tree build_array_from_name PARAMS ((tree, tree, tree, tree *));
static tree build_array_ref PARAMS ((int, tree, tree));
static tree patch_array_ref PARAMS ((tree));
static tree make_qualified_name PARAMS ((tree, tree, int));
static tree merge_qualified_name PARAMS ((tree, tree));
static tree make_qualified_primary PARAMS ((tree, tree, int));
static int resolve_qualified_expression_name PARAMS ((tree, tree *,
tree *, tree *));
static void qualify_ambiguous_name PARAMS ((tree));
static tree resolve_field_access PARAMS ((tree, tree *, tree *));
static tree build_newarray_node PARAMS ((tree, tree, int));
static tree patch_newarray PARAMS ((tree));
static tree resolve_type_during_patch PARAMS ((tree));
static tree build_this PARAMS ((int));
static tree build_wfl_wrap PARAMS ((tree, int));
static tree build_return PARAMS ((int, tree));
static tree patch_return PARAMS ((tree));
static tree maybe_access_field PARAMS ((tree, tree, tree));
static int complete_function_arguments PARAMS ((tree));
static int check_for_static_method_reference PARAMS ((tree, tree, tree,
tree, tree));
static int not_accessible_p PARAMS ((tree, tree, tree, int));
static void check_deprecation PARAMS ((tree, tree));
static int class_in_current_package PARAMS ((tree));
static tree build_if_else_statement PARAMS ((int, tree, tree, tree));
static tree patch_if_else_statement PARAMS ((tree));
static tree add_stmt_to_compound PARAMS ((tree, tree, tree));
static tree add_stmt_to_block PARAMS ((tree, tree, tree));
static tree patch_exit_expr PARAMS ((tree));
static tree build_labeled_block PARAMS ((int, tree));
static tree finish_labeled_statement PARAMS ((tree, tree));
static tree build_bc_statement PARAMS ((int, int, tree));
static tree patch_bc_statement PARAMS ((tree));
static tree patch_loop_statement PARAMS ((tree));
static tree build_new_loop PARAMS ((tree));
static tree build_loop_body PARAMS ((int, tree, int));
static tree finish_loop_body PARAMS ((int, tree, tree, int));
static tree build_debugable_stmt PARAMS ((int, tree));
static tree finish_for_loop PARAMS ((int, tree, tree, tree));
static tree patch_switch_statement PARAMS ((tree));
static tree string_constant_concatenation PARAMS ((tree, tree));
static tree build_string_concatenation PARAMS ((tree, tree));
static tree patch_string_cst PARAMS ((tree));
static tree patch_string PARAMS ((tree));
static tree encapsulate_with_try_catch PARAMS ((int, tree, tree, tree));
static tree build_assertion PARAMS ((int, tree, tree));
static tree build_try_statement PARAMS ((int, tree, tree));
static tree build_try_finally_statement PARAMS ((int, tree, tree));
static tree patch_try_statement PARAMS ((tree));
static tree patch_synchronized_statement PARAMS ((tree, tree));
static tree patch_throw_statement PARAMS ((tree, tree));
static void check_thrown_exceptions PARAMS ((int, tree));
static int check_thrown_exceptions_do PARAMS ((tree));
static void purge_unchecked_exceptions PARAMS ((tree));
static bool ctors_unchecked_throws_clause_p PARAMS ((tree));
static void check_throws_clauses PARAMS ((tree, tree, tree));
static void finish_method_declaration PARAMS ((tree));
static tree build_super_invocation PARAMS ((tree));
static int verify_constructor_circularity PARAMS ((tree, tree));
static char *constructor_circularity_msg PARAMS ((tree, tree));
static tree build_this_super_qualified_invocation PARAMS ((int, tree, tree,
int, int));
static const char *get_printable_method_name PARAMS ((tree));
static tree patch_conditional_expr PARAMS ((tree, tree, tree));
static tree generate_finit PARAMS ((tree));
static tree generate_instinit PARAMS ((tree));
static tree build_instinit_invocation PARAMS ((tree));
static void fix_constructors PARAMS ((tree));
static tree build_alias_initializer_parameter_list PARAMS ((int, tree,
tree, int *));
static tree craft_constructor PARAMS ((tree, tree));
static int verify_constructor_super PARAMS ((tree));
static tree create_artificial_method PARAMS ((tree, int, tree, tree, tree));
static void start_artificial_method_body PARAMS ((tree));
static void end_artificial_method_body PARAMS ((tree));
static int check_method_redefinition PARAMS ((tree, tree));
static int check_method_types_complete PARAMS ((tree));
static void java_check_regular_methods PARAMS ((tree));
static void java_check_abstract_methods PARAMS ((tree));
static void unreachable_stmt_error PARAMS ((tree));
static tree find_expr_with_wfl PARAMS ((tree));
static void missing_return_error PARAMS ((tree));
static tree build_new_array_init PARAMS ((int, tree));
static tree patch_new_array_init PARAMS ((tree, tree));
static tree maybe_build_array_element_wfl PARAMS ((tree));
static int array_constructor_check_entry PARAMS ((tree, tree));
static const char *purify_type_name PARAMS ((const char *));
static tree fold_constant_for_init PARAMS ((tree, tree));
static tree strip_out_static_field_access_decl PARAMS ((tree));
static jdeplist *reverse_jdep_list PARAMS ((struct parser_ctxt *));
static void static_ref_err PARAMS ((tree, tree, tree));
static void parser_add_interface PARAMS ((tree, tree, tree));
static void add_superinterfaces PARAMS ((tree, tree));
static tree jdep_resolve_class PARAMS ((jdep *));
static int note_possible_classname PARAMS ((const char *, int));
static void java_complete_expand_classes PARAMS ((void));
static void java_complete_expand_class PARAMS ((tree));
static void java_complete_expand_methods PARAMS ((tree));
static tree cut_identifier_in_qualified PARAMS ((tree));
static tree java_stabilize_reference PARAMS ((tree));
static tree do_unary_numeric_promotion PARAMS ((tree));
static char * operator_string PARAMS ((tree));
static tree do_merge_string_cste PARAMS ((tree, const char *, int, int));
static tree merge_string_cste PARAMS ((tree, tree, int));
static tree java_refold PARAMS ((tree));
static int java_decl_equiv PARAMS ((tree, tree));
static int binop_compound_p PARAMS ((enum tree_code));
static tree search_loop PARAMS ((tree));
static int labeled_block_contains_loop_p PARAMS ((tree, tree));
static int check_abstract_method_definitions PARAMS ((int, tree, tree));
static void java_check_abstract_method_definitions PARAMS ((tree));
static void java_debug_context_do PARAMS ((int));
static void java_parser_context_push_initialized_field PARAMS ((void));
static void java_parser_context_pop_initialized_field PARAMS ((void));
static tree reorder_static_initialized PARAMS ((tree));
static void java_parser_context_suspend PARAMS ((void));
static void java_parser_context_resume PARAMS ((void));
static int pop_current_osb PARAMS ((struct parser_ctxt *));
static void parse_ctor_invocation_error (void);
static tree parse_jdk1_1_error (const char *);
static void complete_class_report_errors (jdep *);
static int process_imports (void);
static void read_import_dir (tree);
static int find_in_imports_on_demand (tree, tree);
static void find_in_imports (tree, tree);
static void check_inner_class_access (tree, tree, tree);
static int check_pkg_class_access (tree, tree, bool);
static void register_package (tree);
static tree resolve_package (tree, tree *, tree *);
static tree resolve_class (tree, tree, tree, tree);
static void declare_local_variables (int, tree, tree);
static void dump_java_tree (enum tree_dump_index, tree);
static void source_start_java_method (tree);
static void source_end_java_method (void);
static tree find_name_in_single_imports (tree);
static void check_abstract_method_header (tree);
static tree lookup_java_interface_method2 (tree, tree);
static tree resolve_expression_name (tree, tree *);
static tree maybe_create_class_interface_decl (tree, tree, tree, tree);
static int check_class_interface_creation (int, int, tree, tree, tree, tree);
static tree patch_method_invocation (tree, tree, tree, int, int *, tree *);
static int breakdown_qualified (tree *, tree *, tree);
static int in_same_package (tree, tree);
static tree resolve_and_layout (tree, tree);
static tree qualify_and_find (tree, tree, tree);
static tree resolve_no_layout (tree, tree);
static int invocation_mode (tree, int);
static tree find_applicable_accessible_methods_list (int, tree, tree, tree);
static void search_applicable_methods_list (int, tree, tree, tree, tree *, tree *);
static tree find_most_specific_methods_list (tree);
static int argument_types_convertible (tree, tree);
static tree patch_invoke (tree, tree, tree);
static int maybe_use_access_method (int, tree *, tree *);
static tree lookup_method_invoke (int, tree, tree, tree, tree);
static tree register_incomplete_type (int, tree, tree, tree);
static tree check_inner_circular_reference (tree, tree);
static tree check_circular_reference (tree);
static tree obtain_incomplete_type (tree);
static tree java_complete_lhs (tree);
static tree java_complete_tree (tree);
static tree maybe_generate_pre_expand_clinit (tree);
static int analyze_clinit_body (tree, tree);
static int maybe_yank_clinit (tree);
static void start_complete_expand_method (tree);
static void java_complete_expand_method (tree);
static void java_expand_method_bodies (tree);
static int unresolved_type_p (tree, tree *);
static void create_jdep_list (struct parser_ctxt *);
static tree build_expr_block (tree, tree);
static tree enter_block (void);
static tree exit_block (void);
static tree lookup_name_in_blocks (tree);
static void maybe_absorb_scoping_blocks (void);
static tree build_method_invocation (tree, tree);
static tree build_new_invocation (tree, tree);
static tree build_assignment (int, int, tree, tree);
static tree build_binop (enum tree_code, int, tree, tree);
static tree patch_assignment (tree, tree);
static tree patch_binop (tree, tree, tree);
static tree build_unaryop (int, int, tree);
static tree build_incdec (int, int, tree, int);
static tree patch_unaryop (tree, tree);
static tree build_cast (int, tree, tree);
static tree build_null_of_type (tree);
static tree patch_cast (tree, tree);
static int valid_ref_assignconv_cast_p (tree, tree, int);
static int valid_builtin_assignconv_identity_widening_p (tree, tree);
static int valid_cast_to_p (tree, tree);
static int valid_method_invocation_conversion_p (tree, tree);
static tree try_builtin_assignconv (tree, tree, tree);
static tree try_reference_assignconv (tree, tree);
static tree build_unresolved_array_type (tree);
static int build_type_name_from_array_name (tree, tree *);
static tree build_array_from_name (tree, tree, tree, tree *);
static tree build_array_ref (int, tree, tree);
static tree patch_array_ref (tree);
static tree make_qualified_name (tree, tree, int);
static tree merge_qualified_name (tree, tree);
static tree make_qualified_primary (tree, tree, int);
static int resolve_qualified_expression_name (tree, tree *, tree *, tree *);
static void qualify_ambiguous_name (tree);
static tree resolve_field_access (tree, tree *, tree *);
static tree build_newarray_node (tree, tree, int);
static tree patch_newarray (tree);
static tree resolve_type_during_patch (tree);
static tree build_this (int);
static tree build_wfl_wrap (tree, int);
static tree build_return (int, tree);
static tree patch_return (tree);
static tree maybe_access_field (tree, tree, tree);
static int complete_function_arguments (tree);
static int check_for_static_method_reference (tree, tree, tree, tree, tree);
static int not_accessible_p (tree, tree, tree, int);
static void check_deprecation (tree, tree);
static int class_in_current_package (tree);
static tree build_if_else_statement (int, tree, tree, tree);
static tree patch_if_else_statement (tree);
static tree add_stmt_to_compound (tree, tree, tree);
static tree add_stmt_to_block (tree, tree, tree);
static tree patch_exit_expr (tree);
static tree build_labeled_block (int, tree);
static tree finish_labeled_statement (tree, tree);
static tree build_bc_statement (int, int, tree);
static tree patch_bc_statement (tree);
static tree patch_loop_statement (tree);
static tree build_new_loop (tree);
static tree build_loop_body (int, tree, int);
static tree finish_loop_body (int, tree, tree, int);
static tree build_debugable_stmt (int, tree);
static tree finish_for_loop (int, tree, tree, tree);
static tree patch_switch_statement (tree);
static tree string_constant_concatenation (tree, tree);
static tree build_string_concatenation (tree, tree);
static tree patch_string_cst (tree);
static tree patch_string (tree);
static tree encapsulate_with_try_catch (int, tree, tree, tree);
static tree build_assertion (int, tree, tree);
static tree build_try_statement (int, tree, tree);
static tree build_try_finally_statement (int, tree, tree);
static tree patch_try_statement (tree);
static tree patch_synchronized_statement (tree, tree);
static tree patch_throw_statement (tree, tree);
static void check_thrown_exceptions (int, tree);
static int check_thrown_exceptions_do (tree);
static void purge_unchecked_exceptions (tree);
static bool ctors_unchecked_throws_clause_p (tree);
static void check_throws_clauses (tree, tree, tree);
static void finish_method_declaration (tree);
static tree build_super_invocation (tree);
static int verify_constructor_circularity (tree, tree);
static char *constructor_circularity_msg (tree, tree);
static tree build_this_super_qualified_invocation (int, tree, tree, int, int);
static const char *get_printable_method_name (tree);
static tree patch_conditional_expr (tree, tree, tree);
static tree generate_finit (tree);
static tree generate_instinit (tree);
static tree build_instinit_invocation (tree);
static void fix_constructors (tree);
static tree build_alias_initializer_parameter_list (int, tree, tree, int *);
static tree craft_constructor (tree, tree);
static int verify_constructor_super (tree);
static tree create_artificial_method (tree, int, tree, tree, tree);
static void start_artificial_method_body (tree);
static void end_artificial_method_body (tree);
static int check_method_redefinition (tree, tree);
static int check_method_types_complete (tree);
static void java_check_regular_methods (tree);
static void java_check_abstract_methods (tree);
static void unreachable_stmt_error (tree);
static tree find_expr_with_wfl (tree);
static void missing_return_error (tree);
static tree build_new_array_init (int, tree);
static tree patch_new_array_init (tree, tree);
static tree maybe_build_array_element_wfl (tree);
static int array_constructor_check_entry (tree, tree);
static const char *purify_type_name (const char *);
static tree fold_constant_for_init (tree, tree);
static tree strip_out_static_field_access_decl (tree);
static jdeplist *reverse_jdep_list (struct parser_ctxt *);
static void static_ref_err (tree, tree, tree);
static void parser_add_interface (tree, tree, tree);
static void add_superinterfaces (tree, tree);
static tree jdep_resolve_class (jdep *);
static int note_possible_classname (const char *, int);
static void java_complete_expand_classes (void);
static void java_complete_expand_class (tree);
static void java_complete_expand_methods (tree);
static tree cut_identifier_in_qualified (tree);
static tree java_stabilize_reference (tree);
static tree do_unary_numeric_promotion (tree);
static char * operator_string (tree);
static tree do_merge_string_cste (tree, const char *, int, int);
static tree merge_string_cste (tree, tree, int);
static tree java_refold (tree);
static int java_decl_equiv (tree, tree);
static int binop_compound_p (enum tree_code);
static tree search_loop (tree);
static int labeled_block_contains_loop_p (tree, tree);
static int check_abstract_method_definitions (int, tree, tree);
static void java_check_abstract_method_definitions (tree);
static void java_debug_context_do (int);
static void java_parser_context_push_initialized_field (void);
static void java_parser_context_pop_initialized_field (void);
static tree reorder_static_initialized (tree);
static void java_parser_context_suspend (void);
static void java_parser_context_resume (void);
static int pop_current_osb (struct parser_ctxt *);
/* JDK 1.1 work. FIXME */
static tree maybe_make_nested_class_name PARAMS ((tree));
static int make_nested_class_name PARAMS ((tree));
static void set_nested_class_simple_name_value PARAMS ((tree, int));
static void link_nested_class_to_enclosing PARAMS ((void));
static tree resolve_inner_class PARAMS ((htab_t, tree, tree *, tree *, tree));
static tree find_as_inner_class PARAMS ((tree, tree, tree));
static tree find_as_inner_class_do PARAMS ((tree, tree));
static int check_inner_class_redefinition PARAMS ((tree, tree));
static tree build_thisn_assign PARAMS ((void));
static tree build_current_thisn PARAMS ((tree));
static tree build_access_to_thisn PARAMS ((tree, tree, int));
static tree maybe_build_thisn_access_method PARAMS ((tree));
static tree build_outer_field_access PARAMS ((tree, tree));
static tree build_outer_field_access_methods PARAMS ((tree));
static tree build_outer_field_access_expr PARAMS ((int, tree, tree,
tree, tree));
static tree build_outer_method_access_method PARAMS ((tree));
static tree build_new_access_id PARAMS ((void));
static tree build_outer_field_access_method PARAMS ((tree, tree, tree,
tree, tree));
static int outer_field_access_p PARAMS ((tree, tree));
static int outer_field_expanded_access_p PARAMS ((tree, tree *,
tree *, tree *));
static tree outer_field_access_fix PARAMS ((tree, tree, tree));
static tree build_incomplete_class_ref PARAMS ((int, tree));
static tree patch_incomplete_class_ref PARAMS ((tree));
static tree create_anonymous_class PARAMS ((int, tree));
static void patch_anonymous_class PARAMS ((tree, tree, tree));
static void add_inner_class_fields PARAMS ((tree, tree));
static tree build_dot_class_method PARAMS ((tree));
static tree build_dot_class_method_invocation PARAMS ((tree));
static void create_new_parser_context PARAMS ((int));
static void mark_parser_ctxt PARAMS ((void *));
static tree maybe_build_class_init_for_field PARAMS ((tree, tree));
static int attach_init_test_initialization_flags PARAMS ((PTR *, PTR));
static int emit_test_initialization PARAMS ((PTR *, PTR));
static char *string_convert_int_cst PARAMS ((tree));
static tree maybe_make_nested_class_name (tree);
static int make_nested_class_name (tree);
static void set_nested_class_simple_name_value (tree, int);
static void link_nested_class_to_enclosing (void);
static tree resolve_inner_class (htab_t, tree, tree *, tree *, tree);
static tree find_as_inner_class (tree, tree, tree);
static tree find_as_inner_class_do (tree, tree);
static int check_inner_class_redefinition (tree, tree);
static tree build_thisn_assign (void);
static tree build_current_thisn (tree);
static tree build_access_to_thisn (tree, tree, int);
static tree maybe_build_thisn_access_method (tree);
static tree build_outer_field_access (tree, tree);
static tree build_outer_field_access_methods (tree);
static tree build_outer_field_access_expr (int, tree, tree, tree, tree);
static tree build_outer_method_access_method (tree);
static tree build_new_access_id (void);
static tree build_outer_field_access_method (tree, tree, tree, tree, tree);
static int outer_field_access_p (tree, tree);
static int outer_field_expanded_access_p (tree, tree *, tree *, tree *);
static tree outer_field_access_fix (tree, tree, tree);
static tree build_incomplete_class_ref (int, tree);
static tree patch_incomplete_class_ref (tree);
static tree create_anonymous_class (int, tree);
static void patch_anonymous_class (tree, tree, tree);
static void add_inner_class_fields (tree, tree);
static tree build_dot_class_method (tree);
static tree build_dot_class_method_invocation (tree);
static void create_new_parser_context (int);
static void mark_parser_ctxt (void *);
static tree maybe_build_class_init_for_field (tree, tree);
static int attach_init_test_initialization_flags (PTR *, PTR);
static int emit_test_initialization (PTR *, PTR);
static char *string_convert_int_cst (tree);
/* Number of error found so far. */
int java_error_count;
......
......@@ -39,11 +39,11 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "toplev.h"
#include "ggc.h"
static tree convert_ieee_real_to_integer PARAMS ((tree, tree));
static tree parse_signature_type PARAMS ((const unsigned char **,
const unsigned char *));
static tree lookup_do PARAMS ((tree, tree, tree, tree, tree (*)(tree)));
static tree build_null_signature PARAMS ((tree));
static tree convert_ieee_real_to_integer (tree, tree);
static tree parse_signature_type (const unsigned char **,
const unsigned char *);
static tree lookup_do (tree, tree, tree, tree, tree (*)(tree));
static tree build_null_signature (tree);
tree * type_map;
......@@ -790,7 +790,7 @@ has_method (class, method_name)
static tree
lookup_do (searched_class, searched_interface, method_name, signature, signature_builder)
tree searched_class, searched_interface, method_name, signature;
tree (*signature_builder) PARAMS ((tree));
tree (*signature_builder) (tree);
{
tree method;
......
......@@ -36,12 +36,12 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
#include "java-except.h"
#include "toplev.h"
static void push_pending_label PARAMS ((tree));
static tree merge_types PARAMS ((tree, tree));
static const char *check_pending_block PARAMS ((tree));
static void type_stack_dup PARAMS ((int, int));
static int start_pc_cmp PARAMS ((const PTR, const PTR));
static char *pop_argument_types PARAMS ((tree));
static void push_pending_label (tree);
static tree merge_types (tree, tree);
static const char *check_pending_block (tree);
static void type_stack_dup (int, int);
static int start_pc_cmp (const PTR, const PTR);
static char *pop_argument_types (tree);
extern int stack_pointer;
......
......@@ -81,7 +81,7 @@ expand_xref (node)
{
/* Maintain these two cached. */
static FILE *fp = NULL;
static void (*current_expand) PARAMS ((FILE *, tree)) = NULL;
static void (*current_expand) (FILE *, tree) = NULL;
if ( !flag_emit_xref )
return;
......
......@@ -24,11 +24,11 @@ of Sun Microsystems, Inc. in the United States and other countries.
The Free Software Foundation is independent of Sun Microsystems, Inc. */
/* Exported functions. */
int xref_flag_value PARAMS ((const char *));
void expand_xref PARAMS ((tree));
void xref_set_data PARAMS ((int, void *));
void *xref_get_data PARAMS ((int));
void xref_set_current_fp PARAMS ((FILE *));
int xref_flag_value (const char *);
void expand_xref (tree);
void xref_set_data (int, void *);
void *xref_get_data (int);
void xref_set_current_fp (FILE *);
/* flag_emit_xref range of possible values. */
......@@ -40,7 +40,7 @@ enum {
typedef struct {
char *key; /* Activator in -fxref=<key> */
void (*expand) PARAMS ((FILE *, tree)); /* Function to write xrefs out */
void (*expand) (FILE *, tree); /* Function to write xrefs out */
FILE *fp; /* fp to use during the call. */
void *data; /* Placeholder for additional data */
} xref_flag_table;
......
......@@ -214,9 +214,9 @@ typedef unsigned long ulg; /* predefined on some systems) & match zip */
/* Prototypes */
/***********************/
static ush makeword PARAMS ((const uch *));
static ulg makelong PARAMS ((const uch *));
static long find_zip_file_start PARAMS ((int fd, long offset));
static ush makeword (const uch *);
static ulg makelong (const uch *);
static long find_zip_file_start (int fd, long offset);
/***********************/
/* Function makeword() */
......
......@@ -60,10 +60,9 @@ extern struct ZipFile *SeenZipFiles;
((ZipDirectory*)((char*)(ZIPD)+(ZIPD)->direntry_size))
#define ZIPMAGIC 0x504b0304
extern ZipFile * opendir_in_zip PARAMS ((const char *, int));
extern int read_zip_archive PARAMS ((ZipFile *));
extern ZipFile * opendir_in_zip (const char *, int);
extern int read_zip_archive (ZipFile *);
#ifdef GCC_JCF_H
extern int read_zip_member PARAMS ((JCF*, ZipDirectory*, ZipFile *));
extern int open_in_zip PARAMS ((struct JCF *, const char *,
const char *, int));
extern int read_zip_member (JCF*, ZipDirectory*, ZipFile *);
extern int open_in_zip (struct JCF *, const char *, const char *, int);
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment