Commit Graph

1348 Commits

Author SHA1 Message Date
Richard Henderson
3bec3c0c9c class.c (layout_class_method): Set DECL_EXTERNAL.
* class.c (layout_class_method): Set DECL_EXTERNAL.
        * decl.c (java_mark_decl_local, java_mark_class_local): New.
        * java-tree.h (java_mark_class_local): Declare.
        * jcf-parse.c (parse_class_file): Use it.
        * parse.y (java_expand_classes): Likewise.

From-SVN: r66768
2003-05-13 10:41:17 -07:00
Nathan Sidwell
d4b56320a1 Make-lang.in (java/parse.o, [...]): Depend on input.h.
* Make-lang.in (java/parse.o, java/parse-scan.o): Depend on input.h.
	* lex.h: #include input.h.
	* jv-scan.c (input_filename): Remove.

From-SVN: r66452
2003-05-04 14:05:15 +00:00
Tom Tromey
73cb3b5a41 re PR java/10491 (gcjh should make enclosing class a "friend" of inner classes)
PR java/10491:
	* gjavah.c (HANDLE_INNERCLASSES_ATTRIBUTE): New macro.
	(handle_inner_classes): New function.

From-SVN: r66416
2003-05-03 02:29:26 +00:00
Tom Tromey
fcc8cecb81 re PR java/10459 (ICE with certain expressions as 3rd clause of for loop)
PR java/10459:
	* parse.y (finish_for_loop): Do nothing if update expression is a
	EXPR_WFL_NODE wrapping nothing.
	(java_complete_lhs) <COMPOUND_EXPR>: Likewise.

From-SVN: r66411
2003-05-03 00:35:06 +00:00
Nathan Sidwell
6060edcbe2 Makefile.in (TREE_H): Replace location.h with input.h.
* Makefile.in (TREE_H): Replace location.h with input.h.
	(GTFILES) Remove location.h
	(gt-lists.h): Replace gt-location.h with gt-input.h
	* input.h (input_filename, input_line): Remove variables.
	(location_s, location_t): Move from location.h.
	(input_location): New.
	(input_filename, input_line): New #defines.
	* location.h: Remove.
	* tree.h: Replace location.h with input.h.
	(input_filename, input_line): Remove.
	* diagnostic.h: Replace location.h with input.h.
	* gcc.h (input_filename, input_filename_length): Remove declarations.
	* toplev.c (input_filename, input_line): Remove.
	(input_location): Define.
	(push_srcloc, pop_srcloc): Adjust.
	* diagnostic.c (diagnostic_report_current_module): Adjust.
f:
	* lex.c (ffelex_file_pop_): Adjust file_stack member use.
	(ffelex_file_push_): Likewise.
	(ffelex_hash_): Likewise.
java:
	* lex.h (input_lineno): Remove declaration.
	* parse-scan.y: #include input.h.
	(input_filename): Remove declaration.
	(input_location): Add definition.
	(input_line): Remove definition.

From-SVN: r66378
2003-05-02 11:33:06 +00:00
Nathan Sidwell
3489e0614d missed from my previous checkin
From-SVN: r66337
2003-05-01 17:15:23 +00:00
Nathan Sidwell
d479d37f5e input.h (lineno): Rename to ...
* input.h (lineno): Rename to ...
	(input_line): ... here.
	* tree.h (lineno): Rename to ...
	(input_line): ... here.
	* scan.h (lineno): Rename to ...
	(input_line): ... here.
	* toplev.c (lineno): Rename to ...
	(input_line): ... here.
	(push_srcloc, pop_srcloc):  Rename lineno to input_line.
	* c-common.c (c_expand_start_cond, fname_decl): Likewise.
	* c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag,
	store_parm_decls, c_expand_body_1): Likewise.
	* c-errors.c (pedwarn_c99): Likewise.
	* c-format.c (status_warning): Likewise.
	* c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise.
	* c-opts.c (c_common_post_options, c_common_parse_file): Likewise.
	* c-parse.in (save_filename, maybe_type_qual, ifc): Likwise.
	* c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var,
	gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt,
	genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt,
	genrtl_return_stmt, genrtl_for_stmt, build_break_stmt,
	build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt,
	prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise.
	* coverage.c (create_coverage): Likewise.
	* diagnostic.c (pedwarn, sorry, error, fatal_error,
	internal_error, warning, diagnostic_report_current_module,
	inform): Likewise.
	* expr.c (expand_expr): Likewise.
	* integrate.c (expand_inline_function,
	output_inline_function): Likewise.
	* rtl-error.c (file_and_line_for_asm): Likewise.
	* tree-inline.c (find_alloca_call, find_builtin_longjmp_call,
	walk_tree): Likewise.
	* tree.c (make_node): Likewise.
	* ada, cp, f, java, objc, treelang: Likewise.

	ada
	* trans.c (build_unit_elab, set_lineno): Rename lineno to
	input_line.
	* utils.c (pushdecl, create_label_decl, begin_subprog_body,
	end_subprog_body): Likewise.
	* utils2.c (build_call_raise): Likewise.

	cp
	* class.c (finish_struct): Rename lineno to input_line.
	* decl.c (push_binding_level, pop_binding_level,
	suspend_binding_level, resume_binding_level, make_label_decl,
	use_label, start_function): Likewise.
	* decl2.c (warn_if_unknown_interface,
	start_static_initialization_or_destruction,
	generate_ctor_or_dtor_function, finish_file): Likewise.
	* error.c (cp_line_of, print_instantiation_full_context,
	print_instantiation_context): Likewise.
	* except.c (check_handlers_1, check_handlers): Likewise.
	* init.c (create_temporary_var): Likewise.
	* method.c (use_thunk, synthesize_method): Likewise.
	* parser.c (cp_lexer_set_source_position_from_token,
	cp_lexer_get_preprocessor_token): Likewise.
	* pt.c (push_tinst_level, pop_tinst_level,
	tsubst_friend_function, instantiate_class_template, tsubst_decl,
	tsubst, tsubst_expr, instantiate_decl): Likewise.
	* semantics.c (genrtl_try_block, finish_label_stmt,
	begin_class_definition, expand_body,
	genrtl_finish_function): Likewise.
	* tree.c (build_min_nt, build_min): Likewise.

	f
	* ansify.c (die_unless): Rename lineno to input_line.
	* com.c (ffecom_subscript_check_, ffecom_do_entry_,
	ffecom_gen_sfuncdef_, ffecom_start_progunit_,
	ffecom_sym_transform_, ffecom_sym_transform_assign_,
	bison_rule_pushlevel_, bison_rule_compstmt_, finish_function,
	store_parm_decls): Likewise.
	* intrin.c (ffeintrin_fulfill_generic): Likewise.
	* lex.c (ffelex_hash_, ffelex_include_, ffelex_next_line_,
	ffelex_file_fixed, ffelex_file_free): Likewise.
	* std.c (ffestd_exec_end): Likewise.
	* ste.c (ffeste_emit_line_note_, ffeste_start_block_,
	ffeste_start_stmt_): Likewise.
	* ste.h (ffeste_filelinenum, ffeste_set_line): Likewise.

	java
	* lex.h (lineno): Rename to ...
	(input_line): ... here
	* parse-scan.y (lineno): Rename to ...
	(input_line): ... here.
	(reset_report): Rename lineno to input_line.
	* check-init.c (check_init): Likewise.
	* class.c (push_class): Likewise.
	* decl.c (complete_start_java_method, end_java_method): Likewise.
	* expr.c (expand_byte_code): Likewise.
	* jcf-parse.c (give_name_to_class, parse_class_file): Likewise.
	* jcf-write.c (generate_bytecode_insns): Likewise.
	* lex.c (java_init_lex, java_allocate_new_line,
	do_java_lex): Likewise.
	* parse.h (YYNOT_TWICE): Likewise.
	* parse.y (empty_statement, expression_statement,
	java_pop_parser_context, java_parser_context_save_global,
	yyerror, register_fields, method_header, safe_layout_class,
	find_in_imports_on_demand, create_artificial_method,
	source_end_java_method, start_complete_expand_method,
	build_thisn_assign, java_complete_lhs,
	maybe_absorb_scoping_block): Likewise.

	objc
	* objc-act.c (objc_init): Rename lineno to input_line.
	(build_module_descriptor, build_selector_translation_table,
	build_protocol_template, build_method_prototype_list_template,
	build_category_template, build_selector_table,
	build_class_template, build_super_template, build_ivar_template,
	build_ivar_list_template, build_method_list_template,
	build_method_template, add_instance_variable): Likewise.

	treelang
	* tree1.c (treelang_init): Rename lineno to input_line.

From-SVN: r66333
2003-05-01 16:13:36 +00:00
Mohan Embar
ef963bc8a1 jcf-io.c (find_class): use DIR_SEPARATOR instead of '/' when computing java source filename
2003-04-20  Mohan Embar  <gnustuff@thisiscool.com>

	* jcf-io.c (find_class): use DIR_SEPARATOR instead of
	'/' when computing java source filename

From-SVN: r65867
2003-04-20 22:45:02 +00:00
Tom Tromey
e6311b9e25 * gjavah.c (print_c_decl): Indentation fix.
From-SVN: r65562
2003-04-14 04:42:21 +00:00
Zack Weinberg
dcf92453c8 tree.c (build_constructor): New function.
* tree.c (build_constructor): New function.
	* tree.h: Prototype it.

	* c-typeck.c (build_c_cast, pop_init_level)
	* profile.c (build_function_info_value, build_gcov_info_value)
	(create_profiler):
	Use build_constructor.

	* builtins.c (expand_builtin_args_info): Remove #if 0 blocks.

	* objc/objc-act.c (build_constructor):
	Rename objc_build_constructor. Use build_constructor.
	(build_objc_string_object, objc_add_static_instance)
	(init_def_list, init_objc_symtab, init_module_descriptor)
	(generate_static_references, build_selector_translation_table)
	(build_descriptor_table_initializer, generate_descriptor_table)
	(build_protocol_initializer, build_ivar_list_initializer)
	(generate_ivars_list, build_dispatch_table_initializer)
	(generate_dispatch_table, generate_protocol_list)
	(build_category_initializer, build_shared_structure_initializer):
	Update to match.

ada:
	* gigi.h, utils2.c (build_constructor):
	Rename gnat_build_constructor. Use build_constructor.
	* decl.c (gnat_to_gnu_entity)
	* trans.c (tree_transform, pos_to_constructor, extract_values)
	* ada/utils.c (build_template, convert_to_fat_pointer, convert)
	(unchecked_convert)
	* ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
	(fill_vms_descriptor):
	Update to match.

cp:
	* class.c (initialize_array)
	* decl.c (reshape_init)
	* decl2.c (build_expr_from_tree)
	* init.c (build_zero_init)
	* pt.c (tsubst_copy, tsubst_copy_and_build)
	* rtti.c (tinfo_base_init, generic_initializer, ptr_initializer)
	(ptm_initializer, class_initializer, get_pseudo_ti_init)
	* semantics.c (finish_compound_literal)
	* typeck.c (build_ptrmemfunc1)
	* typeck2.c (store_init_value, process_init_constructor)
	(build_functional_cast): Use build_constructor.

f:
	* com.c (ffecom_build_complex_constant_, ffecom_expr_)
	(ffecom_init_zero_, ffecom_transform_namelist_, ffecom_vardesc_)
	(ffecom_vardesc_array_, ffecom_vardesc_dims_, ffecom_2)
	* ste.c (ffeste_io_ialist_, ffeste_io_cilist_, ffeste_io_cllist_)
	(ffeste_io_icilist_, ffeste_io_inlist_, ffeste_io_olist_):
	Use build_constructor.

java:
	* class.c (make_field_value, make_method_value, get_dispatch_table)
	(make_class_data, emit_offset_symbol_table)
	* constants.c (build_constants_constructor)
	* java-tree.h (START_RECORD_CONSTRUCTOR)
	* parse.y (maybe_build_array_element_wfl):
	Use build_constructor.

From-SVN: r65539
2003-04-13 01:45:35 +00:00
Eric Blake
04a0be3624 re PR java/10253 (String concatenation with int zero, as in ""+0, results in the empty string.)
2003-04-10  Eric Blake  <ebb9@email.byu.edu>

	PR java/10253:
	* parse.y (string_convert_int_cst): Always use at least one digit
	in string conversion. Remove ASCII dependence.
	(merge_string_cste): Fix merging of 3-byte UTF-8 characters.

From-SVN: r65443
2003-04-10 23:41:32 +00:00
Andrew Haley
72f339d273 [multiple changes]
2003-03-16  Mohan Embar  <gnustuff@thisiscool.com>

        * Make-lang.in: added win32-host.c
        * jcf.h: defined macro JCF_OPEN_EXACT_CASE which
        resolves to open() on non-Win32 platforms and
        Win32-specific jcf_open_exact_case() on Win32
        * jcf-io.c (find_class): use JCF_OPEN_EXACT_CASE
        when trying .java and .class files
        * win32-host.c: added to repository. Defines
        Win32-specific jcf_open_exact_case()

2003-04-10  Andrew Haley  <aph@redhat.com>

        * jcf-write.c (struct jcf_partial): num_jsrs: new field.
        (maybe_free_localvar): Renamed from localvar_free.
        Add new arg, really.
        (generate_bytecode_insns): Set new variable, jsrs.
        Only free local vars if no jsr insns have been emittted.
        Call maybe_free_localvar, not localvar_free.

From-SVN: r65430
2003-04-10 18:24:42 +00:00
Steven Bosscher
95ec27aaf2 hashtable.c (gcc_obstack_init): Delete this function and everything related to it.
2003-04-06  Steven Bosscher  <steven@gcc.gnu.org>

	* hashtable.c (gcc_obstack_init): Delete this function
	and everything related to it.
	* hashtable.h: Remove prototype.
	* bitmap.c (bitmap_element_allocate): Cleanup redundant
	defines.  Cleanup some unnecessary whitespace.
	* defaults.h (obstack_chunk_alloc): Redefine with
	appropriate casts for libiberty obstacks.
	(obstack_chunk_free): Ditto.
	(OBSTACK_CHUNK_SIZE): Define, default to 0.
	(gcc_obstack_init): Define as a call to _obstack_begin.
	* tree.c (print_obstack_statistics): Delete this unused
	function.
	* tree.h (obstack): Don't forward-declare.
	(print_obstack_statistics): Delete prototype.
	(print_obstack_name): Ditto.
	(gcc_obstack_init): Ditto.
	* rtl.h (gcc_obstack_init): Ditto.
	* java/jv-scan.c (gcc_obstack_init): Delete this
	function, its prototype and related defines.
	* java/jvgenmain.c (gcc_obstack_init): Delete this
	function, and related defines.
	* java/parse-scan.y (obstack_chunk_alloc): Don't define.
	(obstack_chunk_free): Ditto

From-SVN: r65308
2003-04-06 21:44:09 +00:00
Joseph Myers
438f63a80d fastjar.texi: Remove @ at start of file.
fastjar:
	* fastjar.texi: Remove @ at start of file.

gcc/java:
	* gcj.texi: Remove @ at start of file.

From-SVN: r65045
2003-03-30 17:56:33 +01:00
Tom Tromey
dcb0eee2a2 * parse.y (create_interface): Call CHECK_DEPRECATED.
From-SVN: r64852
2003-03-25 17:00:47 +00:00
Zack Weinberg
62c9aa5f9e configure.in: Check whether it is necessary to link against libm to use ldexp.
* configure.in: Check whether it is necessary to link against
	libm to use ldexp.
	* configure: Regenerate.
	* Makefile.in: Add LDEXP_LIB substitution variable.
	* java/Make-lang.in: Link jcf-dump against $(LDEXP_LIB).

From-SVN: r64749
2003-03-23 20:13:58 +00:00
Zack Weinberg
649eaf9bfd javaop.h (jfloat, jdouble): Make them structures mirroring the bit fields of IEEE float and double respectively.
* javaop.h (jfloat, jdouble): Make them structures mirroring
	the bit fields of IEEE float and double respectively.
	(JFLOAT_FINITE, JFLOAT_QNAN_MASK, JFLOAT_EXP_BIAS,
	JDOUBLE_FINITE, JDOUBLE_QNAN_MASK, JDOUBLE_EXP_BIAS): New.
	(union Word, union DWord): Delete.
	(WORD_TO_FLOAT, WORDS_TO_DOUBLE): Update to match.

	* gjavah.c (java_float_finite, java_double_finite, F_NAN_MASK,
	D_NAN_MASK): Delete.
	(jni_print_float, jni_print_double): New.  Generate
	hexadecimal floating constants.
	(print_field_info): Use jni_print_float/double.

	* jcf-dump.c: Include math.h.  Use ldexp/frexp to assemble
	finite floating point numbers for output; special case
	non-finite floats.

From-SVN: r64671
2003-03-21 17:10:02 +00:00
Loren J. Rittle
31260fb846 Makefile.in (STRICT2_WARN): Add @WERROR@.
* Makefile.in (STRICT2_WARN): Add @WERROR@.
        (GCC_WARN_CFLAGS): Remove $(WERROR).
        (fixinc.sh-warn): New.
        * ada/Make-lang.in (ada-warn): Add $(WERROR).
        * cp/Make-lang.in (cp-warn): Add $(WERROR).
        * f/Make-lang.in (f-warn): Add $(WERROR).
        * java/Make-lang.in (java-warn): Add $(WERROR).
        * treelang/Make-lang.in (treelang-warn): Add $(WERROR).

From-SVN: r64606
2003-03-20 03:11:25 +00:00
Nathanael Nerode
2bd3ecadd8 c-common.h (c_dump_tree), [...]): Change return type from 'int' to 'bool'.
(gcc)
	* c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
	langhooks-def.h (lhd_tree_dump_dump_tree),
	langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
	Change return type from 'int' to 'bool'.  Replace 0 and 1 with
	true and false in return statements.
(cp)
	* dump.c (cp_dump_tree), cp-tree.h (cp_dump_tree): Change return
	type from 'int' to 'bool'. Replace 0 and 1 with true and false in
	return statements.
(java)
	* lang.c (java_dump_tree): Change return type from 'int' to 'bool'.
	Replace 0 and 1 with true and false in return statements.

From-SVN: r64596
2003-03-19 20:34:10 +00:00
Tom Tromey
b25a23bd5a lex.c (do_java_lex): Renamed from java_lex.
* lex.c (do_java_lex): Renamed from java_lex.
	(java_lex): New function.
	Include timevar.h.

From-SVN: r64586
2003-03-19 17:02:43 +00:00
Tom Tromey
2f29e5e867 parse.y (resolve_inner_class): Error if qualifier is a primitive type.
* parse.y (resolve_inner_class): Error if qualifier is a primitive
	type.

From-SVN: r64314
2003-03-13 18:35:01 +00:00
Andrew Haley
68566610af gjavah.c (is_first_data_member): New global variable.
2003-03-04  Andrew Haley  <aph@redhat.com>

        * gjavah.c (is_first_data_member): New global variable.
        (print_c_decl): If it's the first data member, align it as the
        superclass.
        (process_file): Set is_first_data_member.

From-SVN: r64247
2003-03-12 16:14:01 +00:00
Tom Tromey
8b8e6c64af parse.y (resolve_field_access): Initialize class if field is found in another static field.
* parse.y (resolve_field_access): Initialize class if field is
	found in another static field.
	* expr.c (build_class_init): Don't optimize out initialization of
	implemented interface.

From-SVN: r64185
2003-03-11 20:37:02 +00:00
Andrew Haley
3d874dea12 jcf-io.c (caching_stat): Initialize origsep to remove compiler warning.
2003-03-11  Andrew Haley  <aph@redhat.com>

        * jcf-io.c (caching_stat): Initialize origsep to remove compiler
        warning.

From-SVN: r64169
2003-03-11 11:10:05 +00:00
Ranjit Mathew
630287af48 jcf-io.c (caching_stat): Account for both DIR_SEPARATOR and DIR_SEPARATOR_2 for a target.
2003-03-10  Ranjit Mathew  <rmathew@hotmail.com>

        * jcf-io.c (caching_stat): Account for both DIR_SEPARATOR
        and DIR_SEPARATOR_2 for a target.
        Correct minor typos.

        * jcf-write.c (make_class_file_name): Take both DIR_SEPARATOR
        and DIR_SEPARATOR_2 for a target into account.

From-SVN: r64110
2003-03-10 19:39:18 +00:00
Neil Booth
4bfec48308 c-common.h (c_common_init, [...]): Update.
* c-common.h (c_common_init, c_common_post_options): Update.
	* c-objc-common.c (c_objc_common_init): Update for new prototype.
	* c-opts.c (saved_lineno): New.
	(c_common_post_options, c_common_init): Update prototypes,
	move call to cpp_read_main_file from latter to former.
	* c-tree.h (c_ojbc_common_init): Update.
	* langhooks-def.h (lhd_post_options): New.
	(LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
	* langhooks.c (lhd_post_options): New.
	* langhooks.h (struct lang_hooks): Update post_options and init hooks.
	* toplev.c (no_backend): New.
	(process_options): Call post_options hook and set main_input_filename
	and input_filename here.
	(lang_dependent_init, do_compile): post_options hook moved to
	process_options.
	* objc/objc-act.c (objc_init): Update prototype.
	* objc/objc-act.h (objc_init): Update prototype.
ada:
	* misc.c (gnat_init): Update for new prototype.
cp:
	* cp-tree.h (cxx_init): Update prototype.
	* lex.c (cxx_init): Similarly.
f:
	* com.c (ffe_init): Update prototype; move code to ffe_post_options.
	(ffe_post_options): New.
java:
	* lang.c (java_init): Update prototype, move code to java_post_options.
	(java_post_options): Similarly.
treelang:
	* tree1.c (in_fname): Fix type.
	(treelang_init): Update prototype and use of in_fname.
	* treelang.h (in_fname): Fix type.
	* treetree.c (tree_code_if_start, tree_code_if_else,
	tree_code_if_end, tree_code_create_function_prototype,
	tree_code_create_function_initial, tree_code_create_funciton_wrapup,
	tree_code_create_variable, tree_code_output_expression_statement)
	: Fix prototypes and use of filenames.
	* treetree.h: Similarly.

From-SVN: r64001
2003-03-08 21:12:26 +00:00
Ranjit Mathew
530d4230db jcf.h (COMPARE_FILENAMES): New macro similar to "strcmp" to compare file name components depending on the...
2003-03-05  Ranjit Mathew  <rmathew@hotmail.com>

	* jcf.h (COMPARE_FILENAMES): New macro similar to "strcmp" to
	compare file name components depending on the case-sensitivity
	or otherwise of the host file system.

	* jcf-path.c (add_entry): Use COMPARE_FILENAMES instead of
	"strcmp" to compare file name components.
	Use IS_DIR_SEPARATOR instead of comparing directly against
	DIR_SEPARATOR.
	(jcf_path_extdirs_arg): Use IS_DIR_SEPARATOR instead of
	comparing directly against DIR_SEPARATOR.

From-SVN: r63927
2003-03-07 04:40:08 +00:00
Tom Tromey
5993642d6f * Make-lang.in (java.tags): New target.
From-SVN: r63806
2003-03-04 21:33:09 +00:00
Roger Sayle
0829165849 re PR c++/9367 (error: nonnull argument with extern "C" snprintf prototype)
PR c++/9367
	* builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
	(BT_FN_INT_CONST_STRING_VALIST_ARG,
	BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
	BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
	BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
	BT_FN_INT_STRING_CONST_STRING_VAR,
	BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
	BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
	* builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
	ATTR_NONNULL_3): Also include the nothrow attribute.
	(sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
	vsnprintf, vscanf, vsscanf): Don't define attributes here.
	* builtins.def (putchar, puts): Make full C89 built-ins.
	(snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
	vsscanf, vsnprintf, vsprintf): New built-ins.
	* c-common.c (c_common_nodes_and_builtins): Handle new macro
	DEF_FUNCTION_TYPE_VAR_3.

	* doc/extend.texi: Document these new built-in functions.

	* java/builtins.c (builtin_type): Handle DEF_FUNCTION_TYPE_VAR_3.
	(initialize_builtins): Handle DEF_FUNCTION_TYPE_VAR_3.

	* g++.old-deja/g++.other/builtins10.C: New test for PR 9367.
	* gcc.dg/format/attr-5.c: Handle new conflicting types warning.

From-SVN: r63650
2003-03-02 01:34:34 +00:00
Tom Tromey
1152232731 parse.y (jdep_resolve_class): Only check deprecation if we found a decl.
* parse.y (jdep_resolve_class): Only check deprecation if we found
	a decl.

From-SVN: r63626
2003-03-01 21:46:17 +00:00
Tom Tromey
0ea05c0da3 re PR java/9695 (Inner class bug prevent GNU Classpath from compiling)
PR java/9695:
	* class.c (maybe_layout_super_class): Always pass a WFL to
	do_resolve_class.
	* parse.y (do_resolve_class): Updated comment to explain
	parameters.

From-SVN: r63584
2003-02-28 20:53:47 +00:00
Tom Tromey
49b973cbaf jcf-write.c (generate_classfile): Check whether class is deprecated before writing attribute count.
* jcf-write.c (generate_classfile): Check whether class is
	deprecated before writing attribute count.

From-SVN: r63482
2003-02-26 20:13:25 +00:00
Roger Sayle
b052d8ee4d builtins.def (DEF_LIB_ALWAYS_BUILTIN, [...]): Delete.
* builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
	(abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit):  Use
	the appropriate macro to define built-in function.
	(fmod,fmodf,fmodl): New built-in functions.

	* java/decl.c (java_init_decl_processing): Get soft_fmod_node from
	built_in_decls[BUILT_IN_FMOD] rather than define it ourselves.

	* doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.

From-SVN: r63445
2003-02-26 03:02:14 +00:00
Tom Tromey
f94ae54025 lang-options.h: Added -Wdeprecated.
* lang-options.h: Added -Wdeprecated.
	* gcj.texi (Warnings): Document -Wdeprecated.
	* java-tree.h (flag_deprecated): Declare.
	* lang.c (lang_W_options): Added deprecated.
	(flag_deprecated): New global.
	* chartables.h: Rebuilt.
	* gen-table.pl (process_one): Look at whitespace.
	(print_tables): Define LETTER_SPACE, LETTER_MASK.
	* parse.h (CLEAR_DEPRECATED): New macro.
	(CHECK_DEPRECATED_NO_RESET): New macro.
	* jcf-parse.c (handle_deprecated): New function.
	(HANDLE_DEPRECATED_ATTRIBUTE): New define.
	* jcf-reader.c (get_attribute): Handle Deprecated attribute.
	* parse.y (resolve_type_during_patch): Check deprecation.
	(jdep_resolve_class): Likewise.
	(process_imports): Likewise.
	(resolve_expression_name): Likewise.
	(check_deprecation): Strip arrays from decl.  Check
	flag_deprecated.
	(patch_method_invocation): Also check the particular constructor
	for deprecation.
	(register_fields): Use CHECK_DEPRECATED_NO_RESET in loop.
	* jcf-write.c (append_deprecated_attribute): New function.
	(generate_classfile): Generate deprecated attribute when
	appropriate.
	* lex.c (java_parse_doc_section): Return type now void.  Rewrote.
	(java_lex) [case '*']: Simplify logic.
	(java_start_char_p): Use LETTER_MASK.
	(java_part_char_p): Likewise.
	(java_space_char_p): New function.

From-SVN: r63350
2003-02-24 02:14:49 +00:00
Nathan Sidwell
dbbf88d1b8 Change base class access representation.
* tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
	TREE_VIA_PRIVATE): Remove.
	(BINFO_BASEACCESSES): New binfo elt.
	(BINFO_BASEACCESS): New accessor.
	(BINFO_ELTS): Increase.
	(TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
	(access_public_node, access_protected_node,
	access_private_node): New global nodes.
	* tree.c (build_common_tree_nodes_2): Initialize access nodes.
	* dbxout.c (dbxout_type): Adjust.
	* dwarf2out.c (gen_inheritance_die): Add access parameter.
	(gen_member_die): Adjust.
	* dwarfout.c (output_inheritance_die): ARG is array of two trees.
	(output_type): Adjust.
	* tree-dump.c (dequeue_and_dump): Adjust binfo dumping.

	Change base class access representation. Share virtual base
	binfos.
	* cp/call.c (build_special_member_call): Remove binfo_for_vbase
	call.
	* cp/class.c (build_base_path): Likewise.
	(build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
	(build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
	(make_new_vtable): Adjust.
	(force_canonical_binfo_r): Delete.
	(force_canonical_binfo): Delete.
	(mark_primary_virtual_base): Delete.
	(dfs_unshared_virtual_bases): Delete.
	(mark_primary_bases): Adjust.
	(maybe_warn_about_overly_private_class): Adjust.
	(dfs_base_derived_from): Delete.
	(base_derived_from): Follow the inheritance chain.
	(struct find_final_overrider_data): Add vpath member.
	(dfs_find_final_overrider): Adjust.
	(dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
	(find_final_overrider): Adjust.
	(update_vtable_entry_for_fn): Adjust.
	(modify_all_vtables): Adjust.
	(walk_subobject_offsets): Adjust.
	(layout_nonempty_base_or_field): Adjust.
	(layout_empty_base): Remove last parameter. Adjust.
	(build_base_field): Adjust.
	(build_base_fields): Adjust.
	(propagate_binfo_offsets): Remove last parameter. Adjust.
	(dfs_set_offset_for_unshared_vbases): Delete.
	(layout_virtual_bases): Adjust.
	(finish_struct_1): Adjust.
	(init_class_processing): Don't init access nodes.
	(dfs_get_primary_binfo): Delete.
	(get_primary_binfo): Adjust.
	(dump_class_hierarchy_r): Remove most derived arg, add IGO
	parameter. Adjust.
	(dump_class_hierarchy): Adjust.
	(finish_vtbls): Adjust.
	(get_original_base): Delete.
	(build_vtt_inits): Adjust.
	(dfs_build_secondary_vptr_vtt_inits): Adjust.
	(dfs_ctor_vtable_bases_queue_p): Adjust.
	(build_ctor_vtbl_group): Adjust.
	(dfs_accumulate_vtbl_inits): Adjust.
	(build_vtbl_initializer): Adjust.
	(build_vbase_offset_vtbl_entries): Adjust.
	(add_vcall_offset_vtbl_entries_1): Adjust.
	* cp/cp-tree.h (CPTI_ACCESS_*): Remove.
	(access_*_node): Remove.
	(CANONICAL_BINFO): Delete.
	(BINFO_UNSHARED_MARKED): Remove.
	(BINFO_MARKED): Set LANG_FLAG_0 directly.
	(SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
	(BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
	(SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
	Delete.
	(BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
	(SET_BINFO_NEW_VTABLE_MARKED): Adjust.
	(SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
	Delete.
	(BINFO_DEPENDENT_BASE_P): New.
	(dfs_walk, dfs_walk_real): Queue function takes derived binfo and
	index.
	(markedp, unmarkedp): Adjust.
	(dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
	dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
	find_vbase_instance, binfo_for_vbase): Delete.
	(copied_binfo, original_binfo): Declare.
	(finish_base_specifier): Add virtual_p arg.
	(unshare_base_binfos): Delete.
	(copy_base_binfos): Declare.
	(reverse_path): Delete.
	* cp/decl.c (xref_basetypes): Access and virtuality passed
	differently. Don't copy direct base binfos here. Call
	copy_base_binfos.
	* cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
	(initialize_vtbl_ptrs): Adjust.
	(expand_member_init): Adjust.
	* cp/parser.c (cp_parser_base_specifier): Adjust.
	* cp/pt.c (instantiate_class_template): Adjust.
	(get_template_base_recursive): Adjust.
	* cp/rtti.c (get_pseudo_ti_init): Adjust.
	(get_pseudo_ti_desc): Adjust.
	* cp/tree.c (unshare_base_binfos): Rename to ...
	(copy_base_binfos): ... here, reimplement.
	(make_binfo): Set BINFO_DEPENDENT_BASE_P.
	(reverse_path): Remove.
	* cp/typeck.c (get_delta_difference): Adjust error messages.
	* cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
	* cp/search.c (lookup_base_r): Adjust.
	(dynamic_cast_base_recurse): Adjust.
	(canonical_binfo): Remove.
	(dfs_canonical_queue): Remove.
	(dfs_assert_unmarked_p): Remove.
	(assert_canonical_unmarked): Remove.
	(shared_marked_p, shared_unmarked_p): Remove.
	(BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
	(dfs_access_in_type): Adjust.
	(access_in_type): Adjust.
	(dfs_accessible_queue_p): Adjust.
	(dfs_accessible_p): Adjust.
	(is_subobject_of_p_1, is_subobject_of_p): Remove.
	(struct lookup_field_info): Remove from_dep_base_p field.
	(lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
	(lookup_field_r): Remove dependent base code.
	(lookup_member): Likewise.
	(dfs_walk, dfs_walk_real): Add access arg to queue fn.
	(dfs_unmarked_real_bases_queue_p): Remove.
	(dfs_marked_real_bases_queue_p): Remove.
	(dfs_skip_vbases): Remove.
	(dfs_get_pure_virtuals): Adjust.
	(markedp, unmarkedp): Adjust.
	(marked_vtable_pathp, unmarked_vtable_pathp): Remove.
	(marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
	(dfs_unmark): Adjust.
	(dfs_get_vbase_types):Remove.
	(dfs_build_inheritance_graph_order): Remove.
	(get_vbase_types): Remove
	(dfs_find_vbase_instance): Remove.
	(find_vbase_instance): Remove.
	(dfs_debug_unmarkedp): Adjust.
	(dependent_base_p): Remove.
	(dfs_push_type_decls): Adjust.
	(dfs_push_decls): Adjust.
	(dfs_no_overlap_yet): Adjust.
	(copied_binfo): New function.
	(original_binfo): New function.
	(binfo_for_vbase): Remove.

	Change base class access representation.
	* java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
	(add_interface_do): Likewise.

From-SVN: r63172
2003-02-20 17:51:46 +00:00
Ranjit Mathew
697ec3260d decl.c (java_init_decl_processing): Change soft_lookupjnimethod_node to reflect the change in signature of...
2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>

	* decl.c (java_init_decl_processing): Change
	soft_lookupjnimethod_node to reflect the change in
	signature of _Jv_LookupJNIMethod in libjava/jni.cc
	* expr.c (build_jni_stub): Calculate and pass the size
	on the stack of the arguments to a JNI function. Use
	new target macro MODIFY_JNI_METHOD_CALL to allow a
	target to modify the call to a JNI method.

From-SVN: r62795
2003-02-12 23:39:50 +00:00
Roger Sayle
afc432a9ae jcf-io.c (java_or_class_file): Use libiberty's lbasename instead of basename to avoid compiler warnings on Tru64.
* jcf-io.c (java_or_class_file): Use libiberty's lbasename
	instead of basename to avoid compiler warnings on Tru64.

From-SVN: r62582
2003-02-08 18:49:22 +00:00
Tom Tromey
2bbc9ee16f Reverted erroneously applied patch
From-SVN: r62493
2003-02-06 19:01:24 +00:00
Joseph Myers
b3a8389d18 fastjar.texi: Update to GFDL 1.2.
fastjar:
	* fastjar.texi: Update to GFDL 1.2.

gcc:
	* doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
	doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
	* doc/install.texi: Update copyright dates.  Update to GFDL 1.2.

gcc/ada:
	* gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
	* gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
	gnat_ug_wnt.texi: Regenerate.

gcc/f:
	* g77.texi, invoke.texi: Update to GFDL 1.2.

gcc/java:
	* gcj.texi: Update to GFDL 1.2.

gcc/treelang:
	* treelang.texi: Update to GFDL 1.2.

libiberty:
	* libiberty.texi: Update to GFDL 1.2.

libstdc++-v3:
	* docs/html/17_intro/porting.texi: Update to GFDL 1.2.
	* docs/html/17_intro/porting.html: Regenerate.

From-SVN: r62365
2003-02-04 01:27:53 +00:00
Andrew Haley
2d7b3505f7 parse.y (java_expand_classes): Scan the whole class list looking for access methods that haven't yet been expanded.
2003-01-31  Andrew Haley  <aph@redhat.com>

        * parse.y (java_expand_classes): Scan the whole class list looking
        for access methods that haven't yet been expanded.

From-SVN: r62329
2003-02-03 17:44:55 +00:00
Adrian Bunk
7d503466fb Fix for java/4269:
2003-01-31 Adrian Bunk <bunk@fs.tum.de>

	Fix for java/4269:

	* jv-scan.c: Use HAVE_LANGINFO_CODESET instead of HAVE_NL_LANGINFO
	to fix bootstrap on sparc-unknown-netbsdelf1.5.
	* jcf-parse.c: Likewise.

From-SVN: r62310
2003-02-03 13:57:15 +00:00
Mark Wielaard
36da0e789c * gjavah.c (throwable_p): Allocate 1 more byte for string.
From-SVN: r62228
2003-02-01 01:31:31 +00:00
Nathan Sidwell
1824b90d08 tree.h (TYPE_BINFO_SIZE, [...]): Remove.
* tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
	(BINFO_ELTS): New #define.
	* stor-layout.c (finalize_record_size): Don't set them.
	* cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
	BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
	(BINFO_LANG_ELTS): New #define.
	* cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
	* java/class.c (make_class): Use BINFO_ELTS.
	(set_super_info): Likewse.
	(add_interface_do): Likewise.
	* objc/objc-act.c (start_class): Use BINFO_ELTS.

From-SVN: r62180
2003-01-31 14:46:55 +00:00
Tom Tromey
7e278bae4f jcf-parse.c (read_class): Update identifier's class value if it changed during parsing.
* jcf-parse.c (read_class): Update identifier's class value if it
	changed during parsing.

From-SVN: r62149
2003-01-30 17:15:36 +00:00
Loren J. Rittle
65eb9b872a Make-lang.in (po-generated): Find the targets in $(parsedir).
* Make-lang.in (po-generated): Find the targets in $(parsedir).
	Propagate change to all other rules as required.
	(java/parse-scan.o): Add explicit dependency on
	$(parsedir)/java/parse-scan.c .

From-SVN: r62128
2003-01-30 05:19:31 +00:00
Tom Tromey
c78f2b91f5 parse.y (patch_assignment): Only transform the rhs of an assignment when compiling to native.
* parse.y (patch_assignment): Only transform the rhs of an
	assignment when compiling to native.

From-SVN: r62104
2003-01-29 18:48:41 +00:00
Tom Tromey
0d42c3c26f * jcf-write.c (generate_bytecode_conditional): Typo fixes.
From-SVN: r62061
2003-01-29 01:19:40 +00:00
Tom Tromey
82b22c42f9 lex.c (java_lex): Don't include UEOF as part of token.
* lex.c (java_lex): Don't include UEOF as part of token.
	(java_read_unicode): Error if \u sequence prematurely terminated.

From-SVN: r61993
2003-01-28 18:47:52 +00:00
Tom Tromey
6a807d35fc parse.y (java_check_regular_methods): Check for construct after checking types in throws clause.
* parse.y (java_check_regular_methods): Check for construct after
	checking types in throws clause.

From-SVN: r61956
2003-01-28 06:18:31 +00:00
Jan Hubicka
272f51a36f builtins.c (DEF_BUILTIN): Accept 10 arguments.
* builtins.c (DEF_BUILTIN): Accept 10 arguments.
	(implicit_built_in_decls): New global array.
	(mathfn_built_in): New global function.
	(fold_trunc_transparent_mathfn): New static function
	(expand_builtin_strstr, expand_bultin_strchr,
	expand_builtin_strpbrk, expand_builtin_strcpy,
	expand_builtin_strncpy, expand_bultin_strcmp,
	expand_bultin_strncat, expand_builtin_fputs): Use
	implicint_built_in_decls.
	(fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
	* builtins.def: Fix comments.
	(DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
	DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
	DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
	DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
	(DEF_C99_C90RES_BULTIN): New.
	(*f, *l builtins): Update.
	* c-common.c (DEF_BUILTIN): Initialize implicit array.
	(c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
	* convert.c (strip_float_extensions): New global function.
	* tree.h (DEF_BUILTIN): Accept 10 arguments.
	(implicit_built_in_decls, mathfn_built_in, strip_float_extension):
	Declare.
	* java/builtins.c (define_builtin): Handle implicit.
	(DEF_BUILTIN): Update.
	* tm.texi (TARGET_C99_FUNCTIONS): Document.
	* defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
	* config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
	when using glibc2.

From-SVN: r61738
2003-01-24 22:07:01 +00:00