Commit Graph

19896 Commits

Author SHA1 Message Date
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
Michael Meissner
a9aefc1e9a Put small uninitialized data in .sbss, not .sdata
From-SVN: r24266
1998-12-11 11:20:41 +00:00
Stan Cox
157131d73a sh.c (print_operand): lookup interrupt_handler attribute instead of relying on static variable.
* sh.c (print_operand): lookup interrupt_handler attribute instead
of relying on static variable.
* (calc_live_regs): Likewise.
* (sh_pragma_insert_attributes): Create interrupt_handler
attribute if a pragma was specified
* (sh_valid_machine_decl_attribute): Don't set static flag.
* sh.h (PRAGMA_INSERT_ATTRIBUTES): New.

From-SVN: r24265
1998-12-11 11:18:26 +00:00
Jeffrey A Law
7d91fc530a * g++.old-deja/g++.benjamin/p12475.C: Expect failure on mips64 targets.
From-SVN: r24264
1998-12-11 02:28:51 -07:00
Manfred Hollstein
276140faae cccp.c: Do not #include <sys/stat.h> here; this is already done by "system.h".
�
	* cccp.c: Do not #include <sys/stat.h> here; this is already done
	by "system.h".
	* collect2.c: Likewise.
	* cpplib.h: Likewise.
	* gcc.c: Likewise.
	* gcov.c: Likewise.
	* getpwd.c: Likewise.
	* protoize.c: Likewise.
	* toplev.c: Likewise.

From-SVN: r24263
1998-12-11 08:32:49 +00:00
Manfred Hollstein
9d986f552d cccp.c: Do not #include <sys/stat.h> here; this is already done by "system.h".
* cccp.c: Do not #include <sys/stat.h> here; this is already done
	by "system.h".
	* collect2.c: Likewise.
	* cpplib.h: Likewise.
	* gcc.c: Likewise.
	* gcov.c: Likewise.
	* getpwd.c: Likewise.
	* protoize.c: Likewise.
	* toplev.c: Likewise.

From-SVN: r24262
1998-12-11 08:32:40 +00:00
Manfred Hollstein
8eeae6f42c cccp.c: Do not #include <sys/stat.h> here; this is already done by "system.h".
p
	* cccp.c: Do not #include <sys/stat.h> here; this is already done
	by "system.h".
	* collect2.c: Likewise.
	* cpplib.h: Likewise.
	* gcc.c: Likewise.
	* gcov.c: Likewise.
	* getpwd.c: Likewise.
	* protoize.c: Likewise.
	* toplev.c: Likewise.

From-SVN: r24261
1998-12-11 08:32:37 +00:00
Manfred Hollstein
5e36733735 cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h" and don't try to define it here.
�
	* cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
	and don't try to define it here.
	* Makefile.in (cppmain.o): Depend on machmode.h.
	(cpplib.o): Likewise.
	(cpperror.o): Likewise.
	(cppexp.o): Likewise.
	(cppfiles.o): Likewise.
	(cpphash.o): Likewise.
	(cppalloc.o): Likewise.
	(fix-header.o): Likewise.
	(scan-decls.o): Likewise.

From-SVN: r24260
1998-12-11 08:27:07 +00:00
Manfred Hollstein
56adfa4a5d cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h" and don't try to define it here.
�
	* cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
	and don't try to define it here.
	* Makefile.in (cppmain.o): Depend on machmode.h.
	(cpplib.o): Likewise.
	(cpperror.o): Likewise.
	(cppexp.o): Likewise.
	(cppfiles.o): Likewise.
	(cpphash.o): Likewise.
	(cppalloc.o): Likewise.
	(fix-header.o): Likewise.
	(scan-decls.o): Likewise.

From-SVN: r24259
1998-12-11 08:27:02 +00:00
J"orn Rennecke
b063450945 Approved by Jeffrey A Law:
* reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START
	to determine if a register is live at a jump destination.
	Everything is dead at a BARRIER.

From-SVN: r24258
1998-12-11 04:59:25 +00:00
Jeff Law
2f058422b6 Daily bump.
From-SVN: r24257
1998-12-10 17:45:15 -07:00
Zack Weinberg
18c3a4ac0f * gcc.c-torture/compile/981211-1.c: New test.
From-SVN: r24256
1998-12-10 17:14:59 -07:00
Alexandre Petit-Bianco
4a5f66c301 decl.c (long_zero_node, [...]): New global variables, initialized.
Thu Dec 10 20:00:54 1998  Alexandre Petit-Bianco  <apbianco@sendai.cygnus.com>
	* decl.c (long_zero_node, float_zero_node, double_zero_node): New
 	global variables, initialized.
	* java-tree.h (long_zero_node, float_zero_node, double_zero_node):
 	Declared new global variables.
	* lex.c (java_lex): Return long_zero_node, float_zero_node,
 	double_zero_node, integer_zero_node upon direct matching.
	* parse.y (purify_type_name): Added function prototype.
	(duplicate_declaration_error_p): Consider new_type as potentially
 	being a incomplete type. Use purify_type_name on type string.
	(method_header): saved_type: unused variable removed. Don't figure
 	return type if method name is invalid.
	(java_complete_tree): Set CAN_COMPLETE_NORMALLY after `node' was
 	processed by patch_unaryop.
	(patch_unaryop): Fixed typo in comment. Re-convert pre/post
 	increment/decrement node into its original type after binary
 	numeric promotion on its operands.
Fixes a bug occuring when an error occurs in constructor
declaration. Fixes a bug on ++/-- operators on non integer operands.

From-SVN: r24255
1998-12-10 12:28:00 -08:00
Jim Wilson
737e7965de Fix alpha-x-m32r-elf bugs.
* cse.c (simplify_unary_operation): Sign-extend constants when
	they have the most significant bit set for the target.
	* real.c (endian): Sign-extend 32 bit output values on a 64 bit
	host.
	* m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
	HOST_WIDE_INT temporary before negating it.
	* m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.

From-SVN: r24254
1998-12-10 09:21:35 -08:00
Mark Mitchell
ea585788ba decl.c (start_enum): Use push_obstacks, not end_temporary_allocation.
* decl.c (start_enum): Use push_obstacks, not
	end_temporary_allocation.
	(finish_enum): Call pop_obstacks.

From-SVN: r24244
1998-12-10 15:08:45 +00:00
Mark Mitchell
cbf882afb3 (start_enum): Use push_obstacks, not end_temporary_allocation.
(finish_enum): Call pop_obstacks.

From-SVN: r24243
1998-12-10 15:05:29 +00:00
Mark Mitchell
513e9d13b4 class.c (instantiate_type): Return error_mark_node rather than junk.
* class.c (instantiate_type): Return error_mark_node rather than
	junk.

From-SVN: r24240
1998-12-10 13:35:36 +00:00
Dave Brolley
353f10d599 objc-act.c (lang_init_options): Enclose cpplib related code in #if USE_CPPLIB.
Thu Dec 10 15:05:59 1998  Dave Brolley  <brolley@cygnus.com>
	* objc/objc-act.c (lang_init_options): Enclose cpplib related code in
	#if USE_CPPLIB.

From-SVN: r24234
1998-12-10 07:09:04 -05:00
Alexandre Petit-Bianco
1179ebc2fd parse.y (array_initializer:): Array init operand is NULL_TREE instead of a TREE_LIST of NULL_TREEs when...
Thu Dec 10 11:02:49 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* parse.y (array_initializer:): Array init operand is NULL_TREE
 	instead of a TREE_LIST of NULL_TREEs when parsing `{}'. `{,}' is
 	now an error. Fixed indentation problems.
	(patch_string): Handle error_mark_node as an argument.
	(patch_new_array_init): Fixed indentation problems.
	(array_constructor_check_entry): Removed check on null wfl_value.
  	Return an error if wfl_value's walk returns an error.
Fixes and cleanups for array initializers.

From-SVN: r24233
1998-12-10 03:24:46 -08:00
Jason Merrill
481ef9dd67 revert
From-SVN: r24232
1998-12-10 06:07:33 -05:00
Kaveh R. Ghazi
2edfd4ee53 collect2.h: New header file for prototypes.
* collect2.h: New header file for prototypes.
        * Makefile.in (collect2.o, tlink.o): Depend on collect2.h.
        * collect2.c: Include collect2.h.
        * tlink.c: Likewise.

From-SVN: r24231
1998-12-10 10:48:27 +00:00