Commit Graph

20016 Commits

Author SHA1 Message Date
Jason Merrill
5f2f160cab dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P instead of TREE_CODE_CLASS == 't'.
* dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
	instead of TREE_CODE_CLASS == 't'.
	(gen_type_die): Likewise.
	(scope_die_for): Ignore FUNCTION_TYPE "scopes".

From-SVN: r24319
1998-12-14 20:48:48 -05:00
Jeff Law
e291f368db Daily bump.
From-SVN: r24318
1998-12-14 17:45:07 -07:00
Per Bothner
659ad4501b parse.y (fold_constant_for_init): New function.
* parse.y (fold_constant_for_init):  New function.
	(resolve_expression_name):  Don't replace static final
 	constant-initialized fields by its value.
	(java_complete_lhs):  New.  Same as java_complete_tree, except does
	not replace static final constant-initialized fields by their values.
	(register_fields):  If there is an initializer, set DECL_INITIAL and
	MODIFY_EXPR_FROM_INITIALIZATION_P.
	(java_complete_tree):  For MODIFY_EXPR, use java_complete_lhs for lhs.
	Only call patch_initialized_static_field if
	MODIFY_EXPR_FROM_INITIALIZATION_P.
	(patch_initialized_static_field):  If not valid constant, clear
	DECL_INITIAL.
	* parse.y (lookup_field_wrapper):  Fix thinko.
	* parse.y (java_complete_tree):  In EXPR_WITH_FILE_LOCATION,
	set and restore global lineno.

From-SVN: r24317
1998-12-14 11:22:30 -08:00
Per Bothner
5b09b33e5f parse.y (fold_constant_for_init): New function.
d
	* parse.y (fold_constant_for_init):  New function.
	(resolve_expression_name):  Don't replace static final
 	constant-initialized fields by its value.
	(java_complete_lhs):  New.  Same as java_complete_tree, except does
	not replace static final constant-initialized fields by their values.
	(register_fields):  If there is an initializer, set DECL_INITIAL and
	MODIFY_EXPR_FROM_INITIALIZATION_P.
	(java_complete_tree):  For MODIFY_EXPR, use java_complete_lhs for lhs.
	Only call patch_initialized_static_field if
	MODIFY_EXPR_FROM_INITIALIZATION_P.
	(patch_initialized_static_field):  If not valid constant, clear
	DECL_INITIAL.
	* parse.y (lookup_field_wrapper):  Fix thinko.
	* parse.y (java_complete_tree):  In EXPR_WITH_FILE_LOCATION,
	set and restore global lineno.

From-SVN: r24316
1998-12-14 11:22:28 -08:00
Jim Wilson
c1c7db89c0 Eliminate compiler warnings.
* real.c (endian): Disable last change unless
	HOST_BITS_PER_WIDE_INT is greater than 32.

From-SVN: r24315
1998-12-14 08:30:48 -08:00
Mark Mitchell
d8f8dca15f class.c (pushclass): Tweak handling of class-level bindings.
* class.c (pushclass): Tweak handling of class-level bindings.
	(resolve_address_of_overloaded_function): Update pointer-to-member
	handling.
	(instantiate_type): Likewise.
	* cvt.c (cp_convert_to_pointer): Likewise.
	* decl.c (pop_binding): Take the DECL to pop, not just the name.
	Deal with `struct stat' hack.
	(binding_level): Add to documentation.
	(push_binding): Clear BINDING_TYPE.
	(add_binding): New function.
	(push_local_binding): Use it.
	(push_class_binding): Likewise.
	(poplevel): Adjust calls to pop_binding.
	(poplevel_class): Likewise.
	(pushdecl): Adjust handling of TYPE_DECLs; add bindings for hidden
	declarations to current binding level.
	(push_class_level_binding): Likewise.
	(push_overloaded_decl): Adjust handling of OVERLOADs in local
	bindings.
	(lookup_namespace_name): Don't crash when confronted with a
	TEMPLATE_DECL.
	(lookup_name_real): Do `struct stat' hack in local binding
	contexts.
	(build_ptrmemfunc_type): Adjust documentation.
	(grokdeclarator): Don't avoid building real array types when
	processing templates unless really necessary.
	(finish_method): Adjust calls to pop_binding.
	* decl2.c (reparse_absdcl_as_expr): Recursively call ourselves,
	not reparse_decl_as_expr.
	(build_expr_from_tree): Deal with a template-id as the function to
	call in a METHOD_CALL_EXPR.
	* pt.c (convert_nontype_argument): Tweak pointer-to-member handling.
	(maybe_adjust_types_For_deduction): Don't do peculiar things with
	METHOD_TYPEs here.
	(resolve_overloaded_unification): Handle COMPONENT_REFs.  Build
	pointer-to-member types where necessary.
	* tree.c (build_cplus_array_type_1): Don't avoid building real
	array types when processing templates unless really necessary.
	(build_exception_variant): Compare the exception lists correctly.

From-SVN: r24314
1998-12-14 15:35:40 +00:00
Tom Tromey
11b8962251 gjavah.c (print_field_info): If value to print is the smallest value of its size...
* gjavah.c (print_field_info): If value to print is the smallest
	value of its size, then print as hex to avoid later warnings from
	C++ compiler.

From-SVN: r24313
1998-12-14 15:32:49 +00:00
Mark Mitchell
a5c23b031d Update test
From-SVN: r24312
1998-12-14 15:11:43 +00:00
Andrew MacLeod
3167de5b8b output.h (force_data_section): New prototype.
* output.h (force_data_section): New prototype.
	* varasm.c (force_data_section): New function to force the
	data section, regardless of what in_section thinks.
	* dwarf2out.c (output_call_frame_info): Call force_data_section
	since varasm may not realize we've changes sections.

From-SVN: r24311
1998-12-14 14:19:48 +00:00
Nick Clifton
80599fd90c Delete REG_RETVAL and REG_LIBCALL notes after completeing reload
From-SVN: r24310
1998-12-14 14:13:26 +00:00
Tom Tromey
8c2dfb32b7 gjavah.c (decompile_method): Decompile `return null'.
* gjavah.c (decompile_method): Decompile `return null'.
	(process_file): Generate `#pragma interface'.
	(method_declared): New global.
	(print_method_info): Set it.
	(HANDLE_CODE_ATTRIBUTE): Only print it method_declared set.
	(print_method_info): Handle abstract methods.

From-SVN: r24309
1998-12-14 11:25:19 +00:00
Nick Clifton
9fe3461ee7 Fix typo.
From-SVN: r24308
1998-12-14 09:35:58 +00:00
Kaveh R. Ghazi
11a0bb74cd choose-temp.c: Don't check IN_GCC anymore.
* choose-temp.c: Don't check IN_GCC anymore.
        * floatformat.c (floatformat_from_double): Use `const', not `CONST'.
        * memchr.c (memchr): Likewise.
        * memcpy.c (memcpy): Likewise.
        * memmove.c (memmove): Likewise.
        * mkstemp.c: Don't check IN_GCC anymore.
        * pexecute.c: Likewise.
        * splay-tree.c: Likewise.
        * strchr.c (strchr): Use `const', not `CONST'.
        * strrchr.c (strrchr): Likewise.
        * strtol.c (strtol): Likewise.
        * strtoul.c (strtoul): Likewise.

From-SVN: r24307
1998-12-14 07:01:03 +00:00
Kaveh R. Ghazi
625c729b51 demangle.h: Don't check IN_GCC anymore.
* demangle.h: Don't check IN_GCC anymore.
       * splay-tree.h: Likewise.

From-SVN: r24306
1998-12-14 06:55:07 +00:00
Jeff Law
242f64bbd9 Daily bump.
From-SVN: r24305
1998-12-13 17:45:02 -07:00
Jeff Law
5f7d3786ea rtl.h (multiple_sets): Fix prototype.
* rtl.h (multiple_sets): Fix prototype.
        * rtlanal.c (multiple_sets): Fix return type.

From-SVN: r24304
1998-12-13 17:42:39 -07:00
Jeffrey A Law
93e0dfe152 rtl.h (multiple_sets): Fix prototype.
�
        * rtl.h (multiple_sets): Fix prototype.
        * rtlanal.c (multiple_sets): Fix return type.

From-SVN: r24303
1998-12-13 17:42:38 -07:00
Jason Merrill
de27890511 new
From-SVN: r24302
1998-12-13 13:56:43 -05:00
Jason Merrill
ac31b8d94c regen
From-SVN: r24301
1998-12-13 13:55:48 -05:00
Per Bothner
ba02c53a1e parse.y (patch_method_invocation): If class_decl is null (e.g.
* parse.y (patch_method_invocation):  If class_decl is null
	(e.g. an array type), use original type.
	* parse.y (check_thrown_exceptions):  Temporary hack to suppress
	errors about uncaught exception from clone (of array, specifically).

From-SVN: r24300
1998-12-13 09:51:06 -08:00
Per Bothner
59e4a38e81 parse.y (patch_method_invocation): If class_decl is null (e.g.
d
	* parse.y (patch_method_invocation):  If class_decl is null
	(e.g. an array type), use original type.
	* parse.y (check_thrown_exceptions):  Temporary hack to suppress
	errors about uncaught exception from clone (of array, specifically).

From-SVN: r24299
1998-12-13 09:51:04 -08:00
Per Bothner
3e78f871ac parse.y (patch_method_invocation): If class_decl is null (e.g.
�
	* parse.y (patch_method_invocation):  If class_decl is null
	(e.g. an array type), use original type.
	* parse.y (check_thrown_exceptions):  Temporary hack to suppress
	errors about uncaught exception from clone (of array, specifically).

From-SVN: r24298
1998-12-13 09:51:02 -08:00
Tom Tromey
cb975f38fb gjavah.c (decompile_method): Handle all types of `return' opcode.
* gjavah.c (decompile_method): Handle all types of `return'
	opcode.  Decompile `return this' and `return'.
	(method_access): New global.
	(print_method_info): Set it.
	(decompile_method): Don't decompile a synchronized method.

From-SVN: r24297
1998-12-13 15:24:48 +00:00
Mark Mitchell
f181d4aea0 cp-tree.def (CPLUS_BINDING): Update documentation.
* cp-tree.def (CPLUS_BINDING): Update documentation.
	* cp-tree.h (LOCAL_BINDING_P): New macro.
	(lang_identifier): Rename local_value to bindings.
	(tree_binding): Make `scope' of type `void*', not `tree'.
	(BINDING_SCOPE): Update documentation.
	(IDENTIFIER_LOCAL_VALUE): Remove.
	(IDENTIFIER_CLASS_VALUE): Document.
	(IDENTIFIER_BINDING): New macro.
	(IDENTIFIER_VALUE): Likewise.
	(TIME_IDENTIFIER_TIME): Likewise.
	(TIME_IDENTIFIER_FILEINFO): Likewise.
	(IMPLICIT_TYPENAME_P): Likewise.
	(set_identifier_local_value): Remove.
	(push_local_binding): New function.
	(push_class_binding): Likewise.
	* class.c (pushclass): Update comments; use push_class_binding.
	* decl.c (set_identifier_local_value_with_scope): Remove.
	(set_identifier_local_value): Likewise.
	(push_binding): New function.
	(pop_binding): Likewise.
	(binding_level): Update documentation.  Remove shadowed.
	(BINDING_LEVEL): New macro.
	(free_binding_nodes): New variable.
	(poplevel): Adjust for new name-lookup scheme.  Don't mess up
	BLOCK_VARs when doing for-scope extension.  Remove effectively
	dead code.
	(pushlevel_class): Tweak formatting.
	(poplevel_class): Adjust for new name-lookup scheme.
	(print_binding_level): Likewise.
	(store_bindings): Likewise.
	(pushdecl): Likewise.
	(pushdecl_class_level): Likewise.
	(push_class_level_binding): Likewise.
	(push_overloaded_decl): Update comments.  Adjust for new
	name-lookup scheme.
	(lookup_name_real): Likewise.
	(lookup_name_current_level): Likewise.
	(cp_finish_decl): Likewise.
	(require_complete_types_for_parms): Likewise.  Remove misleading
	#if 0'd code.
	(grok_parms): Likewise.  Don't call
	require_complete_types_for_parms here.
	(grok_ctor_properties): Don't treat templates as copy
	constructors.
	(grop_op_properties): Or as assignment operators.
	(start_function): Document.  Adjust for new name-lookup scheme.
	(finish_function): Likewise.
	* decl2.c (do_local_using_decl): Use push_local_binding.
	* lex.c (begin_definition_of_inclass_inline): New function, split
	out from ...
	(do_pending_inlines): Here, and ...
	(process_next_inline): Here.
	(get_time_identifier): Use TIME_IDENTIFIER_* macros.
	(init_filename_times): Likewise.
	(extract_interface_info): Likewise.
	(ste_typedecl_interface_info): Likewise.
	(check_newline): Likewise.
	(dump_time_statistics): Likewise.
	(handle_cp_pragma): Likewise.
	(do_identifier): Adjust for new name-lookup scheme.
	* parse.y (function_try_block): Return ctor_initializer_opt value.
	(fndef): Use it.
	(fn.defpen): Pass appropriate values to start_function.
	(pending_inline): Use functor_try_block value, and pass
	appropriate values to finish_function.
	* pt.c (is_member_template): Update documentation; remove handling
	of FUNCTION_DECLs.  As per name, this function should deal only in
	TEMPLATE_DECLs.
	(decl_template_parm_p): Change name of olddecl parameter to decl.
	(check_template_shadow): Adjust for new name-lookup scheme.
	(lookup_template_class): Likewise.
	(tsubst_decl): Tweak so as not to confuse member templates with
	copy constructors and assignment operators.
	(unify): Handle UNION_TYPEs.
	* ptree.c (print_lang_identifier): Adjust for new name-lookup scheme.
	(lang_print_xnode): Adjust for new name-lookup scheme.
	* typeck.c (mark_addressable): Likewise.
	(c_expand_return): Likewise.

From-SVN: r24296
1998-12-13 14:46:07 +00:00
Tom Tromey
92c068d1dc jcf-reader.c (jcf_parse_one_method): Recognize HANDLE_END_METHOD.
* jcf-reader.c (jcf_parse_one_method): Recognize
	HANDLE_END_METHOD.
	* gjavah.c (HANDLE_END_METHOD): New macro.
	(HANDLE_CODE_ATTRIBUTE): New macro.
	(decompile_method): New function.
	(print_method_info): Don't print `;\n' at end of function decl.
	Include java-opcodes.h.
	(decompiled): New global.

From-SVN: r24295
1998-12-13 13:29:08 +00:00
Jeffrey A Law
5d943c3cfb Bump for snapshot
From-SVN: r24293
1998-12-13 05:44:02 -07:00
Jeffrey A Law
714d352fd5 Bump for snapshot
From-SVN: r24292
1998-12-12 18:05:29 -07:00
J"orn Rennecke
213c498330 rtl.h (recompute_reg_usage): Add second argument.
* rtl.h (recompute_reg_usage): Add second argument.
	* flow.c (recompute_reg_usage): Likewise.
	* toplev.c (rest_of_compilation): Supply second argument to
	recompute_reg_usage.

From-SVN: r24291
1998-12-12 17:59:38 -07:00
Jeff Law
867cbbbe72 Daily bump.
From-SVN: r24290
1998-12-12 17:45:32 -07:00
Manfred Hollstein
56485bee11 * protoize.c (fputs): Wrap extern declaration in #ifndef fputs.
From-SVN: r24289
1998-12-12 16:43:59 -07:00
Jeffrey A Law
f08347a9b5 t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
* m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
        (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
        (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
        mcpu32 or m5200.

From-SVN: r24288
1998-12-12 16:32:52 -07:00
J"orn Rennecke
404d95c460 reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0 after reload.
* reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0
        after reload.

From-SVN: r24287
1998-12-12 16:26:22 -07:00
Jeffrey A Law
4566eb621b * i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character.
From-SVN: r24285
1998-12-12 16:21:30 -07:00
Jeffrey A Law
941c63ac30 rtlanal.c (multiple_sets): New function.
* rtlanal.c (multiple_sets): New function.
        * rtl.h (multiple_sets): Declare it.
        * local-alloc.c (wipe_dead_reg): Use it.
        * global.c (global_conflicts): Likewise.
Should fix the m68k bootstrap problems.

From-SVN: r24283
1998-12-12 16:03:54 -07:00
Mark Mitchell
8d4c79be50 global.c (record_conflicts): Don't use an array of shorts to store an array of ints.
* global.c (record_conflicts): Don't use an array of shorts to
        store an array of ints.
	(global_conflicts): Likewise.

From-SVN: r24282
1998-12-12 22:12:02 +00:00
Per Bothner
e136860a83 *** empty log message ***
From-SVN: r24281
1998-12-12 13:48:16 -08:00
Per Bothner
63a212ed3e Loks of changes so we can better compile from source.
8
Loks of changes so we can better compile from source.  See ChangeLog.

From-SVN: r24280
1998-12-12 13:48:14 -08:00
Per Bothner
502f194fa0 Loks of changes so we can better compile from source.
Loks of changes so we can better compile from source.  See ChangeLog.

From-SVN: r24279
1998-12-12 13:48:09 -08:00
Per Bothner
091c8dfd4c Loks of changes so we can better compile from source.
�
Loks of changes so we can better compile from source.  See ChangeLog.

From-SVN: r24278
1998-12-12 13:48:07 -08:00
Per Bothner
4cc4a45b03 Loks of changes so we can better compile from source.
Loks of changes so we can better compile from source.  See ChangeLog.

From-SVN: r24277
1998-12-12 13:48:05 -08:00
Per Bothner
0b2451813b Loks of changes so we can better compile from source.
0
Loks of changes so we can better compile from source.  See ChangeLog.

From-SVN: r24276
1998-12-12 13:48:01 -08:00
Alexandre Petit-Bianco
1287b91aeb parse.y (<type_declaration>): Do maybe_generate_clinit last.
* parse.y (<type_declaration>):  Do maybe_generate_clinit last.
	(register_fields):  If a static fields has an initializer, just
	chain it on ctxp->static_initialized, and handle later.
	(java_complete_expand_methods):  Force <clinit> first.
	(resolve_expression_name, resolve_field_access):  Just get DECL_INITIAL
	- it's already been completed.
	(patch_initialized_static_field):  New function.
	(java_complete_field):  Call it.

From-SVN: r24275
1998-12-12 12:04:37 -08:00
Alexandre Petit-Bianco
7525cc04a8 parse.y (<type_declaration>): Do maybe_generate_clinit last.
�
	* parse.y (<type_declaration>):  Do maybe_generate_clinit last.
	(register_fields):  If a static fields has an initializer, just
	chain it on ctxp->static_initialized, and handle later.
	(java_complete_expand_methods):  Force <clinit> first.
	(resolve_expression_name, resolve_field_access):  Just get DECL_INITIAL
	- it's already been completed.
	(patch_initialized_static_field):  New function.
	(java_complete_field):  Call it.

From-SVN: r24274
1998-12-12 12:04:35 -08:00
Per Bothner
fdec99c620 expr.c (encode_newarray_type, [...]): New functions.
d
	* expr.c (encode_newarray_type, build_new_array):  New functions.
	* java-tree.h:  Declare build_new_array.
	* jcf-write.c (patch_newarray):  Use build_new_array.
	* expr.c (java_lang_expand_exp):  Support NEW_ARRAY_INIT.
	* jcf-write.c (generate_bytecode_insns):  Support NEW_ARRAY_INIT.
	* parse.y (patch_new_array_init):  Re-organize.
	Now is passed the actual array (pointer) type of the value.
	Set the type of the CONSTRUCTOR to be an ARRAY_TYPE.
	(patch_array_constructor):  Removed - merged into patch_new_array_init.
 	(java_complete_tree):  Update patch_new_array_init.
	* jcf-write.c (find_constant_index):  New function.
	(generate_bytecode_insns):  Use find_constant_index.
	(generate_classfile):  Use find_constant_index for ConstantValue.

From-SVN: r24273
1998-12-12 11:25:01 -08:00
Per Bothner
df1e6be5cc expr.c (encode_newarray_type, [...]): New functions.
a
	* expr.c (encode_newarray_type, build_new_array):  New functions.
	* java-tree.h:  Declare build_new_array.
	* jcf-write.c (patch_newarray):  Use build_new_array.
	* expr.c (java_lang_expand_exp):  Support NEW_ARRAY_INIT.
	* jcf-write.c (generate_bytecode_insns):  Support NEW_ARRAY_INIT.
	* parse.y (patch_new_array_init):  Re-organize.
	Now is passed the actual array (pointer) type of the value.
	Set the type of the CONSTRUCTOR to be an ARRAY_TYPE.
	(patch_array_constructor):  Removed - merged into patch_new_array_init.
 	(java_complete_tree):  Update patch_new_array_init.
	* jcf-write.c (find_constant_index):  New function.
	(generate_bytecode_insns):  Use find_constant_index.
	(generate_classfile):  Use find_constant_index for ConstantValue.

From-SVN: r24272
1998-12-12 11:24:59 -08:00
Per Bothner
05f9acdc49 expr.c (encode_newarray_type, [...]): New functions.
* expr.c (encode_newarray_type, build_new_array):  New functions.
	* java-tree.h:  Declare build_new_array.
	* jcf-write.c (patch_newarray):  Use build_new_array.
	* expr.c (java_lang_expand_exp):  Support NEW_ARRAY_INIT.
	* jcf-write.c (generate_bytecode_insns):  Support NEW_ARRAY_INIT.
	* parse.y (patch_new_array_init):  Re-organize.
	Now is passed the actual array (pointer) type of the value.
	Set the type of the CONSTRUCTOR to be an ARRAY_TYPE.
	(patch_array_constructor):  Removed - merged into patch_new_array_init.
 	(java_complete_tree):  Update patch_new_array_init.
	* jcf-write.c (find_constant_index):  New function.
	(generate_bytecode_insns):  Use find_constant_index.
	(generate_classfile):  Use find_constant_index for ConstantValue.

From-SVN: r24271
1998-12-12 11:24:56 -08:00
Richard Henderson
f35cba2192 alpha.c (alpha_expand_block_move): mode_for_size expects bits, not bytes.
* alpha.c (alpha_expand_block_move): mode_for_size expects
        bits, not bytes.  Infer extra alignment from addressof.

From-SVN: r24270
1998-12-12 08:52:32 -08:00
Jason Merrill
4d7614e9f1 decl.c (grokdeclarator): Allow field with same name as class in extern "C".
* decl.c (grokdeclarator): Allow field with same name as class
	in extern "C".
	* decl.c (lookup_name_real): Don't limit field lookup to types.
	* class.c (check_member_decl_is_same_in_complete_scope): No error
	if icv and x are the same.
	* lex.c (do_identifier): Tweak error message.

From-SVN: r24269
1998-12-12 11:41:15 -05:00
Jeff Law
d5db8224ad Daily bump.
From-SVN: r24268
1998-12-11 17:45:02 -07:00
Tom Tromey
78857b4eca expr.c (invoke_build_dtable): Renamed dtable -> vtable.
* expr.c (invoke_build_dtable): Renamed dtable -> vtable.
	* decl.c (init_decl_processing): Renamed dtable -> vtable.
	* class.c (make_class_data): Renamed dtable -> vtable, and
	dtable_method_count -> vtable_method_count.

From-SVN: r24267
1998-12-11 11:55:15 +00:00