Commit Graph

19873 Commits

Author SHA1 Message Date
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
Jeff Law
72b1c47924 Daily bump.
From-SVN: r24227
1998-12-09 17:45:02 -07:00
Jeffrey A Law
c985204794 * flow.c: Update some comments.
From-SVN: r24226
1998-12-09 15:57:59 -07:00
Mark Mitchell
104bf76a62 cp-tree.h (most_specialized_instantiation): New function.
* cp-tree.h (most_specialized_instantiation): New function.
	(print_candidates): Likewise.
	* class.c (validate_lhs): Remove.
	(resolve_address_of_overloaded_function): New function, split out
	and then substantially reworked, from ...
	(instantiate_type): Use it.  Simplify.
	* cvt.c (convert_to_reference): Complain when caller has indicated
	that's the right thing to do.  Don't crash if instantiate_type
	fails.
	* pt.c: Substitute `parameters' for `paramters' throughout.
	(print_candidates): Don't make it static.
	(most_specialized_instantiation): Split out from ...
	(most_specialized): Here.

From-SVN: r24225
1998-12-09 16:20:05 +00:00
Alexandre Petit-Bianco
f8976021c4 java-tree.def (NEW_ARRAY_INIT): New Java tree code.
Wed Dec  9 15:37:05 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
	* java-tree.def (NEW_ARRAY_INIT): New Java tree code.
	* lex.c (java_lex): Remember column position before advancing one
 	token. Retain location information on OCB_TK.
	* lex.h (typedef struct java_lc): Added new field.
	* parse.h (GET_SKIP_TYPE): New macro.
	(QUAL_DECL_TYPE): Redefined using GET_SKIP_TYPE.
	* parse.y (build_new_array_init, patch_new_array_init,
 	patch_array_constructor, maybe_build_array_element_wfl,
 	array_constructor_check_entry): New function prototypes.
	(switch_block:): Tagged <node>.
	(OCB_TK): Tagged <operator>.
	(array_initializer:): Installed actions.
	(variable_initializer): Build location information on element if
 	necessary.
	(switch_statement:): Fixed indentation typo.
	(switch_block:): Redefined default action.
	(java_complete_tree): Handle NEW_ARRAY_INIT in MODIFY_EXPR:.
	(patch_assignment): Removed duplicate code.
	(maybe_build_array_element_wfl, build_new_array_init,
 	patch_new_array_init, patch_array_constructor,
 	array_constructor_check_entry): New functions.
Parse and walk array initializer nodes.

From-SVN: r24224
1998-12-09 07:50:12 -08:00
Brendan Kehoe
996d0685a1 update old-dejagnu proc to accompany jasons 12/7 change to g++.old-deja/old-deja.exp
From-SVN: r24222
1998-12-09 07:53:34 -05:00
Dave Brolley
dfb0fb1d90 lex.c (lang_init_options): Initialize cpplib.
Wed Dec  9 15:33:01 1998  Dave Brolley  <brolley@cygnus.com>
	* lex.c (lang_init_options): Initialize cpplib.
	* decl2.c (parse_options,cpp_initialized): Removed.
	(lang_decode_option): Move initialization of cpplib to
	lang_init_options.

From-SVN: r24221
1998-12-09 07:51:24 -05:00
Dave Brolley
8a1a524a83 objc-act.c (cpp_initialized): Removed.
Wed Dec  9 15:29:26 1998  Dave Brolley  <brolley@cygnus.com>
	* objc/objc-act.c (cpp_initialized): Removed.
	(lang_init_options): Initialize cpplib.
	(lang_decode_option): Move initialization of cpplib to
	lang_init_options.

From-SVN: r24220
1998-12-09 07:47:51 -05:00
Dave Brolley
5d7da2c6d9 c-lang.c: (parse_options,parse_in): Added.
Wed Dec  9 15:29:26 1998  Dave Brolley  <brolley@cygnus.com>
	* c-lang.c: (parse_options,parse_in): Added.
	(lang_init_options): Initialized cpplib here.
	* c-decl.c (parse_options,cpp_initialized): Removed.
	(c_decode_option): Move initialization of cpplib to
	lang_init_options.

From-SVN: r24219
1998-12-09 07:47:28 -05:00
Mark Mitchell
33964bf4af decl.c (grokdeclarator): Update the name of the TEMPLATE_DECL...
* decl.c (grokdeclarator): Update the name of the TEMPLATE_DECL, as
	well as the TYPE_DECL, when a typedef name is assigned to a
	previously anonymous type.

From-SVN: r24218
1998-12-09 11:46:02 +00:00
Joern Rennecke
a0078b3709 Typo fix in last entry.
From-SVN: r24217
1998-12-09 11:41:26 +00:00
J"orn Rennecke
ed937a1993 reload1.c (reload_combine, [...]): Make USE_RUID always valid.
* reload1.c (reload_combine, reload_combine_note_store):
	Make USE_RUID always valid.
	(reload_combine): Check if BASE is clobbered too early.

From-SVN: r24216
1998-12-09 11:39:17 +00:00
Nick Clifton
290b61f7fa If an insn cannot be reloaded, display it before calling abort()
From-SVN: r24210
1998-12-09 09:55:10 +00:00
Dave Brolley
bdf777e4a4 cccp.c (create_definition): Fix end of bufer logic.
Wed Dec  9 12:15:26 1998  Dave Brolley  <brolley@cygnus.com>
	* cccp.c (create_definition): Fix end of bufer logic.

From-SVN: r24205
1998-12-09 04:17:52 -05:00
Kaveh R. Ghazi
3b89e9d1ff except.c (duplicate_eh_handlers, [...]): Function pointer parameters changed to use the PARAMS() macro.
* except.c (duplicate_eh_handlers, rethrow_symbol_map): Function
       pointer parameters changed to use the PARAMS() macro.

From-SVN: r24204
1998-12-09 07:27:21 +00:00
Andrew MacLeod
0177de8737 except.h (struct handler_info): Add handler_number field
* except.h (struct handler_info): Add handler_number field
	* except.c (gen_exception_label): EH labels no longer need to be
	on the permanent obstack.
	(get_new_handler): Set the label number field.
	(output_exception_table_entry): Regenerate handler label reference
	from the label number field.
	(init_eh): Remove a blank line
	* integrate.c (get_label_from_map): Labels no longer need to be
	on the permanent obstack.

From-SVN: r24203
1998-12-09 06:15:20 +00:00
Jeff Law
a91d8b9534 Daily bump.
From-SVN: r24202
1998-12-08 17:45:05 -07:00
Alexandre Oliva
752e02e4fc * gcc.dg/ultrasp1.c: empty dg-options, avoid `long long' warnings
From-SVN: r24201
1998-12-09 00:37:27 +00:00
Alexandre Oliva
2d8bf6c3c5 * g++.old-deja/g++.pt/instantiate6.C: linker error, not crash
From-SVN: r24200
1998-12-09 00:33:42 +00:00
Jim Wilson
7a3c92a596 Fix bug found by i960 simulator testing.
* i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand
	only when OUTER_CODE is SET.

From-SVN: r24199
1998-12-08 14:08:13 -08:00
Franz Sirl
31c2486198 930510-1.c: Make C9X safe.
* gcc.special/930510-1.c: Make C9X safe.
        * gcc.misc-tests/gcov-1.c Similarly.
        * gcc.misc-tests/gcov-2.c Similarly.

From-SVN: r24198
1998-12-08 14:53:21 -07:00
Jeff Law
16fb6b5ea9 Add missing ChangeLog entry for:
* configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now.
        * configure: Rebuilt.

From-SVN: r24197
1998-12-08 14:49:03 -07:00
J"orn Rennecke
5353610bac loop.c (strength_reduce): If scan_start points to the loop exit test...
* loop.c (strength_reduce): If scan_start points to the loop exit
	test, be wary of subversive use of gotos inside expression statements.
	Don't set maybe_multiple for a backward jump that does not
	include the label under consideration into its range.
	* unroll.c (biv_total_increment): Make use of maybe_multiple field.

From-SVN: r24196
1998-12-08 14:50:03 +00:00
J"orn Rennecke
03d937fceb explow.c (plus_constant_wide): Don't immediately return with result of recursive call.
* explow.c (plus_constant_wide): Don't immediately return with
	result of recursive call.

From-SVN: r24195
1998-12-08 14:35:18 +00:00