apbianco [Thu, 19 Nov 1998 01:54:44 +0000 (01:54 +0000)]
Wed Nov 18 23:54:53 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (unmangle_classname): Set QUALIFIED_P when appropriate.
(layout_class): Cope with methods featuring WFL in decl names.
* decl.c (unqualified_object_id_node): New global variable,
initialized.
(build_decl_no_layout): Removed.
* expr.c (build_primtype_type_ref): Handle Double.
(java_lang_expand_expr): Fixed indentations.
* java-tree.h (CLASS_METHOD_CHECKED_P): Flag deleted.
(flag_wall, flag_redundant, flag_not_overriding,
flag_static_local_jdk1_1, unqualified_object_id_node): Global
variable declarations.
(build_decl_no_layout): Removed prototype.
(java_get_real_method_name): Added prototype.
(IS_UNCHECKED_EXPRESSION_P): Renamed IS_UNCHECKED_EXCEPTION_P.
(java_parse_abort_on_error): Macro now just returns.
* jcf-parse.c (jcf_parse_source): Check fclose returned
value. Call emit_register_classes if java_report_errors returns
zero.
* lanc.c (flag_wall, flag_redundant, flag_not_overriding,
flag_static_local_jdk1_1): New integer flags.
(lang_decode_option): New flags set here.
* parse.h (GET_REAL_TYPE, GET_METHOD_NAME): New macros.
(OBSOLETE_MODIFIER_WARNING): Issue error message conditionally to
the flag_redundant variable.
(SET_TYPE_FOR_RESOLUTION): Consider Object being java.lang.Object
when parsing java.lang.Object class.
(BUILD_MONITOR_ENTER, BUILD_MONITOR_EXIT): Added terminal
NULL_TREE to build.
(resolve_qualified_expression_name): Fixed indentation.
(patch_array_ref): Changed prototype.
(not_initialized_as_it_should_p): Prototype removed.
(java_report_errors): Added function prototype.
* parse.y (formal_parameter:): Changed error message for not yet
supported final parameters.
(class_type_list:): Set both PURPOSE and VALUE of created
TREE_LIST to be class_type.
(primary_no_new_array:): Handle class literals on primitive types.
(parse_warning_context): Reinstalled correct force_error and
do_warning flags setups.
(java_report_errors): Changed prototype. Return java_error_count
value.
(variable_redefinition_error): Consider treating variable type as
a fake pointer.
(create_interface): Warn about redundant abstract modifier if
flag_redundant is set. Changed error message.
(lookup_field_wrapper): Save/restore globals before/after looking
up field.
(duplicate_declaration_error_p): Consider treating declaration
type as a fake pointer.
(register_fields): Extract real type from dependency node. Check
for duplicate field declaration after type adjustment. Use
DECL_INITIAL to store static final initialized values.
(method_header): Extract real function type from dependency node.
(check_abstract_method_header): Use GET_METHOD_NAME.
(obtain_incomplete_type): Layout fake pointer type.
(safe_layout_class): Don't try to check for methods before layout.
(java_complete_class): Don't check for correct throws clause
elements inheritance here.
(resolve_and_layout): Broadened name parameter meaning.
(reset_method_name): Use GET_METHOD_NAME.
(java_get_real_method_name): New function.
(java_check_regular_methods): Don't check methods in
java.lang.Object. Verify lineage of throws clause elements. Use
flag_no_overriding in warning report.
(check_throws_clauses): Don't check if class was from
bytecode. Use IS_UNCHECKED_EXCEPTION_P macro.
(java_check_methods): Don't set CLASS_METHOD_CHECKED_P flag.
(declare_local_variables): Use flag_static_local_jdk1_1 to report
warning on unsupported final local variables. Use build_decl
instead of build_decl_no_layout. Get real local variable type from
dependency node.
(source_start_java_method): Get real parameter type from
dependency node. Call build_decl instead of build_decl_no_layout.
(java_layout_classes): Reverse tree and layout type and class as
required. Mark class as loaded when done.
(resolve_field_access): Fixed indentation. Restricted condition
leading to static field access code generation. Set field_type
decl's TREE_TYPE if QUAL_DECL_TYPE not available.
(resolve_qualified_expression_name): Initialize type_found to
null. Handle static field resolved during qualification. Fixed
layout on non primitive field decl types.
(not_accessible_p): Fixed typo in comment.
(patch_method_invocation): Resolve and layout class to search from
type.
(lookup_method_invoke): Keep integer constant 0 as is. Resolve and
layout non primitive type, if necessary. Make method node only to
report errors.
(find_applicable_accessible_methods_list): Consider WFL'ed method
decl names. Fixed indentation.
(argument_types_convertible): Resolve and layout target type if
necessary.
(java_complete_tree): Fixed indentation problems. Rewrote
CALL_EXPR thrown exceptions check. Re-installed further processing
of the assignment in certain cases.
(patch_assignment): Call maybe_build_primttype_type_ref to perform
inlining on class literals.
(valid_builtin_assignconv_identity_widening_p): Cope with constant
0 literal.
(valid_method_invocation_conversion_p): Likewise.
(patch_string): Temporary disable forbidden use of `this' in
explicit constructor invocations when doing string concatenation
within their scope.
(patch_unaryop): Added comment. Reinstalled code to disable
further check on assignment operation with cast expression RHS.
(patch_switch_statement): Fixed indentation.
(build_try_statement): Call build_decl instead of
build_decl_no_layout.
(patch_synchronized_statement): Likewise.
(patch_throw_statement): Use IS_UNCHECKED_EXCEPTION_P instead of
IS_UNCHECKED_EXPRESSION_P.
(check_thrown_exceptions_do): Changed leading comment. Resolve and
layout argument exception type.
(purge_unchecked_exceptions): Use IS_UNCHECKED_EXCEPTION_P instead
of IS_UNCHECKED_EXPRESSION_P.
Fixed problems found when compiling a mixture of .class and .java
files in the same package. Some support for the compilation of libjava.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23704
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 19 Nov 1998 00:45:03 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23703
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Wed, 18 Nov 1998 19:49:11 +0000 (19:49 +0000)]
Regenerate config.in (accidentally omitted from last patch.)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23700
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Wed, 18 Nov 1998 17:58:33 +0000 (17:58 +0000)]
* cp-tree.h (PTRMEM_CST_CLASS): Fix typo.
(global_delete_fndecl): New variable.
* decl.c (global_delete_fndecl): Define it.
(init_decl_processing): Set it.
* init.c (build_builtin_delete_call): Use it.
* tree.c (mapcar): Recursively call mapcar for the type of EXPR
nodes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23699
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Wed, 18 Nov 1998 17:52:45 +0000 (17:52 +0000)]
Fix memory corruption probelem in reload.
* reload.c (find_reloads_address_part): If have a CONST_INT, create
a new one before passing it to force_const_mem.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23698
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Wed, 18 Nov 1998 16:32:19 +0000 (16:32 +0000)]
Fix reload problem found by thumb port.
* reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in
find_reloads_address call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23697
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 18 Nov 1998 14:15:03 +0000 (14:15 +0000)]
* expr.c (store_expr): Don't generate load-store pair
if TEMP is identical (according to ==) with TARGET.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23696
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 18 Nov 1998 12:27:30 +0000 (12:27 +0000)]
* decl.c (cplus_expand_expr_stmt): Always complain about unresolved
type.
Fixes Sec13/4/E13417.C
* tree.c (lvalue_p_1): An INDIRECT_REF to a function is an lvalue.
* call.c (build_object_call): Also support references to functions.
* typeck.c (convert_for_initialization): Don't decay a function
if the target is a reference to function.
Fixes Sec13/2_1_1_2/P13120.C
* search.c (add_conversions): Get all the overloads from a class.
Fixes Sec13/2/P13101.C
* decl.c (grok_ctor_properties): Complain about any constructor
that will take a single arg of the class type by value.
Fixes Sec12/8/S12072.C
* typeck2.c (build_functional_cast): Can't create objects of
abstract classes this way.
* cvt.c (ocp_convert): Likewise.
Fixes Sec10/4/S10018.C
* decl.c (grokfndecl): Member functions of local classes are not
public.
Fixes Sec10/3/P10092.C
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23695
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Wed, 18 Nov 1998 08:33:11 +0000 (08:33 +0000)]
* Make-lang.in (cc1plus): Add dependency on hash.o.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23694
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 18 Nov 1998 02:25:18 +0000 (02:25 +0000)]
up
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23693
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 18 Nov 1998 02:24:18 +0000 (02:24 +0000)]
new
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23692
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 18 Nov 1998 02:21:54 +0000 (02:21 +0000)]
* search.c (get_abstract_virtuals): Complain about virtuals with
no final overrider.
* typeck2.c (abstract_virtuals_error): Remove handling for virtuals
with no final overrider.
* class.c (override_one_vtable): Don't set DECL_ABSTRACT_VIRTUAL_P
on virtuals with no final overrider.
Fixes Sec10/3/E10120.C
* lex.c (reinit_parse_for_block): Add a space after the initial ':'.
Fixes Sec9/7/R09434.r0
* class.c (finish_struct_1): Don't remove zero-width bit-fields until
after layout_type.
Fixes Sec9/6/P09024.C
* friend.c (do_friend): Don't set_mangled_name_for_decl.
Fixes Sec9/2/P09075.C
* class.c (finish_struct_anon): Complain about non-fields.
* decl2.c (build_anon_union_vars): Likewise.
* decl.c (grokdeclarator): Normal data members can't have the same
name as the class, either.
* class.c (finish_struct_anon): Neither can members of an
anonymous union.
Fixes Sec9/2/C09268.cm
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23691
138bc75d-0d04-0410-961f-
82ee72b054a4
fx [Wed, 18 Nov 1998 02:11:38 +0000 (02:11 +0000)]
1998-11-18 Dave Love <d.love@dl.ac.uk>
* g77.f-torture/compile/981117-1.f: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23690
138bc75d-0d04-0410-961f-
82ee72b054a4
fx [Wed, 18 Nov 1998 02:11:07 +0000 (02:11 +0000)]
New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23689
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 18 Nov 1998 00:45:02 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23688
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Tue, 17 Nov 1998 14:26:40 +0000 (14:26 +0000)]
* reload1.c (reload_reg_free_for_value_p): When considered reload
has an output, matching inputs are not sufficient to avoid conflict.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23687
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Tue, 17 Nov 1998 12:51:20 +0000 (12:51 +0000)]
* cp-tree.h (TYPE_ALIAS_SET): Document language-dependent uses.
(TYPE_BINFO): Likewise.
(IS_AGGR_TYPE): Tweak.
(SET_IS_AGGR_TYPE): New macro.
(CLASS_TYPE_P): Tweak.
(lang_type): Group mark bitfields together. Remove linenum.
(CLASSTYPE_SOURCE_LINE): Remove macro.
(CLASSTYPE_MARKED_N): New macro.
(SET_CLASSTYPE_MARKED_N): Likewise.
(CLEAR_CLASSTYPE_MARKED_N): Likewise.
(CLASS_TYPE_MARKED_*): Use them.
(SET_CLASSTYPE_MARKED_*): Likewise.
(CLEAR_CLASSTYPE_MARKED_*): Likewise.
(TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO): Likewise.
(TYPE_TEMPLATE_INFO): Handle TEMPLATE_TEMPLATE_PARMs as well.
(TYPENAME_TYPE_FULLNAME): Use TYPE_BINFO rather than CLASSTYPE_SIZE.
* class.c (class_cache_obstack): New variable.
(class_cache_firstobj): Likewise.
(finish_struct): Don't set CLASSTYPE_SOURCE_LINE.
(pushclass): Free the cache, when appropriate.
(popclass): Tidy.
(maybe_push_cache_obstack): Use class_cache_obstack.
* decl.c (include hash.h).
(typename_hash): New function.
(typename_compare): Likewise.
(build_typename_type): Check the hash table to avoid creating
duplicates.
(build_ptrmemfunc_type): Use SET_IS_AGGR_TYPE.
(grokdeclarator): Use CLASS_TYPE_P.
(xref_basetypes): Likewise.
(start_function): Likewise. Don't put current_class_ref on the
permanent obstack.
* error.c (dump_type_real): Use TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO
and TYPE_TI_ARGS.
* lex.c (note_got_semicolon): Use CLASS_TYPE_P.
(make_lang_type): Don't create TYPE_LANG_SPECIFIC and associated
fields for types other than class types. Do clear TYPE_ALIAS_SET
for types other than class types, though.
* method.c (build_overload_identifier): Use CLASS_TYPE_P and
TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
* pt.c (process_template_parm): Don't set
CLASSTYPE_GOT_SEMICOLON.
(lookup_template_class) Use TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
Coerce arguments on the momentary obstack.
(for_each_template_parm): Use TEMPLATE_TEMPLATE_PARM_TEMPLATE_INFO.
(instantiate_class_template): Calculate template arguments on the
momentary obstack. Tidy.
(tsubst_template_arg_vector): Use make_temp_vec.
(tsubst_aggr_type): Put template arguments on the momentary
obstack.
(tsubst_decl): Likewise.
(tsubst): Copy the array bounds index to the permanent obstack
before building index types. Use new macros.
(unify): Use new macros.
(do_type_instantiation): Likewise.
* search.c (lookup_fnfields_1): Use new macros.
(dfs_pushdecls): Build envelopes on the cache obstack.
(dfs_compress_decls): Use new macros.
(push_class_decls): Build on the cache obstack.
* semantics.c (finish_typeof): Don't set CLASSTYPE_GOT_SEMICOLON.
* sign.c (build_signature_pointer_or_reference_type): Use
SET_IS_AGGR_TYPE.
* tree.c (make_binfo): Check CLASS_TYPE_P.
(copy_template_template_parm): Adjust.
(make_temp_vec): Use push_expresion_obstack.
* typeck.c (complete_type): Use new macros.
(comptypes): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23686
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 17 Nov 1998 12:41:47 +0000 (12:41 +0000)]
update
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23685
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 17 Nov 1998 12:36:00 +0000 (12:36 +0000)]
* pt.c (tsubst): Add diagnostics for invalid array, reference
and pointer to member types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23684
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Tue, 17 Nov 1998 11:50:24 +0000 (11:50 +0000)]
* hash.h (hash_table_key): New type.
(hash_entry): Change `string' field to generic `key'.
(hash_table): Add `comp' and `hash' functions.
(hash_table_init): Take them as input.
(hash_table_init_n): Likewise.
(hash_lookup): Modify for generic keys.
(hash_newfunc): Likewise.
(hash_traverse): Likewise.
(string_hash): New function.
(string_compare): Likewise.
(string_copy): Likewise.
* hash.c (hash_table_init_n): Modify for generic keys.
(hash_table_init): Likewise.
(hash_lookup): Likewise.
(hash_newfunc): Likewise.
(hash_traverse): Likewise.
(string_hash): Split out from hash_lookup.
(string_compare): New function.
(string_copy): Split out from hash_lookup.
* tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash
tables.
(symbol_hash_lookup): Likewise.
(file_hash_newfunc): Likewise.
(file_hash_lookup): Likewise.
(demangled_hash_newfunc): Likewise.
(demangled_hash_lookup): Likewise.
(tlink_int): Likewise.
(read_repo_file): Likewise.
(recompile_files): Likewise.
(demangle_new_symbols): Likewise.
(scan_linker_output): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23683
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Tue, 17 Nov 1998 09:14:33 +0000 (09:14 +0000)]
* flow.c (insn_dead_p): New argument NOTES. Changed all callers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23680
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 17 Nov 1998 00:45:33 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23679
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 16 Nov 1998 20:45:16 +0000 (20:45 +0000)]
* typeck2.c (my_friendly_abort): Don't fatal twice in a row.
* typeck.c (c_expand_start_case): Use build_expr_type_conversion.
Simplify.
Fixes Sec6/4_2/G06164.gr
* parse.y (structsp): Fix cut-and-paste error.
Fixes Sec6/4_2/C06166.cm
* init.c (build_new): Complain about non-integral size.
Fixes Sec5/3_4/E05276.C
* parse.y (unary_expr): Complain about defining types in sizeof.
Fixes Sec5/3_3/S05178.C
* typeck.c (expr_sizeof): Complain about sizeof an overloaded fn.
Fixes Sec5/3_3/S05161.C
* rtti.c (build_x_typeid): Complain about typeid without
including <typeinfo>.
(get_typeid): Likewise. Complain about typeid of incomplete type.
(get_tinfo_fn_dynamic): Likewise.
(get_typeid_1): Not static anymore.
* except.c (build_eh_type_type): Use get_typeid_1.
Fixes Sec5/2_8/C05517.cm
* rtti.c (build_dynamic_cast_1): Give errors for dynamic_cast to
ambiguous or private bases. Fix warning for reference cast.
Fixes Sec5/2_7/C05516.cm
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23678
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Mon, 16 Nov 1998 15:00:10 +0000 (15:00 +0000)]
* rs6000.c (output_mi_thunk): Improve test for local branch.
* rs6000.c (output_mi_thunk): Correct test for aggregate values.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23676
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 16 Nov 1998 13:04:01 +0000 (13:04 +0000)]
* reload1.c (reload_reg_free_before_p): Delete.
Changed all callers to use reload_reg_free_for_value_p instead.
(reload_reg_free_for_value_p): Handle more reload types.
A RELOAD_FOR_INPUT doesn't conflict with its
RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
Add special case for OUT == const0_rtx.
Added ignore_address_reloads argument. Changed all callers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23675
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Mon, 16 Nov 1998 08:34:38 +0000 (08:34 +0000)]
* cp-tree.h (DECL_TEMPLATE_INSTANTIATED): New macro.
* decl.c (duplicate_decls): Remove special-case code to deal with
template friends, and just do the obvious thing.
* pt.c (register_specialization): Tweak for clarity, and also to
clear DECL_INITIAL for an instantiation before it is merged with a
specialization.
(check_explicit_specialization): Fix indentation.
(tsubst_friend_function): Handle both definitions in friend
declaration and outside friend declarations.
(tsubst_decl): Don't clear DECL_INITIAL for an instantiation.
(regenerate_decl_from_template): Tweak accordingly.
(instantiate_decl): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23674
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 16 Nov 1998 05:05:20 +0000 (05:05 +0000)]
* decl.c (cplus_expand_expr_stmt): Promote warning about naked
member function reference to error.
* cvt.c (ocp_convert): Complain about converting an overloaded
function to void.
* init.c (build_offset_ref): Just return a lone static member
function.
* decl.c (cp_finish_decl): Only complain about real CONSTRUCTORs,
not internal ones.
* typeck.c (build_binary_op_nodefault): Improve error handling.
* decl.c (grokfndecl): Complain about making 'main' a template.
* typeck.c (string_conv_p): Don't convert from wchar_t[] to char*.
* call.c (build_method_call): Handle a BIT_NOT_EXPR around a
TYPE_DECL in a template.
* typeck2.c (my_friendly_abort): Add URL in the other case, too.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23673
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 16 Nov 1998 02:25:57 +0000 (02:25 +0000)]
* toplev.c (compile_file): Don't pedwarn about undefined static
functions just because we passed -Wunused.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23672
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 16 Nov 1998 00:45:03 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23671
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Sun, 15 Nov 1998 20:43:19 +0000 (20:43 +0000)]
* function.c (purge_addressof_1): Unshare rtl created by
store_bit_field.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23670
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Sun, 15 Nov 1998 20:24:19 +0000 (20:24 +0000)]
* regmove.c (regmove_optimize): Don't do anything but
optimize_reg_copy[123] when flag_regmove is not set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23669
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sun, 15 Nov 1998 19:24:43 +0000 (19:24 +0000)]
* decl.c (struct cp_function): Add named_label_uses.
(push_cp_function_context): Save it.
(pop_cp_function_context): Restore it.
(define_label): Also complain about jumping into the scope of
non-POD objects that don't have constructors.
* tree.c (pod_type_p): New fn.
Fixes g++.other/init9.C
* pt.c (instantiate_class_template): Clear TYPE_BEING_DEFINED sooner.
* rtti.c (synthesize_tinfo_fn): Call import_export_decl here.
(get_tinfo_fn): Not here.
* repo.c (repo_get_id): Abort if we get called for an incomplete
type.
Fixes g++.pt/instantiate4.C
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23667
138bc75d-0d04-0410-961f-
82ee72b054a4
oliva [Sun, 15 Nov 1998 19:00:45 +0000 (19:00 +0000)]
* g++.old-deja/g++.eh/throw2.C: New test. CV-qualifiers are not
properly discarded.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23666
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Sun, 15 Nov 1998 17:16:06 +0000 (17:16 +0000)]
* jvgenmain.c: Need to #include "gansidecl.h" (to get PROTO).
* jcf-write.c (perform_relocations): Move check out one loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23665
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Sun, 15 Nov 1998 17:16:05 +0000 (17:16 +0000)]
8
* jvgenmain.c: Need to #include "gansidecl.h" (to get PROTO).
* jcf-write.c (perform_relocations): Move check out one loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23664
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Sun, 15 Nov 1998 15:12:48 +0000 (15:12 +0000)]
Fix typo
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23663
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Sun, 15 Nov 1998 15:11:55 +0000 (15:11 +0000)]
* Make-lang.in: Fix reference to srcdir.
* jv-scan.c: Add missing xmalloc prototype.
* jvgenmain.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23662
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Sun, 15 Nov 1998 14:37:52 +0000 (14:37 +0000)]
�
* decl.c (error_mark_node), java-tree.h: New global.
* parse.y: Use empty_stmt_node instead of size_zero_node.
(build_if_else_statement): If missing else, use empty_stmt_node.
* parse.y (not_initialized_as_it_should_p): Removed, with its callers.
(java_complete_expand_method): Complain if return is missing.
(java_check_regular_methods): Comment out incorrect error check.
(not_accessible_p): Fix incorrect handling of protected methods.
(patch_method_invocation): Pass correct context to not_accessible_p.
(find_applicable_accessible_methods_list): Likewise.
(qualify_ambiguous_name): If ARRAY_REF, it's an expression name.
(java_complete_tree): For CASE_EXPR and DEFAULT_EXPR, set
TREE_TYPE (to void_type_node); otherwise expand_expr crashes.
(patch_if_else_statement): Fix setting of CAN_COMPLETE_NORMALLY.
* jcf-write.c (CHECK_OP, CHECK_PUT): Add some error checking.
(push_int_const): Remove reundant NOTE_PUSH.
(generate_bytecode_insns - case STRING_CST): Do NOTE_PUSH.
(- case SWITCH_EXPR): Fix code generation bug.
(- case PREDECREMENT_EXPR etc): Remove redundant NOTE_PUSH.
(generate_classfile): More robust for abstract methods.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23661
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Sun, 15 Nov 1998 14:28:10 +0000 (14:28 +0000)]
* Makefile.in: jv-scan and jvgenmain all require libiberty.
* Make-lang.in: Ditto.
* jv-scan.c: Remove xmalloc and xstrdup definitions.
* jvgenmain: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23660
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Sun, 15 Nov 1998 14:12:42 +0000 (14:12 +0000)]
8
* jcf-parse.c (HANDLE_EXCEPTIONS_ATTRIBUTE): New macro.
* jcf-io.c (find_class): Simpler/cleaner structure fixes a bug.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23659
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 15 Nov 1998 00:45:02 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23658
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Sat, 14 Nov 1998 17:22:23 +0000 (17:22 +0000)]
Allow uses of interface types to verify. This is not really
type-safe, but it matches what Sun does, and is OK as long as
there are appropriate run-time checks.
* verify.c (merge_types): If merging two interface types,
just set the result to java.lang.Object.
* expr.c (pop_type): Any interface is matches by java.lang.Object.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23657
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Sat, 14 Nov 1998 17:22:22 +0000 (17:22 +0000)]
�
Allow uses of interface types to verify. This is not really
type-safe, but it matches what Sun does, and is OK as long as
there are appropriate run-time checks.
* verify.c (merge_types): If merging two interface types,
just set the result to java.lang.Object.
* expr.c (pop_type): Any interface is matches by java.lang.Object.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23656
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sat, 14 Nov 1998 15:07:03 +0000 (15:07 +0000)]
* alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode
value in paradoxical SImode result, rather than truncating midpoint.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23655
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sat, 14 Nov 1998 00:45:02 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23654
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sat, 14 Nov 1998 00:01:18 +0000 (00:01 +0000)]
Oops, killed too much.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23653
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 13 Nov 1998 22:27:44 +0000 (22:27 +0000)]
* alpha.c (reg_not_elim_operand): New.
* alpha.h (PREDICATE_CODES): Add it.
* alpha.md (s48addq, s48subq patterns): Use it as the predicate
for the multiplicand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23650
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 13 Nov 1998 20:10:12 +0000 (20:10 +0000)]
bad test
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23647
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 13 Nov 1998 20:08:16 +0000 (20:08 +0000)]
fix
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23646
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Fri, 13 Nov 1998 19:57:13 +0000 (19:57 +0000)]
* rs6000.md (movsf): Remove explicit secondary-reload-like
functionality. Only truncate SFmode store if in FPR.
(movsf splitters): Combine const_double splitters.
(movsf_hardfloat): Add GPR support.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23645
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Fri, 13 Nov 1998 16:36:04 +0000 (16:36 +0000)]
* configure.in: Check for calloc.
* calloc.c: New file.
* xmalloc.c (xcalloc): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23642
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Fri, 13 Nov 1998 16:33:50 +0000 (16:33 +0000)]
* libiberty.h: Prototype xcalloc.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23641
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Fri, 13 Nov 1998 14:09:53 +0000 (14:09 +0000)]
* gjavah.c (main): Handle --output-class-directory argument.
* jvspec.c (lang_specific_driver): Translate `-d' into
-foutput-class-dir.
* jcf.h (jcf_write_base_directory): Declare.
* lang.c (lang_decode_option): Recognize -foutput-class-dir.
* lang-options.h: Mention -foutput-class-dir.
* jcf-write.c (jcf_write_base_directory): New global.
(make_class_file_name): Put generated .class file into `-d'
directory, or into source directory if -d not given. Function now
static.
(write_classfile): Free class file name. Handle case where class
file name is NULL.
(DIR_SEPARATOR): New macro.
Include <sys/stat.h>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23640
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Fri, 13 Nov 1998 13:02:24 +0000 (13:02 +0000)]
* except.c (expand_throw): Make sure first argument to
__cp_push_exception is of type `void*' to avoid spurious error
messages.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23639
138bc75d-0d04-0410-961f-
82ee72b054a4
scox [Fri, 13 Nov 1998 11:40:49 +0000 (11:40 +0000)]
* splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to deprecate
* t-splet (MULTILIB_OPTIONS): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23636
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Fri, 13 Nov 1998 11:31:07 +0000 (11:31 +0000)]
* Makefile.in (prefix): New macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23635
138bc75d-0d04-0410-961f-
82ee72b054a4
scox [Fri, 13 Nov 1998 11:04:17 +0000 (11:04 +0000)]
* sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23634
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Fri, 13 Nov 1998 05:55:40 +0000 (05:55 +0000)]
* cplus-dem.c (demangle_prefix): Use the last __
in the mangled name when looking for the signature. This allows
template names to begin with __.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23627
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 13 Nov 1998 00:45:02 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23626
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Thu, 12 Nov 1998 19:37:47 +0000 (19:37 +0000)]
Jumbo patch from Geoff Noer to rename CYGWIN32 to CYGWIN.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23622
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Thu, 12 Nov 1998 16:15:18 +0000 (16:15 +0000)]
�
Extensive changes. See ChangeLog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23621
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Thu, 12 Nov 1998 16:15:15 +0000 (16:15 +0000)]
8
Extensive changes. See ChangeLog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23620
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Thu, 12 Nov 1998 16:15:14 +0000 (16:15 +0000)]
*** empty log message ***
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23619
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Thu, 12 Nov 1998 16:15:08 +0000 (16:15 +0000)]
0
Extensive changes. See ChangeLog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23618
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Thu, 12 Nov 1998 14:26:09 +0000 (14:26 +0000)]
h
* class.c: Remove some unused variables.
* constants.c (find_string_constant): New function.
(count_constant_pool_bytes): Fix to correctly handle wide constants.
* decl.c (complete_start_java_method): Don't _Jv_InitClass
if flag_emit_class_files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23617
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Thu, 12 Nov 1998 14:26:08 +0000 (14:26 +0000)]
�
* class.c: Remove some unused variables.
* constants.c (find_string_constant): New function.
(count_constant_pool_bytes): Fix to correctly handle wide constants.
* decl.c (complete_start_java_method): Don't _Jv_InitClass
if flag_emit_class_files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23616
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Thu, 12 Nov 1998 11:43:19 +0000 (11:43 +0000)]
* jcf-io.c (find_class): Added explanatory comment.
* jcf-path.c (add_entry): Look for `.zip' at end of filename. Add
trailing slash to `.zip' entries.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23615
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Thu, 12 Nov 1998 08:50:52 +0000 (08:50 +0000)]
* jvspec.c (lang_specific_driver): Correctly handle case where
GC_NAME not defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23614
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 12 Nov 1998 00:46:02 +0000 (00:46 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23613
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Wed, 11 Nov 1998 22:48:27 +0000 (22:48 +0000)]
* jvspec.c (GC_NAME): New define.
(lang_specific_driver): Use GC_NAME. Add GC_NAME to command line
if required.
* Make-lang.in (jvspec.o): Define WITH_GC_<name>.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23612
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Wed, 11 Nov 1998 22:14:01 +0000 (22:14 +0000)]
* Makefile.in (JAVAGC): New macro.
* configure: Rebuilt.
* configure.in: Recognize --enable-java-gc argument. Subst
`JAVAGC' variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23611
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 11 Nov 1998 19:36:29 +0000 (19:36 +0000)]
Handle equivalences that have been obscured by gcse:
* reload1.c (reload): Handle equivalences set up in multiple places.
* local-alloc.c (reg_equiv_init_insns): New variable.
(no_equiv): New function.
(update_equiv_regs): Handle equivalences set up in multiple places.
Don't ignore an insn just because its destination is likely to be
spilled.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23610
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Wed, 11 Nov 1998 19:10:06 +0000 (19:10 +0000)]
�
* jcf-dump.c (TABLE_SWITCH): Fix typos.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23609
138bc75d-0d04-0410-961f-
82ee72b054a4
korbb [Wed, 11 Nov 1998 15:09:12 +0000 (15:09 +0000)]
Dinkleberry from prior incarnation
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23608
138bc75d-0d04-0410-961f-
82ee72b054a4
tromey [Wed, 11 Nov 1998 13:52:49 +0000 (13:52 +0000)]
* jcf-dump.c (main): Correctly recognize `--'-style long options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23607
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Wed, 11 Nov 1998 13:48:34 +0000 (13:48 +0000)]
Fix x86 __throw -O0 -fpic compiler abort.
* except.c (expand_eh_return): Readd force_operand call lost in
Sept 15 change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23606
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 11 Nov 1998 03:42:37 +0000 (03:42 +0000)]
* pt.c (try_one_overload): Take orig_targs again. Only check for
mismatches against them; we don't care what a previous call found.
(resolve_overloaded_unification): Adjust.
* search.c (lookup_field): Don't return anything for a non-type
field from a dependent type.
* decl.c (grokdeclarator): Resolve SCOPE_REFs of the current class
in an array declarator.
(start_decl): Push into the class before looking for the field.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23605
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 11 Nov 1998 03:37:20 +0000 (03:37 +0000)]
new
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23604
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 11 Nov 1998 01:47:34 +0000 (01:47 +0000)]
Delete whitespace at EOL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23603
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 11 Nov 1998 01:41:12 +0000 (01:41 +0000)]
Mon Nov 2 15:15:33 1998 Geoffrey Noer <noer@cygnus.com>
* mh-cygwin32: delete
* mh-cygwin: was mh-cygwin32
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23602
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 11 Nov 1998 00:45:02 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23601
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 10 Nov 1998 23:42:22 +0000 (23:42 +0000)]
Mon Oct 26 12:17:23 1998 Nick Clifton <nickc@cygnus.com>
* jcf-parse.c (get_constant): Place braces around code to compute
'd' when REAL_ARITHMETIC is not defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23600
138bc75d-0d04-0410-961f-
82ee72b054a4
apbianco [Tue, 10 Nov 1998 18:04:25 +0000 (18:04 +0000)]
Tue Nov 10 12:34:03 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (is_compiled_class): Call safe_layout_class for class
compiled from source.
* conver.h (convert_to_integer, convert_to_real,
convert_to_pointer): Added prototypes.
* decl.c (init_decl_processing): Non longer push the decls of
`methodtable', `constants', `Class', `Field', `dispatchTable'
`jexception' and `Method'.
* expr.c (build_invokeinterface): New function.
(expand_invoke): static variable CLASS_IDENT now in
build_invokeinterface. Use build_invokeinterface.
(expand_java_field_op): Moved code to inline
java.lang.PRIMTYPE.TYPE into a function.
(build_primtype_type_ref): New function.
* java-tree.def (INSTANCEOF_EXPR): New tree code.
* java-tree.h (CLASS_METHOD_CHECKED_P, METHOD_DEPRECATED,
FIELD_DEPRECATED, CLASS_DEPRECATED): New flag macros.
(DECL_CONSTRUCTOR_P): Fixed typo in comment.
(DECL_LOCAL_STATIC_VALUE): New macro.
(build_invokeinterface, build_primtype_type_ref): New function
prototypes.
(java_parse_abort_on_error): Macro rewritten.
* jcf-parse.c (current_method): Add comment to declaration.
(parse_zip_file_entries, process_zip_dir, void parse_source_file):
Function prototypes fixed.
(jcf_parse_source): push/pop parser context. save/restore global.
(parse_source_file): Fixed leading comment. Now take a
IDENTIFIER_NODE as an argument. Doesn't check methods, layout
classes and pop the parser context anymore.
(yyparse): Push parser context, save globals, parse the source
file, restore globals and pop the parser context when processing a
source file.
* jcf.h (VERBOSE_SKELETON): Replaces SOURCE_FRONTEND_DEBUG define.
* lex.c (java_parse_doc_section): New function.
(java_lex): Call java_parse_doc_section when appropriate. Build an
operator around INSTANCEOF_TK.
* lex.h (java_lineterminator, java_sprint_unicode,
java_unicode_2_utf8, java_lex_error, java_store_unicode):
Prototypes rewritten.
(java_parse_escape_sequence, java_letter_or_digit_p,
java_parse_doc_section, java_parse_end_comment, java_get_unicode,
java_read_unicode, java_store_unicode, java_read_char,
java_allocate_new_line, java_unget_unicode, java_sneak_unicode):
Added function prototypes.
* parse.h (VERBOSE_SKELETON): Replaces SOURCE_FRONTEND_DEBUG
define.
(JNULLP_TYPE_P, CHECK_METHODS, CHECK_DEPRECATED, REGISTER_IMPORT):
New macros
(struct parser_ctxt): New fields: deprecated,
current_parsed_class_un, gclass_list.
(fix_method_argument_names, issue_warning_error_from_context,
resolve_package, lookup_package_type): New function prototypes.
(resolve_expression_name): Fixed function prototype.
(find_applicable_accessible_methods_list): Fixed indentation, added
extra argument in prototype.
(check_final_assignment, build_null_of_type, check_deprecation,
check_method_redefinition, reset_method_name,
java_check_regular_methods, java_check_abstract_methods,
maybe_build_primttype_type_ref): New function prototype.
* parse.y (conver.h): Include.
(INSTANCEOF_TK): Tagged <operator>.
(single_type_import_declaration): Use REGISTER_IMPORT macro.
(relational_expression:): Build binop for instanceof.
(java_push_parser_context): Remember ctxp->gclass_list across
contexts.
(java_pop_parser_context): Simply return if no context
exists. Remember gclass_list across contexts.
(issue_warning_error_from_context): New function.
(parse_error_context): Don't setup ctxp->elc here. Call
issue_warning_error_from_context instead.
(parse_warning_context): Likewise.
(maybe_create_class_interface_decl): Removed DECL_ARTIFICIAL
setup. Link new class/interface to ctxp->gclass_list.
(add_superinterfaces): Register interface as incomplete if not
loaded.
(create_class): Remember class unqualified name in
ctxp->current_parsed_class_un. Check class deprecation.
(register_fields): Check field deprecation. Remember static final
field value in DECL_LOCAL_STATIC_VALUE. Changed comment in part
processing INIT.
(method_header): New local variable ORIG_ARG. Use unqualified
current class name for check on constructor errors. Promote return
type if of record type. Argument list fix moved in
fix_method_argument_names, called here. Check method deprecation.
(fix_method_argument_names): New function.
(method_declarator): Promote record typed arguments.
(safe_layout_class): Check class methods before layout.
(java_complete_class): Compute field layout when patched.
(do_resolve_class): Try to load class after having it renamed
after the package name.
(get_printable_method_name): Use DECL_CONTEXT.
(reset_method_name): New function.
(check_method_redefinition): Use reset_method_name.
(java_check_regular_methods): New local variable
SAVED_FOUND_WFL. Temporarily reinstall overriding/hiding method
names for error report. Check for compile-time error when method
found has default (package) access.
(java_check_abstract_methods): Now takes an interface DECL node as
an argument. Also reinstall real name on unchecked
overriding/hiding methods for error report.
(java_check_methods): Fixed leading comment. Get classes to verify
from ctxp->gclass_list. Use CHECK_METHODS macro and set
CLASS_METHOD_CHECKED_P on class verification.
(lookup_java_method2): Get real method name if necessary.
(find_in_imports): Don't check package class access here.
(resolve_package, lookup_package_type): New functions.
(java_layout_classes): Fixed leading comment. Take classes to be
laid out from ctxp->gclass_list.
(java_complete_expand_methods): Don't expand native and abstract
methods.
(java_expand_classes): New function.
(resolve_expression_name): Use additional argument ORIG. Retrieve
values of static final field of primitive types.
(resolve_field_access): Handles static final field of promotive
type.
(resolve_qualified_expression_name): Handle STRING_CST as
primaries and package name resolution. Check deprecation on found
decls. Set where_found and type_found on non static field resolved
during qualification. Layout non primitive field decl types.
(check_deprecation): New function.
(maybe_access_field): Simplified.
(patch_method_invocation_stmt): Local variable CLASS_TYPE
removed. Reverse method's argument when primary is a type. Don't
use CLASS_TYPE to report problems, use IDENTIFIER_WFL
instead. Include abstract class in the list of class searchable
for constructors. Use DECL_CONTEXT of found method for access
checks. Check method deprecation.
(patch_invoke): Pay extra care to NEW_CLASS_EXPR type call when
converting arguments. Handle INVOKE_INTERFACE.
(lookup_method_invoke): Search constructor using existing
infrastructure (don't rely on lookup_java_constructor anymore).
(find_applicable_accessible_methods_list): Extra argument flag
LC. Now include constructor in the search.
(qualify_ambiguous_name): Conditional expression are primaries.
(not_initialized_as_it_should_p): static final are always
initialized.
(java_complete_tree): Pass extra NULL argument to
resolve_expression_name. Stricter test to carry on patching
assignments. New case for INSTANCEOF_EXPR.
(complete_function_arguments): Inline PRIMTYPE.TYPE read access.
(check_final_assignment, maybe_build_primttype_type_ref): New
functions.
(patch_assignment): Detect resolved static finals and carry normal
assignment error check on them. Inline PRIMTYPE.TYPE read access.
(try_builtin_assignconv): Access constant 0 on all primitive
types.
(valid_builtin_assignconv_identity_widening_p): Accept identical
types. Accept all promoted type on int type.
(valid_ref_assignconv_cast_p): Accept a null pointer to be
assigned to a reference.
(valid_method_invocation_conversion_p): Accept to check null
pointers.
(build_binop): Merge declaration and initialization of local
variable BINOP.
(patch_binop): New case for INSTANCEOF_EXPR. NE_EXPR to accept all
numeric types. Improved validity test for qualify operators on
references.
(patch_unaryop): Broadened rejection test for PREDECREMENT_EXPR
and PREINCREMENT_EXPR. Also detect resolved static finals of a
primitive type and issue the appropriate error message.
(resolve_type_during_patch): Mark class loaded when resolved.
(patch_cast): Allow null to be cased to reference types.
(build_null_of_type): New function.
(patch_array_ref): Handle array on references correctly.
(patch_return): Removed unused local variable MODIFY. Force
boolean to be returned as integers. Allows null to be returned by
a function returning a reference.
* typeck.c (convert_to_integer, convert_to_real,
convert_to_pointer): Prototypes moved to convert.h
(lookup_argument_method): Use method real name, if necessary.
This improves method checking, gets rid of a cross file type
dependency bug and does a more robust job at laying out classes when
necessary. It unifies the regular methods and constructors lookup. It
implements the `instanceof' operator and interface method
invocations. It also fixes random bugs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23599
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Tue, 10 Nov 1998 14:06:42 +0000 (14:06 +0000)]
* rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23598
138bc75d-0d04-0410-961f-
82ee72b054a4
gerald [Tue, 10 Nov 1998 09:27:19 +0000 (09:27 +0000)]
* README: New file, general information about the testsuite and
new description of the various C++ test subdirectories.
* README.g++: Eliminate obsolete information, update and move most
relevant stuff to README.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23597
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 10 Nov 1998 00:45:34 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23596
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 9 Nov 1998 22:17:04 +0000 (22:17 +0000)]
* g77.texi, news.texi: Updates from Craig.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23593
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 9 Nov 1998 20:33:38 +0000 (20:33 +0000)]
1998-11-09 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* dbxout.c: Check HAVE_STAB_H instead of HAVE_STABS_H.
Mon Nov 9 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* regmove.c (regmove_optimize): Fix error in last change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23587
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Mon, 9 Nov 1998 16:50:18 +0000 (16:50 +0000)]
Misc mips16 bug fixes found by gcc/gdb testsuites.
* mips.c (function_prologue): When TARGET_MIPS16, adjust the register
offset in the .mask pseudo to compensate for frame pointer adjustments.
(mips16_fp_args, build_mips16_call_stub): For little endian, do not
word swap arguments moved to/from FP registers.
* mips16.S (DFREVCMP): Reverse arguments to OPCODE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23586
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 9 Nov 1998 09:47:11 +0000 (09:47 +0000)]
Bump for snapshot
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23584
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 9 Nov 1998 02:14:20 +0000 (02:14 +0000)]
Bump for snapshot
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23582
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 9 Nov 1998 02:12:55 +0000 (02:12 +0000)]
* reload1.c (delete_output_reload_insn): If a pseudo is set multiple
times, then it can not be completely replaced.
Fixes mis-compilation of wave5 in spec92.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23581
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 9 Nov 1998 00:45:03 +0000 (00:45 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23580
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 9 Nov 1998 00:40:57 +0000 (00:40 +0000)]
* alpha.md (call, call_value) [OSF]: Correct alt 3 insn length.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23579
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Sun, 8 Nov 1998 15:10:24 +0000 (15:10 +0000)]
* gansidecl.h: Prepend a "G" to the macro wrapping this file
(to distinguish it from the macro wrapping ansidecl.h.)
Include libiberty's ansidecl.h. Remove all redundant definitions.
Define the PROTO() style macros in terms of the PARAMS() ones.
* calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not
__STDC__, when deciding whether to use ANSI variable args.
(emit_library_call_value): Likewise.
* cccp.c (error): Likewise.
(warning): Likewise.
(error_with_line): Likewise.
(warning_with_line): Likewise.
(pedwarn): Likewise.
(pedwarn_with_line): Likewise.
(pedwarn_with_file_and_line): Likewise.
(fatal): Likewise.
* cexp.y (error): Likewise.
(pedwarn): Likewise.
(warning): Likewise.
* collect2.c (fatal_perror): Likewise.
(fatal): Likewise.
(error): Likewise.
* combine.c (gen_rtx_combine): Likewise.
* cpperror.c (cpp_message): Likewise.
(cpp_fatal): Likewise.
* cpplib.c (cpp_error): Likewise.
(cpp_warning): Likewise.
(cpp_pedwarn): Likewise.
(cpp_error_with_line): Likewise.
(cpp_warning_with_line): Likewise.
(cpp_pedwarn_with_line): Likewise.
(cpp_pedwarn_with_file_and_line): Likewise.
* cpplib.h: Don't define PARAMS() macro.
* demangle.h: Likewise.
* doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__,
when deciding whether to use ANSI variable args.
* emit-rtl.c (gen_rtx): Likewise.
(gen_rtvec): Likewise.
* final.c (asm_fprintf): Likewise.
* fix-header.c (cpp_message): Likewise.
(fatal): Likewise.
(cpp_fatal): Likewise.
* gcc.c (concat): Likewise.
(fatal): Likewise.
(error): Likewise.
* genattr.c (fatal): Likewise.
* genattrtab.c (attr_rtx): Likewise.
(attr_printf): Likewise.
(fatal): Likewise.
* gencodes.c (fatal): Likewise.
* genconfig.c (fatal): Likewise.
* genemit.c (fatal): Likewise.
* genextract.c (fatal): Likewise.
* genflags.c (fatal): Likewise.
* genopinit.c (fatal): Likewise.
* genoutput.c (fatal): Likewise.
(error): Likewise.
* genpeep.c (fatal): Likewise.
* genrecog.c (fatal): Likewise.
* halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when
deciding whether to declare `tree_node' and `rtx_def'.
* hash.h: Don't define stuff we get from gansidecl.h.
* mips-tfile.c: Likewise. Define __proto() in terms of PARAMS().
(fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
whether to use ANSI variable args.
(error): Likewise.
* prefix.c (concat): Likewise.
* scan.h: Likewise.
* system.h: Likewise.
* toplev.c (error_with_file_and_line): Likewise.
(error_with_decl): Likewise.
(error_for_asm): Likewise.
(error): Likewise.
(fatal): Likewise.
(warning_with_file_and_line): Likewise.
(warning_with_decl): Likewise.
(warning_for_asm): Likewise.
(warning): Likewise.
(pedwarn): Likewise.
(pedwarn_with_decl): Likewise.
(pedwarn_with_file_and_line): Likewise.
(sorry): Likewise.
(really_sorry): Likewise.
* toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
whether to declare `tree_node' and `rtx_def'.
* tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when
deciding whether to use ANSI variable args.
(build_nt): Likewise.
(build_parse_node): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23577
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Sun, 8 Nov 1998 14:49:20 +0000 (14:49 +0000)]
* Makefile.in (INCLUDES): Add "-I$(srcdir)/../../include".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23576
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Sun, 8 Nov 1998 14:47:19 +0000 (14:47 +0000)]
* Makefile.in (INCLUDES): Add -I$(srcdir)/$(MULTISRCTOP)../include.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23575
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Sun, 8 Nov 1998 14:45:39 +0000 (14:45 +0000)]
* ansidecl.h: Wrap problematic macros with !IN_GCC.
* demangle.h: Never define PARAMS().
* splay-tree.h: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23574
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Sun, 8 Nov 1998 13:26:38 +0000 (13:26 +0000)]
* method.c (build_overload_value): Handle REFERENCE_TYPE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23573
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchel [Sun, 8 Nov 1998 13:20:53 +0000 (13:20 +0000)]
* cplus-dem.c (type_kind_t): Add tk_reference.
(demangle_template_value_parm): Handle it.
(do_type): Use it for references, instead of tk_pointer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23572
138bc75d-0d04-0410-961f-
82ee72b054a4