aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
AgeCommit message (Collapse)AuthorFilesLines
2000-03-07decl.c (init_decl_processing): Added new class fields `depth', `ancestors', ↵Bryce McKinlay6-14/+49
and `idt' to class_type_node. 2000-03-06 Bryce McKinlay <bryce@albatross.co.nz> * decl.c (init_decl_processing): Added new class fields `depth', `ancestors', and `idt' to class_type_node. Use _Jv_LookupInterfaceMethodIdx for soft_lookupinterfacemthod_node. * class.c (make_class_data): Push initial values for new fields. * java-tree.h: Updated prototype for `build_invokeinterface'. * expr.c (build_invokeinterface): Changed parameters to accept `method' tree. Calculate index of `method' in its declaring interface. Build call to _Jv_LookupInterfaceMethodIdx. (expand_invoke): Call `build_invokeinterface' with new parameters. * parse.y (patch_invoke): Call `build_invokeinterface' with new parameters. (This is Bryce McKinlay's implementation of the interfaces constant-time dispatch and type checking techniques designed by Per Bothner.) From-SVN: r32381
2000-03-06[multiple changes]Alexandre Petit-Bianco5-70/+132
2000-03-06 Bryce McKinlay <bryce@albatross.co.nz> * typeck.c (lookup_do): Search superinterfaces first when looking up an interface method. From Godmar Back <gback@cs.utah.edu> 2000-03-02 Alexandre Petit-Bianco <apbianco@cygnus.com> * java-tree.h (lookup_argument_method2): Declared. (safe_layout_class): Prototype moved from parse.h. * parse.h (safe_layout_class): Prototype moved to java-tree.h. * parse.y (java_check_regular_methods): Local `super_class' gone. Call lookup_argument_method2 instead of lookup_argument_method. Perform modifier match for methods found declared in implemented interfaces. Fixed indentation problem. Overriding/hiding error report to take place only for methods found in classes. * typeck.c (lookup_argument_method): Changed leading comment. Re-written by calling lookup_do. (lookup_argument_method2): New function. (lookup_java_method): Re-written by calling lookup_do. (lookup_do): New function. From-SVN: r32376
2000-03-06* Make-lang.in (JAVA_SRCS): Added boehm.c, lex.c.Tom Tromey2-1/+5
From-SVN: r32369
2000-03-04Makefile.in (JAVA_OBJS): Added boehm.o.Tom Tromey7-8/+186
* Makefile.in (JAVA_OBJS): Added boehm.o. (boehm.o): New target. * Make-lang.in (JAVA_SRCS): Added boehm.c. * java-tree.h (flag_use_boehm_gc): Declare. (get_boehm_type_descriptor): Declare. * lang.c (lang_f_options): Added `use-boehm-gc'. (flag_use_boehm_gc): New global. * lang-options.h: Added -fuse-boehm-gc. * boehm.c: New file. * class.c (get_dispatch_table): If class uses a Boehm type descriptor, put it in the vtable. (make_class_data): Removed dead code. From-SVN: r32331
2000-03-04* decl.c (init_decl_processing): Initialize sizetype properly.Per Bothner2-1/+6
From-SVN: r32328
2000-02-29c-decl.c (current_function_decl): Move to toplev.c.Martin v. Löwis2-4/+4
* c-decl.c (current_function_decl): Move to toplev.c. (init_decl_processing): Don't add current_function_decl as a ggc root here. * dbxout.c (dbxout_symbol): Change return type to int. (dbxout_symbol_location, dbxout_syms): Likewise. (dbxout_block): Don't emit LBRAC/RBRAC pairs for blocks without any locals. Use current_function_func_begin_label if set. * dbxout.h (dbxout_symbol, dbxout_syms): Change return type. * dwarf2out.c (dwarf2out_begin_prologue): Set current_function_func_begin_label. * final.c (final_start_function): Reset it. * toplev.c (current_function_decl): Define it here. (current_function_func_begin_label): New variable. (main): Add both as ggc roots. * tree.h (current_function_func_begin_label): Declare. * ch/decl.c (current_function_decl): Move to toplev.c. * cp/decl.c (current_function_decl): Move to toplev.c. * f/com.c (current_function_decl): Move to toplev.c. * java/decl.c (current_function_decl): Move to toplev.c. From-SVN: r32268
2000-02-28* Eliminate DECL_FIELD_SIZE.Richard Kenner3-3/+9
* builtins.c (built_in_class_names, built_in_names): New variables. * c-decl.c (finish_struct): Set specified size in DECL_SIZE. * expr.c (expand_expr, case COMPONENT_REF): Get field size from DECL_SIZE, not DECL_FIELD_SIZE. * print-tree.c (print_node): Remove code that prints extra blank lines in some cases. Properly handle inline and builtin function cases. * stor-layout.c (layout_decl): Get specified size from DEC_SIZE. * tree.h (built_in_class_named, built_in_names): New declarations. (union tree_decl): Rename internal unions to u1 and u2 and change some of their components. Add new field built_in_class. (DECL_ALIGN, DECL_INCOMING_RTL, DECL_SAVED_INSNS, DECL_FRAME_SIZE): Reflect above changes. (DECL_FUNCTION_CODE, DECL_BUILT_IN_CLASS): Likewise. (DECL_SET_FUNCTION_CODE, DECL_FIELD_SIZE): Deleted. * objc/objc-act.c (objc_copy_list): Use DECL_SIZE, not DECL_FIELD_SIZE. (encode_field_decl): Likewise; also remove obsolete test for bitfield. * ch/ch-tree.h (DECL_ACTION_NESTING_LEVEL): Use new tree union name. * ch/decl.c (finish_struct): Don't clear DECL_FIELD_SIZE. * ch/typeck.c (make_chill_struct_type): Likewise. (apply_decl_field_layout): General cleanup. Set DECL_SIZE instead of DECL_FIELD_SIZE. * cp/class.c (build_vtbl_or_vbase_field, check_methods): Don't clear DECL_FIELD_SIZE. (check_bitfield_decl, check_field_decls): Set DECL_SIZE, not DECL_FIELD_SIZE. * cp/rtti.c (expand_class_desc): Likewise. * cp/cp-tree.h (DECL_INIT_PRIORITY): Use underlying union name. (THUNK_VCALL_OFFSET): Likewise. (THUNK_DELTA): Reflect changes in ../tree.h. * java/java-tree.h (LABEL_PC): Relect name changes in ../tree.h. (DECL_BIT_INDEX): Use underlying representation. * java/parse.h (DECL_INHERITED_SOURCE_LINE): Likewise. From-SVN: r32249
2000-02-27builtins.c (c_strlen): Use size_diffop and return ssizetype value.Richard Kenner2-1/+5
* builtins.c (c_strlen): Use size_diffop and return ssizetype value. (expand_builtin_strcpy): Pass correct type to size_binop. (expand_builtin_strcmp): Likewise. Clean up conditional structure. * c-decl.c (init_decl_processing): Don't call set_sizetype twice. (complete_array_type): Don't use size_binop for MAXINDEX. * c-typeck.c (c_sizeof): Use size_one_node and TYPE_SIZE_UNIT. (c_sizeof_nowarn, c_size_in_bytes): Likewise. (c_alignof): Use size_one_node. (build_unary_op): Pass arg of proper type to size_binop. (really_start_incremental_init, push_init_level): Use sizetype for constructor{,_bit,_unfilled}_index. (pop_init_label, output_init_element): Likewise. (output_pending_init_elements, process_init_element): Likewise. * calls.c (compute_argument_block_size): Field VAR is ssizetype. * expr.c (store_expr): Use size_int. (store_constructor): Use proper types for size_binop args. (get_inner_reference, expand_expr, case ARRAY_REF): Likewise. (expand_expr_unaligned): Likewise. (string_contant): Return object of sizetype. * expr.h (SUB_PARM_SIZE): Call size_diffop and pass proper types. (ARGS_SIZE_RTX): Call ARGS_SIZE_TREE. (ARGS_SIZE_TREE): Pass proper types to size_binop. * fold-const.c (int_const_binop): Refine when size_int is called. (fold_convert): Likewise. (size_int_wide): Rework to take KIND as arg, only take low order bits, handle new sizetype_tab datatype, and chain entries in size_table. (size_int_type_wide): New function. (size_binop): Validate types of arguments. (ssize_binop): Deleted. (size_diffop): New function. (extract_muldiv): Only fold division into multiplication for sizetypes. * function.c (assign_parms): Use size_diffop and make sure VAR field is of ssizetype; also pass proper type to size_binop. (locate_and_pad_parm, pad_to_arg_alignment): Likewise. (round_down): Deleted from here. * store-layout.c (sizetype_tab): Now an array. (sizetype_set, early_root_list): New variables. (variable_size): Use size_one_node. (round_up): Pass proper type to size_binop. (round_down): Moved to here and corrected as above. (layout_record): Pass proper arg types to size_binop. (layout_type): Likewise. If sizetype_set is zero, record the type just laid out. (make_unsigned_type): Don't call set_sizetype; (make_signed_type): Likewise; also, call fixup_signed_type. (initialize_sizetypes): New function. (set_sizetype): Make copy of types, set TYPE_IS_SIZETYPE, and set name of bitsizetype to "bit_size_type". Fix up type of sizes of all types made before call. * tm.texi (ROUND_TYPE_SIZE_UNIT): New macro. * tree.c (fix_sizetype): Deleted. (build_common_tree_nodes): Call initialize_sizetypes. (build_common_tree_nodes_2): Don't call fix_sizetype. * tree.h (TYPE_IS_SIZETYPE): New macro. (initialize_sizetype): New declaration. (enum size_type_kind): New type. (struct sizetype_tab): Deleted. (sizetype_tab): Now array; adjust sizetype macros. (size_diffop, size_int_type_wide): New functions. (size_int_wide): Change number of args and type; access macros changed. (ssize_int, sbitsize_int): New macros. * config/i960/i960.h (ROUND_TYPE_SIZE): Use size_int. (ROUND_TYPE_SIZE_UNIT): New macro. * ch/actions.c (chill_convert_for_assignment): Don't use size_binop for things that aren't sizes. (expand_varying_length_assignment): Likewise. * ch/convert.c (digest_array_tuple, convert): Likewise. * ch/typeck.c (build_chill_slice, smash_dummy_type): Likewise. (build_chill_slice_with_range): Likewise. (build_chill_slice_with_length): Likewise. (build_array_from_set): Adjust types for size_binop. * ch/expr.c (build_concat_expr, build_chill_repetition_op): Likewise. (build_chill_sizeof): Use TYPE_SIZE_UNIT. * ch/tree.c (build_string_type): Pass proper type to size_binop. * cp/class.c (dfs_build_vtable_offset_vtbl_entries): Don't use size_binop on things that are not sizes; ssize_binop deleted. Call size_diffop when appropriate. (dfs_build_vcall_offset_vtbl_entries): Likewise. (build_primary_vtable, build_secondary_vtable): Likewise. (dfs_set_offset_for_unshared_vbases, dfs_modify_vtables): Likewise. Variable I is HOST_WIDE_INT. (get_vfield_offset): Pass proper types to size_binop. (size_extra_vtbl_entries, layout_virtual_bases): Likewise. (finish_struct_1): Likewise. (skip_rtti_stuff): Arg N is now pointer to signed. (layout_class_type): Use size_zero_node. * cp/cp-tree.h (skip_rtti_stuff): Arg N is pointer to signed. * cp/cvt.c (cp_convert_to_pointer): Pass proper types to size_binop. * cp/decl.c (complete_arry_type): Pass proper types to size_binop. (xref_basetypes): BINFO_OFFSET is sizetype. * cp/error.c (dump_expr): Don't use size_binop non-sizes. * cp/expr.c (cplus_expand_constant): Pass proper types to size_binop. * cp/init.c (construct_virtual_bases): Fix type error. (build_vec_delete_1): Pass proper type to size_binop and don't fold result. * cp/lex.c (cp_make_lang_type): BINFO_OFFSET is sizetype. * cp/rtti.c (get_base_offset): Pass proper type to size_binop. * cp/search.c (dfs_find_vbases): Fix type error. (expand_upcast_fixups): Arg to skip_rtti_stuff is pointer to signed. (dfs_get_vbase_types): BINFO_OFFSET is sizetype. * cp/tree.c (debug_binfo): Variable N is signed. Use HOST_WIDE_INT_PRINT_DEC. * cp/typeck.c (comptypes): sizetype is same as equivalent integer type. (c_sizeof, c_sizeof_nowarn, expr_sizeof): Use TYPE_SIZE_UNIT, size_one_node and size_zero_node. (c_alignof): Use size_one_node. (build_component_addr): Pass proper types to size_binop. (expand_ptrmemfunc_cst): Don't use size_binop on non-sizes. * f/com.c (ffecom_arrayref_): Convert args to size_binop to proper type. (ffecom_tree_canonize_ptr_): Don't use size_binop for non-sizes. (ffecom_tree_canonize_ref_): Likewise. (type_for_mode): Handle TImode. * f/ste.c (ffeste_io_dofio_, ffeste_io_douio_): Use TYPE_SIZE_UNIT. (ffeste_io_ciclist_): Likewise. * java/expr.c (build_java_ret): Pass proper type to size_binop. From-SVN: r32225
2000-02-26Fix copyrightsJeff Law15-15/+16
From-SVN: r32182
2000-02-26expr.c (build_class_init): Mark the decl to be ignored by check_init.Anthony Green8-258/+329
2000-02-25 Anthony Green <green@cygnus.com> * expr.c (build_class_init): Mark the decl to be ignored by check_init. * java-tree.h (DECL_BIT_INDEX): Move definition from check-init.c * check-init.c: Move DECL_BIT_INDEX to java-tree.h * class.c (init_test_hash_newfunc): New function. (decl_hash): New function. (decl_compare): New function. * decl.c (emit_init_test_initialization): New function. (complete_start_java_method): Traverse the init test hashtable, calling emit_init_test_initialization. (always_initialize_class_p): Define. * expr.c (build_class_init): Use initialization tests when emitting class initialization code. (always_initialize_class_p): Declare. * jcf-parse.c (parse_class_file): Set always_initialize_class_p to 1. * java-tree.h: Include hash.h. (DECL_FUNCTION_INIT_TEST_TABLE): Define. (struct lang_decl): Add init_test_table field. (init_test_hash_entry): Define. From-SVN: r32166
2000-02-26gjavah.c (main): Avoid using `argi' to report unimplemented options.Alexandre Petit-Bianco2-1/+6
* gjavah.c (main): Avoid using `argi' to report unimplemented options. From-SVN: r32164
2000-02-25jcf-write.c (generate_bytecode_insns): TRY_FINALLY_EXPR: initialize locals ↵Alexandre Petit-Bianco2-1/+11
to avoid warnings. Fri Feb 25 18:47:25 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * jcf-write.c (generate_bytecode_insns): TRY_FINALLY_EXPR: initialize locals to avoid warnings. Local `exception_type' moved into if statement. From-SVN: r32161
2000-02-25parse.y (resolve_expression_name): Use `orig' as a second argument to ↵Alexandre Petit-Bianco2-16/+9
resolve_field_access. Fri Feb 25 18:00:37 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (resolve_expression_name): Use `orig' as a second argument to resolve_field_access. (resolve_field_access): Removed unecessary code when dealing with static fields. From-SVN: r32158
2000-02-23gjavah.c (print_name): In JNI case, correctly quote string.Tom Tromey2-24/+56
* gjavah.c (print_name): In JNI case, correctly quote string. (print_method_info): Don't handle overrides in JNI mode. From-SVN: r32124
2000-02-22parse.y (init_decl_processing): `_Jv_IsInstanceOf' returned value type set ↵Alexandre Petit-Bianco2-1/+6
to `boolean_type_node'. 2000-02-22 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (init_decl_processing): `_Jv_IsInstanceOf' returned value type set to `boolean_type_node'. From-SVN: r32104
2000-02-21re GNATS gcj/147 (Problem parsing comments)Alexandre Petit-Bianco2-3/+8
2000-02-15 Alexandre Petit-Bianco <apbianco@cygnus.com> * lex.c (java_parse_doc_section): Alway unget the last unicode when returning 0. (java_lex): Call java_parse_end_comment with fetched unicode. This is a fix to the Java PR #47 (http://sourceware.cygnus.com/ml/java-prs/2000-q1/msg00042.html) From-SVN: r32097
2000-02-21[multiple changes]Alexandre Petit-Bianco3-28/+48
Thu Feb 17 14:30:37 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * jcf-write.c (generate_bytecode_insns): Don't generate empty `finally' clauses. Thu Feb 17 13:20:58 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * jcf-parse.c (load_class): Call `fatal' if no file containing the target class are found. From-SVN: r32095
2000-02-21jcf-dump.c (main): Test for correct condition after output file creation.Joerg Brunsmann2-1/+6
Mon Jan 18 14:30:09 2000 Joerg Brunsmann <joerg.brunsmann@fernuni-hagen.de> * jcf-dump.c (main): Test for correct condition after output file creation. From-SVN: r32089
2000-02-20* jcf-depend.c (add_entry): Fix test for first list entry.Anthony Green2-1/+5
From-SVN: r32072
2000-02-19Move language-specific entriesRichard Kenner1-0/+9
From-SVN: r32071
2000-02-19c-common.c (decl_attributes): Set DECL_SIZE_UNIT.Richard Kenner2-3/+6
* c-common.c (decl_attributes): Set DECL_SIZE_UNIT. * c-decl.c (duplicate_decls, finish_enum): Likewise. (finish_decl): Remove -Wlarger-than code from here. * flags.h (id_clash_len): Now int. (larger_than_size): Now HOST_WIDE_INT. * fold-const.c (size_int_wide): No more HIGH parm; NUMBER is signed. Clean up checking to see if in table. (make_bit_field_ref): Remove extra parm to bitsize_int. * ggc-common.c (ggc_mark_tree_children): Mark DECL_SIZE_UNIT. * print-tree.c (print_node): Print DECL_SIZE_UNIT and TYPE_SIZE_UNIT. * stmt.c (expand_decl): Use DECL_SIZE_UNIT for stack checking size and for computing size of decl. * stor-layout.c (layout_decl): Set DECL_SIZE_UNIT. Move -Wlarger-than code to here. (layout_record): Remove extra arg to bitsize_int. Set TYPE_BINFO_SIZE_UNIT. (layout_union): Remove extra arg to bitsize_int. Use proper type for size of QUAL_UNION. (layout_type): Remove extra arg to bitsize_int. * toplev.c (id_clash_len): Now int. (larger_than_size): Now HOST_WIDE_INT. (decode_W_option): Clean up id-clash and larger-than- cases. * tree.c (get_identifier, maybe_get_identifier): Remove unneeded casts. (expr_align, case FUNCTION_DECL): DECL_ALIGN is not defined. * tree.h (BINFO_SIZE_UNIT, TYPE_BINFO_SIZE_UNIT, DECL_SIZE_UNIT): New. (struct tree_decl): New field size_unit. (size_int_wide): No HIGH operand; NUMBER is now signed. (size_int_2): Deleted. (size_int, bitsize_int): Don't use it and rework args. * varasm.c (assemble_variable, output_constructor): Use DECL_SIZE_UNIT. * ch/decl.c (layout_enum): Set DECL_SIZE_UNIT. * ch/satisfy.c (safe_satisfy_decl): Likewise. * cp/class.c (build_primary_vtable, layout_vtable_decl): Likewise. (avoid_overlap, build_base_field): Likewise. (build_base_field, build_base_fields, is_empty_class): Test DECL_SIZE with integer_zero. (layout_class_type): Set CLASSTYPE_SIZE_UNIT. * cp/cp-tree.h (struct lang_type): New field size_unit. (CLASSTYPE_SIZE_UNIT): New macro. * cp/decl.c (init_decl_processing): Set DECL_SIZE_UNIT. (cp_finish_decl): Delete -Wlarger-than processing. * cp/optimize.c (remap_decl): Walk DECL_SIZE_UNIT. * cp/pt.c (tsubst_decl): Set DECL_SIZE_UNIT. * cp/tree.c (make_binfo): binfo vector is one entry longer. (walk_tree): Walk DECL_SIZE_UNIT. * f/com.c (ffecom_sym_transform): Use DECL_SIZE_UNIT. (ffecom_transform_common_, ffecom_transform_equiv_): Likewise. (duplicate_decls): Likewise. (ffecom_tree_canonize_ptr_): Delete extra arg to bitsize_int. (finish_decl): Delete -Wlarger-than processing. * java/class.c (build_class_ref, push_super_field): Set DECL_SIZE_UNIT. * java/constants.c (build_constants_constructor): Likewise. From-SVN: r32068
2000-02-19jcf-depend.c (add_entry): Add entries to the end of the list.Anthony Green2-5/+17
* jcf-depend.c (add_entry): Add entries to the end of the list. I From-SVN: r32066
2000-02-18re GNATS gcj/82 (code generation for jvm IRETURN fails on boolean/byte/short ↵Pekka Nikander2-0/+20
methods if INT_TYPE_SIZE < 32) Wed Nov 03 02:16:00 PST 1999 Pekka Nikander <pekka.nikander@hut.fi> * decl.c (INT_TYPE_SIZE): Define if necessary. (expand_java_return): Handle the case of a native integer smaller than a JVM integer. (Fix to the Java PR #82: http://sourceware.cygnus.com/ml/java-prs/1999-q4/msg00078.html) From-SVN: r32051
2000-02-18gcc.texi (Bug Reporting): Refer to bugs.html.Martin v. Löwis4-3/+9
* gcc.texi (Bug Reporting): Refer to bugs.html. (Bug Lists): Likewise. * system.h (GCCBUGURL): New preprocessor define. * rtl.c (fancy_abort): Use it. * gcc.c (main): Likewise. * typeck2.c (my_friendly_abort): Use GCCBUGURL. * g77spec.c (lang_specific_driver): Use GCCBUGURL. * gjavah.c (help): Use GCCBUGURL. * jv-scan.c (help): Likewise. * jcf-dump.c (help): Likewise. From-SVN: r32049
2000-02-17Makefile.in (PARSE_C, [...]): Move dependencies on lex.c, lex.h, and PARSE_H ↵Zack Weinberg4-32/+67
to... * Makefile.in (PARSE_C, PARSE_SCAN_C): Move dependencies on lex.c, lex.h, and PARSE_H to... (parse.o, parse-scan.o): ...here, respectively. * lex.c: Split out code that may trigger SIGFPE from yylex() to its own function. * lex.h (JAVA_FLOAT_RANGE_ERROR): Don't set value. From-SVN: r32025
2000-02-16configure (gcc_version): When setting, narrow search to lines containing ↵Kaveh R. Ghazi2-1/+5
`version_string'. * configure (gcc_version): When setting, narrow search to lines containing `version_string'. gcc: * version.c: Include gansidecl.h and version.h. * version.h: Wrap entire file in macro __GCC_VERSION_H__. * configure.in (gcc_version): When setting, narrow search to lines containing `version_string'. * Makefile.in (mainversion): Likewise. (GCC_H): New variable. (gcc.h): Delete target. (gcc.o, gccspec.o, cppspec.o): Depend on $(GCC_H), not gcc.h. (version.o): Depend on version.h. (dbxout.o): Don't depend on gcc.h. gcc/cp: * Make-lang.in (g++spec.o): Depend on $(GCC_H), not gcc.h. gcc/f: * Make-lang.in (g77spec.o): Depend on $(GCC_H), not gcc.h. gcc/java: * Make-lang.in (jvspec.o): Depend on $(GCC_H), not gcc.h. libf2c: * configure.in (gcc_version): When setting, narrow search to lines containing `version_string'. From-SVN: r32009
2000-02-15gjavah.c: Delete ACC_VISIBILITY define.Joerg Brunsmann5-706/+725
Mon Jan 18 14:30:09 2000 Joerg Brunsmann <joerg.brunsmann@fernuni-hagen.de> * gjavah.c: Delete ACC_VISIBILITY define. * jcf.h: Add ACC_VISIBILITY define. * parse.y: final: rule tagged <value>. (java_check_regular_methods): Use ACC_VISIBILITY define for default package access check. (local_variable_declaration_statement): Use final: rule. From-SVN: r31992
2000-02-15gjavah.c (jni_print_char): New function.Tom Tromey2-25/+43
* gjavah.c (jni_print_char): New function. (print_full_cxx_name): Use it. (decode_signature_piece): Likewise. (print_cxx_classname): Likewise. From-SVN: r31989
2000-02-15Makefile.in (TREE_H, [...]): Depend on version.h.Kaveh R. Ghazi5-13/+23
* Makefile.in (TREE_H, collect2.o, gcc.h, mips-tfile.o, cccp.o, cpphash.o, cppinit.o, protoize.o, unprotoize.o): Depend on version.h. * cccp.c: Include version.h and/or don't declare `version_string'. * collect2.c: Likewise. * alpha.c: Likewise. * arm/aof.h: Likewise. * arm/coff.h: Likewise. * arm/elf.h: Likewise. * arm/pe.h: Likewise. * arm/tcoff.h: Likewise. * arm/telf.h: Likewise. * arm/tpe.h: Likewise. * arm/vxarm.h: Likewise. * convex/convex.c: Likewise. * i386/dgux.c: Likewise. * i386/sun386.h: Likewise. * m88k/m88k.c: Likewise. * mcore/mcore-pe.h: Likewise. * mips/mips.h: Likewise. * romp/romp.h: Likewise. * sh/sh.c: Likewise. * cpphash.c: Likewise. * cppinit.c: Likewise. * dwarf2out.c: Likewise. * dwarfout.c: Likewise. * gcc.c: Likewise. * gcc.h: Likewise. * mips-tfile.c: Likewise. * protoize.c: Likewise. * toplev.c: Likewise. * tree.h: Likewise. * version.c (version_string): Constify a char*. * version.h: New file. ch: * grant.c: Don't declare `version_string'. f: * g77spec.c: Don't declare `version_string'. java: * Makefile.in (jv-scan, jcf-dump, gcjh): Depend on and link with version.o. (jcf-dump.o, gjavah.o, jv-scan.o): Depend on version.h. * gjavah.c: Include version.h. * jcf-dump.c: Likewise. * jv-scan.c: Likewise. From-SVN: r31984
2000-02-10except.c (maybe_start_try): Remove excess argument to `check_start_handlers'.Kaveh R. Ghazi2-1/+2
* except.c (maybe_start_try): Remove excess argument to `check_start_handlers'. From-SVN: r31900
2000-02-10* except.c (check_start_handlers): Prototype.Kaveh R. Ghazi2-0/+6
From-SVN: r31896
2000-02-09decl.c (clear_binding_level): Remove excess initializer.Andrew Haley2-3/+9
2000-02-09 Andrew Haley <aph@cygnus.com> * decl.c (clear_binding_level): Remove excess initializer. (maybe_poplevels): Remove unused variable. (force_poplevels): Ditto. (struct binding_level): Add comment. From-SVN: r31870
2000-02-09java-except.h (struct eh_range): Add `expanded' field.Andrew Haley6-23/+207
2000-01-25 Andrew Haley <aph@cygnus.com> * java-except.h (struct eh_range): Add `expanded' field. (maybe_start_try): Add end_pc arg. (maybe_end_try): Ditto. * java-tree.h (force_poplevels): new function. * expr.c (expand_byte_code): Don't call maybe_start_try or maybe_end_try. * except.c (add_handler): Reset expanded. (expand_start_java_handler): Set expanded. (check_start_handlers): Don't expand a start handler that's already been expanded. (maybe_start_try): Add end_pc arg. Only expand a handler which ends after end_pc. (expand_end_java_handler): call force_poplevels. (force_poplevels): new function. * decl.c (binding_level): Add start_pc of binding level. (maybe_pushlevels): Call maybe_start_try when pushing binding levels. (maybe_poplevels): Call maybe_end_try when popping binding levels. (LARGEST_PC): Define. (clear_binding_level): Use LARGEST_PC. * java-tree.h (DEBUG_JAVA_BINDING_LEVELS): new define. * decl.c (DEBUG_JAVA_BINDING_LEVELS): new define. (binding_depth, is_class_level, current_pc): new variables. (struct binding_level): ditto. (indent): new function. (push_jvm_slot): add debugging info. (maybe_pushlevels): ditto. (maybe_poplevels): ditto. (pushlevel): ditto. (poplevel): ditto. (start_java_method): ditto. (give_name_to_locals): comment only. * except.c (binding_depth, is_class_level, current_pc): new variables. (expand_start_java_handler): add debugging info. (expand_end_java_handler): ditto. From-SVN: r31861
2000-02-06gjavah.c (overloaded_jni_method_exists_p): Add prototype.Kaveh R. Ghazi2-2/+9
* gjavah.c (overloaded_jni_method_exists_p): Add prototype. (print_name_for_stub_or_jni, process_file): Constify a char*. From-SVN: r31813
2000-02-03* jcf-io.c (jcf_print_utf8_replace): Handle UTF-8 input.Tom Tromey2-5/+13
From-SVN: r31779
2000-02-03javaop.h (WORDS_TO_DOUBLE): Allow WORDS_TO_DOUBLE to assemble doubles ↵Scott Bambrough2-0/+10
correctly when... 2000-01-31 Scott Bambrough <scottb@netwinder.org> * gcc/java/javaop.h (WORDS_TO_DOUBLE): Allow WORDS_TO_DOUBLE to assemble doubles correctly when HOST_FLOAT_WORDS_BIG_ENDIAN is defined to be 1. From-SVN: r31777
2000-02-03Make-lang.in (java.mostlyclean): Remove executables in `mostlyclean'.Tom Tromey2-1/+7
* Make-lang.in (java.mostlyclean): Remove executables in `mostlyclean'. From-SVN: r31776
2000-02-03gjavah.c (D_NAN_MASK): Alternate definition required when ↵Scott Bambrough2-9/+15
HOST_FLOAT_WORDS_BIG_ENDIAN is defined to be 1. 2000-01-31 Scott Bambrough <scottb@netwinder.org> * gcc/java/gjavah.c (D_NAN_MASK): Alternate definition required when HOST_FLOAT_WORDS_BIG_ENDIAN is defined to be 1. (java_float_finite): Convert to use union Word from javaop.h. (java_double_finite): Convert to use union DWord from javaop.h. From-SVN: r31768
2000-02-03gjavah.c (options): Added `jni' entry.Tom Tromey2-107/+397
* gjavah.c (options): Added `jni' entry. (help): Document -jni. (flag_jni): New global. (process_file): Handle JNI output. Don't print text from -prepend, -add, etc, when generating stubs. Only remove `.class' suffix if it actually exists. (main): Create a `.c' file when run with `--jni --stubs'. Create correct output file name with `--jni'. (print_include): Mangle header name differently in JNI case. (HANDLE_METHOD): In JNI mode, call print_method_info to generate method list. (print_method_info): Handle JNI case. Put signature info into method name. Handle case when STREAM is NULL. (print_name_for_stub_or_jni): New function. (print_stub_or_jni): Renamed from `print_stub'. Handle JNI. (print_cxx_classname): Handle JNI. (print_full_cxx_name): Likewise. (decode_signature_piece): Likewise. (overloaded_jni_method_exists_p): New function. (struct method_name): Added `signature' and `sig_length' fields. (HANDLE_END_FIELD): Do nothing in JNI mode. From-SVN: r31767
2000-02-02jv-scan.c: Include version.c, <getopt.h>.Tom Tromey4-217/+405
* jv-scan.c: Include version.c, <getopt.h>. (LONG_OPT, OPT_HELP, OPT_VERSION): New macros. (options): New array. (usage): New function. (version): New function. (main): Use getopt_long to parse command line. * jcf-dump.c: Include version.c, <getopt.h>. (LONG_OPT, OPT_classpath, OPT_CLASSPATH, OPT_HELP, OPT_VERSION, OPT_JAVAP): New macros. (options): New array. (usage): Return `void'. Changed message. (help): New function. (version): New function. (main): Use getopt_long_only to parse command line. * gjavah.c: Include <getopt.h>. (LONG_OPT, OPT_classpath, OPT_CLASSPATH, OPT_HELP, OPT_TEMP, OPT_VERSION, OPT_PREPEND, OPT_FRIEND, OPT_ADD, OPT_APPEND, OPT_M, OPT_MM, OPT_MG, OPT_MD, OPT_MMD): New macros. (options): New array. (java_no_argument): Removed. (help): Updated with missing options. (main): Use getopt_long_only to parse command line. (usage): Changed message. From-SVN: r31765
2000-01-31jcf-write.c (generate_bytecode_insns): Use TYPE_IS_WIDE to determine how ↵Anthony Green2-1/+6
many stack slots to pop. * jcf-write.c (generate_bytecode_insns): Use TYPE_IS_WIDE to determine how many stack slots to pop. From-SVN: r31709
2000-01-29[multiple changes]Alexandre Petit-Bianco5-495/+584
2000-01-29 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (formal_parameter:): Set `$$' to NULL_TREE for better error handling/recovery. * java-tree.h (SYNCHRONIZED_EXPR): Fixed typo in comment. Wed Jan 12 20:20:11 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> * jcf-write.c (generate_bytecode_insns): binop: Change the type of the shift value to int. Fixed typo in comment. From-SVN: r31695
2000-01-27jcf-write.c (emit_goto): RESERVE 3 bytes for insn.Andrew Haley2-0/+9
2000-01-27 Andrew Haley <aph@cygnus.com> * jcf-write.c (emit_goto): RESERVE 3 bytes for insn. (emit_if): Ditto. (emit_jsr): Ditto. From-SVN: r31647
2000-01-25parse.h (OBSOLETE_MODIFIER_WARNING): Don't use ANSI string concatenation.Kaveh R. Ghazi4-2264/+2291
* parse.h (OBSOLETE_MODIFIER_WARNING): Don't use ANSI string concatenation. (OBSOLETE_MODIFIER_WARNING2): New macro allowing two args. * parse.y (register_fields): Don't pass a format specifier to OBSOLETE_MODIFIER_WARNING. (check_abstract_method_header): Use OBSOLETE_MODIFIER_WARNING2 instead of OBSOLETE_MODIFIER_WARNING, and don't pass a format specifier. (check_modifiers): Change function into a macro. (check_class_interface_creation): Pass a literal format string. From-SVN: r31614
2000-01-21Fix typo in ChangeLogKaveh Ghazi1-1/+1
From-SVN: r31551
2000-01-21buffer.h: PROTO -> PARAMS.Kaveh R. Ghazi36-865/+901
* buffer.h: PROTO -> PARAMS. * check-init.c: Likewise. * class.c: Likewise. * constants.c: Likewise. * convert.h: Likewise. * decl.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * gjavah.c: Likewise. * java-except.h: Likewise. * java-tree.h: Likewise. * jcf-depend.c: Likewise. * jcf-dump.c: Likewise. * jcf-parse.c: Likewise. * jcf-path.c: Likewise. * jcf-reader.c: Likewise. * jcf-write.c: Likewise. * jcf.h: Likewise. * jv-scan.c: Likewise. * jvgenmain.c: Likewise. * jvspec.c: Likewise. * lang.c: Likewise. * lex.c: Likewise. * lex.h: Likewise. * parse-scan.y: Likewise. * parse.h: Likewise. * parse.y: Likewise. * typeck.c: Likewise. * verify.c: Likewise. * xref.c: Likewise. * xref.h: Likewise. * zextract.c: Likewise. * zipfile.h: Likewise. From-SVN: r31550
2000-01-17re GNATS gcj/128 (weak error message when expecting final modifier)Joerg Brunsmann2-3/+17
Mon Jan 17 11:58:17 2000 Joerg Brunsmann <joerg.brunsmann@fernuni-hagen.de> * parse.y (format_parameter:): Use final: rule instead of modifiers:. (final:): New rule. Joerg Brunsmann's contribution to fix the Java PR #128. From-SVN: r31477
2000-01-17* gjavah.c (print_field_info): Allow non-static final fields.Tom Tromey2-10/+14
From-SVN: r31466
2000-01-16parse.y (build_string_concatenation): Only use StringBuffer(String) shortcut ↵Anthony Green3-9/+14
if String arg is constant. 2000-01-16 Anthony Green <green@cygnus.com> * parse.y (build_string_concatenation): Only use StringBuffer(String) shortcut if String arg is constant. From-SVN: r31450
2000-01-12jcf-path.c: Delete PATH_SEPARATOR and DIR_SEPARATOR macros.Mumit Khan5-460/+442
2000-01-11 Mumit Khan <khan@xraylith.wisc.edu> * jcf-path.c: Delete PATH_SEPARATOR and DIR_SEPARATOR macros. * jcf-write.c: Likewise. * parse.y: Likewise. * parse.c: Regenerate. From-SVN: r31344