Commit Graph

25578 Commits

Author SHA1 Message Date
Jan Hubicka
0f808b6f0a combine.c (expand_compound_operation): Do not convert ZERO_EXTEND to SIGN_EXTEND, convert SIGN_EXTEND to ZERO_EXTEND.
* combine.c (expand_compound_operation): Do not convert ZERO_EXTEND to
	SIGN_EXTEND, convert SIGN_EXTEND to ZERO_EXTEND.
	(make_compound_operation): Choose cheaper alternative between
	ZERO_EXTEND and SIGN_EXTEND when sign bit is not set.

From-SVN: r31180
2000-01-03 15:49:51 +00:00
Jan Hubicka
f741a71c75 regclass.c (op_costs): Remove global variable.
* regclass.c (op_costs): Remove global variable.
	(record_reg_classes): New parameter "op_costs" and "reg_pref".
	(record_operand_costs): Break out from ...
	(scan_one_insn): ... here.
	(dump_regclass): Make dumps nicer.
	(regclass): Dump preferrences choosed and changes done during passes.

From-SVN: r31179
2000-01-03 15:23:56 +00:00
Jakub Jelinek
2aac41d648 * config/sparc/sparc.c (gen_df_reg): Fix for 32bit SPARC.
From-SVN: r31178
2000-01-03 11:40:13 +01:00
Jakub Jelinek
7b1ac7981e sparc.c (gen_df_reg): New function.
* config/sparc/sparc.c (gen_df_reg): New function.
	* config/sparc/sparc-protos.h (gen_df_reg): Add prototype.
	* config/sparc/sparc.md (movtf_no_e_insn_sp64+1,
	movtf_no_e_insn_sp64+2, movtf_no_e_insn_sp64+3, movtf_cc_sp64+1,
	movtf_cc_reg_sp64+1): Use it.

From-SVN: r31177
2000-01-03 09:53:13 +01:00
Jeff Law
3fda1f48b5 Daily bump.
From-SVN: r31176
2000-01-03 01:45:07 -07:00
Mark Mitchell
8026246fa2 cp-tree.h (CLASSTYPE_VFIELDS): Move definition.
2000-01-02  Mark Mitchell  <mark@codesourcery.com>

	* cp-tree.h (CLASSTYPE_VFIELDS): Move definition.
	(BINFO_PRIMARY_MARKED_P): Use flag 5.
	(SET_BINFO_PRIMARY_MARKED_P): Likewise.
	(CLEAR_BINFO_PRIMARY_MARKED_P): Likewise.
	(unmark_primary_bases): Remove declaration.
	(unmarkedp): Declare.
	(dfs_vbase_unmark): Likewise.
	* class.c (determine_primary_base): Return immediately if there
	are no base classes.  Call mark_primary_bases here.
	(modify_all_direct_vtables): Remove.
	(modify_all_indirect_vtables): Remove.
	(dfs_modify_vtables_queue_p): New function.
	(dfs_modify_vtables): New function.
	(modify_all_vtables): Use them.
	(build_base_fields): Build FIELD_DECLs for primary virtual base
	classes.
	(create_vtable_ptr): Don't call determine_primary_base here.
	(dfs_mark_primary_bases_and_set_vbase_offsets): Rename to ...
	(dfs_set_offset_for_vbases): ... this.
	(layout_virtual_bases): Use it.
	(layout_class_type): Call determine_primary_base here.
	* search.c (unmarkedp): Make it global.
	(shared_marked_p): Simplify.
	(shared_unmarked_p): Likewise.
	(dfs_primary_bases_queue_p): Remove.
	(dfs_unmark_primary_bases): Likewise.
	(unmark_primary_bases): Likewise.
	(mark_primary_bases): Simplify.
	(get_pure_virtuals): Don't call mark_primary_bases here.
	(dfs_vbase_unmark): New function.
	(get_vbase_types): Simplify.

From-SVN: r31175
2000-01-03 06:56:21 +00:00
Mark Mitchell
d2c5305bdb class.c (struct base_info): Remove.
* class.c (struct base_info): Remove.
	(determine_primary_base): Take has_virtual_p rather than a
	base_info as input.  Don't calculate max_has_virtual.
	(finish_struct_bits): Remove max_has_virtual argument.
	(create_vtable_ptr): Remove max_has_virtual_p argument.
	(layout_virtual_bases): Remove max argument.
	(layout_basetypes): Likewise.
	(layout_class_type): Remove max_has_virtual_p argument.
	(finish_struct_1): Remove max_has_virtual.

From-SVN: r31174
2000-01-03 04:05:43 +00:00
Mark Mitchell
a71811fe38 integrate.c (copy_decl_for_inlining): Clear TREE_ADDRESSABLE on copied LABEL_DECLs.
* integrate.c (copy_decl_for_inlining): Clear TREE_ADDRESSABLE on
	copied LABEL_DECLs.

From-SVN: r31173
2000-01-03 03:33:09 +00:00
Hans-Peter Nilsson
9d81fc2781 i386.c (ix86_expand_unary_operator): Function definition made void.
* config/i386/i386.c (ix86_expand_unary_operator): Function
	definition made void.
	(ix86_expand_binary_operator): Update outdated preceding comment.
	* config/i386/i386-protos.h (ix86_expand_unary_operator): Update
	prototype.

From-SVN: r31172
2000-01-03 02:30:52 +00:00
Hans-Peter Nilsson
0ef2e39a2d Oops, forgot to update copyright date
From-SVN: r31171
2000-01-03 01:13:16 +00:00
Hans-Peter Nilsson
e4c0478d85 * config/i386/i386.c (override_options): Fix option-name typo.
From-SVN: r31170
2000-01-03 01:07:21 +00:00
Mark Mitchell
213800dd6f Add missing ChangeLog
From-SVN: r31169
2000-01-02 19:47:17 +00:00
Mark Mitchell
80fd5f4866 cp-tree.h (dfs_mark_primary_bases_queue_p): New function.
* cp-tree.h (dfs_mark_primary_bases_queue_p): New function.
	(layout_basetypes): Remove.
	* class.c (propagate_binfo_offsets): Moved here from tree.c.
	Update to handle primary virtual bases.
	(remove_base_fields): New function, split out from
	layout_basetypes.
	(dfs_mark_primary_bases_and_set_vbase_offsets): New function.
	(layout_virtual_bases): New function, split out from
	layout_basetypes.  Update to handle primary virtual bases.
	(layout_basetypes): Moved here from tree.c.  Use
	remove_base_fields and layout_virtual_bases.
	* search.c (dfs_mark_primary_bases_queue_p): New function.
	(mark_primary_bases): Use it.
	* tree.c (CEIL): Remove.
	(propagate_binfo_offsets): Remove.
	(layout_basetypes): Remove.

From-SVN: r31168
2000-01-02 19:41:09 +00:00
Mark Mitchell
13799af323 system.h (CEIL): Define.
* system.h (CEIL): Define.
	* builtins.c (CEIL): Remove.
	* expmed.c (CEIL): Likewise.
	* expr.c (CEIL): Likewise.
	* stor-layout.c (CEIL): Likewise.

From-SVN: r31167
2000-01-02 19:38:36 +00:00
Franz Sirl
0db5adc6fb expr.c (store_constructor_field): Fix typo introduced with last gcc2 merge.
* expr.c (store_constructor_field): Fix typo introduced with last
	gcc2 merge.

From-SVN: r31166
2000-01-02 13:13:37 +00:00
Jeff Law
592f2707b1 Daily bump.
From-SVN: r31165
2000-01-02 01:45:07 -07:00
Mark Mitchell
99a6c6f408 cp-tree.h (CLASSTYPE_N_BASECLASSES): Use BINFO_N_BASETYPES.
* cp-tree.h (CLASSTYPE_N_BASECLASSES): Use BINFO_N_BASETYPES.
	(BINFO_PRIMARY_MARKED_P): New macro.
	(SET_BINFO_PRIMARY_MARKED_P): Likewise.
	(CLEAR_BINFO_PRIMARY_MARKED_P): Likewise.
	(mark_primary_bases): New function.
	(unmark_primary_bases): Likewise.
	* search.c (get_abstract_virtuals_1): Remove.
	(dfs_mark_primary_bases): New function.
	(mark_primary_bases): Likewise.
	(dfs_unmark_primary_bases): Likewise.
	(unmark_primary_bases): Likewise.
	(dfs_get_pure_virtuals): Likewise.

From-SVN: r31164
2000-01-02 04:34:22 +00:00
Mark Mitchell
07b7a812fd cp-tree.h (skip_rtti_stuff): Adjust prototype.
* cp-tree.h (skip_rtti_stuff): Adjust prototype.
	* class.c (skip_rtti_stuff): Reorganize parameters and return value.
	(modify_one_vtable): Adjust.
	(fixup_vtable_deltas1): Likewise.
	(override_one_vtable): Likewise.
	* search.c (get_abstract_virtuals_1): Likewise.
	(get_pure_virtuals): Likewise.
	(expand_upcast_fixups): Likewise.
	* tree.c (debug_binfo): Likewise.

From-SVN: r31163
2000-01-02 04:04:05 +00:00
Mark Mitchell
5e1677bcb0 * tree.h (BINFO_N_BASETYPES): New macro.
From-SVN: r31162
2000-01-02 03:24:44 +00:00
Mark Mitchell
0533d788e5 class.c (build_vtable): Don't return a value.
* class.c (build_vtable): Don't return a value.  Don't rebuild
	vtables for bases that have already been handled.
	(prepare_fresh_vtable): Don't rebuild vtables for bases that have
	already been handled.
	(modify_one_vtable): Adjust accordingly.
	(fixup_vtable_deltas1): Likewise.
	(finish_struct_1): Likewise.

From-SVN: r31161
2000-01-02 02:13:53 +00:00
Martin v. Löwis
4485c55bfd Fix date of last check-in
From-SVN: r31160
2000-01-01 17:55:30 +00:00
Hans-Peter Nilsson
2f52c7e641 symcat.h (STRINGX): Change "?" to "s" to stringify argument s.
* symcat.h (STRINGX) [!__STDC__ || ALMOST_STDC]: Change "?" to "s"
	to stringify argument s.

From-SVN: r31159
2000-01-01 17:26:13 +00:00
Martin v. Löwis
0c12c02a4f New test case.
From-SVN: r31158
2000-01-01 13:30:01 +00:00
Martin v. Löwis
1cb47a5cab * call.c (build_new_method_call): Also check destructors.
From-SVN: r31157
2000-01-01 13:29:44 +00:00
Bernd Schmidt
3bdf58486d Avoid losing pending stack adjusts.
From-SVN: r31156
2000-01-01 12:12:10 +00:00
Jeff Law
2d0541b99a Daily bump.
From-SVN: r31155
2000-01-01 01:45:07 -07:00
Mark Mitchell
0370274800 cp-tree.h (VF_NORMAL_VALUE): Remove.
* cp-tree.h (VF_NORMAL_VALUE): Remove.
	* class.c (struct base_info): Remove vfield, vfields, and rtti.
	(set_primary_base): New function, split out from ...
	(finish_base_struct): ... here.  Rename to ...
	(determine_primary_base): ... this.  Simplify.
	(create_vtable_ptr): Tweak accordingly.
	(finish_struct_1): Simplify.

From-SVN: r31154
2000-01-01 03:04:27 +00:00
Richard Kenner
700f19f09f function.c (update_temp_slot_address): Handle case where sum of temporary address plus offset in register is a valid...
* function.c (update_temp_slot_address): Handle case where sum of
	temporary address plus offset in register is a valid address.

From-SVN: r31153
1999-12-31 19:07:54 -05:00
Tom Tromey
2c33b220da * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
From-SVN: r31152
1999-12-31 22:44:09 +00:00
Manfred Hollstein
df5507eca8 * POTFILES.in: Remove config/xm-siglist.h.
From-SVN: r31151
1999-12-31 21:50:33 +00:00
Mark Mitchell
233811559a cp-tree.h (CLASSTYPE_VBASECLASSES): Update documentation.
* cp-tree.h (CLASSTYPE_VBASECLASSES): Update documentation.
	(CLASSTYPE_N_BASECLASSES): Likewise.
	(BINFO_FOR_VBASE): New macro.
	(get_vbase_types): Change prototype.
	* class.c (build_vbase_path): Use BINFO_FOR_VBASE.
	(prepare_fresh_vtable): Likewise.
	(finish_vtbls): Likewise.
	(get_class_offset_1): Likewise.
	(modify_all_indirect_vtables): Likewise.
	(build_vbase_pointer_fields): Likewise.
	* decl.c (xref_basetypes): Don't set CLASSTYPE_VBASECLASSES here.
	* init.c (sort_base_init): Use BINFO_FOR_VBASE.
	(expand_member_init): Likewise.
	* search.c (get_base_distance): Likewise.
	(lookup_field_queue_p): Likewise.
	(virtual_context): Likewise.
	(get_vbase_types): Don't return a value.  Set
	CLASSTYPE_VBASECLASSES here.
	* typeck.c (get_delta_difference): Use BINFO_FOR_VBASE.

From-SVN: r31150
1999-12-31 20:26:07 +00:00
Jeff Law
8b4d03b1f9 Daily bump.
From-SVN: r31149
1999-12-31 01:45:07 -07:00
Kaveh R. Ghazi
c63b98cdad class.c (assume_compiled, [...]): Add static prototype.
* class.c (assume_compiled, assume_compiled_node): Add static
	prototype.
	(add_assume_compiled): Use xmalloc/xstrdup, not malloc/strdup.

	* jcf-dump.c (ARRAY_NEW_NUM): Cast long to int in switch.

	* jvgenmain.c (usage): Add static prototype with ATTRIBUTE_NORETURN.

	* parse.h (OBSOLETE_MODIFIER_WARNING): Rename parameter `modifier'
	to `__modifier' to avoid stringifying it.

	* parse.y (verify_constructor_circularity): Don't call a variadic
	function with a non-literal format string.
	(java_check_abstract_methods): Move unreachable code inside
	`continue' statement.
	(lookup_method_invoke): Call xstrdup, not strdup.

	* expr.c (expand_java_field_op): Avoid the use of ANSI string
	concatenation.

	* jcf-parse.c (yyparse): Likewise.

	* jv-scan.c (main): Likewise.

From-SVN: r31148
1999-12-31 03:30:22 +00:00
Alexandre Petit-Bianco
6bafd8b6e9 expr.c (expand_invoke): Layout the loaded class before attempting to use it.
Thu Dec 16 00:09:45 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* expr.c (expand_invoke): Layout the loaded class before
 	attempting to use it.
	(expand_java_field_op): Allow final field assignments to take
 	place in $finit$.
	* typeck.c (convert): Return error_mark_node if expr is null.

From-SVN: r31147
1999-12-30 19:06:55 -08:00
Kaveh R. Ghazi
781b0558cf parse.h (ABSTRACT_CHECK, [...]): Avoid the use of ANSI string concatenation.
* parse.h (ABSTRACT_CHECK, JCONSTRUCTOR_CHECK,
	ERROR_CANT_CONVERT_TO_BOOLEAN, ERROR_CANT_CONVERT_TO_NUMERIC,
	ERROR_CAST_NEEDED_TO_INTEGRAL): Avoid the use of ANSI string
	concatenation.

	* parse.y (synchronized, variable_redefinition_error,
	check_class_interface_creation, create_interface, create_class,
	method_header, finish_method_declaration,
	check_modifiers_consistency, method_declarator,
	complete_class_report_errors, check_abstract_method_definitions,
	java_check_regular_methods, check_throws_clauses,
	java_check_abstract_methods, read_import_dir,
	check_pkg_class_access, declare_local_variables, fix_constructors,
	cut_identifier_in_qualified, resolve_expression_name,
	resolve_qualified_expression_name, patch_method_invocation,
	java_complete_lhs, patch_assignment, try_builtin_assignconv,
	patch_binop, patch_array_ref, patch_newarray, build_labeled_block,
	patch_exit_expr, patch_exit_expr, patch_switch_statement,
	patch_try_statement, patch_synchronized_statement,
	patch_throw_statement, check_thrown_exceptions,
	patch_conditional_expr): Likewise.

From-SVN: r31146
1999-12-31 02:41:24 +00:00
Alexandre Petit-Bianco
e920ebc931 class.c (class_depth): Return -1 if the class doesn't load properly.
1999-12-14  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * class.c (class_depth): Return -1 if the class doesn't load
        properly.
        * expr.c (can_widen_reference_to): Check for errors during depth
        computation and return 0 accordingly.
        * jcf-parse.c (parse_source_file): Call java_fix_constructors to
        create default constructors and add an other error check.
        * parse.h (java_fix_constructors): Prototyped.
        * parse.y (java_pre_expand_clinit): Likewise.
        (build_super_invocation): Re-prototyped to feature one argument.
        (java_check_circular_reference): Directly use `current'.
        (java_fix_constructors): New function.
        (java_check_regular_methods): Don't create default constructors
        here, but abort if none were found.
        (java_complete_expand_methods): Pre-process <clinit> calling
        java_pre_expand_clinit.
        (java_pre_expand_clinit): New function.
        (fix_constructors): build_super_invocation invoked with the
        current method declaration as an argument.
        (build_super_invocation): Use the context of the processed method
        decl argument instead of current_class.
        * typeck.c (lookup_java_method): Take WFLs in method names into
        account.

From-SVN: r31144
1999-12-30 14:36:25 -08:00
Richard Henderson
f0353e33dc * stw.h (struct _ffestw_): Change type of uses_ to int.
From-SVN: r31143
1999-12-30 13:15:24 -08:00
Geoff Keating
7189a4b014 Make the Fortran front-end use garbage collection:
* com.c (ffecom_init_0): Make double_ftype_double,
	float_ftype_float, ldouble_ftype_ldouble,
	ffecom_tree_ptr_to_fun_type_void local.
	(tracker_head): New static variable.
	(mark_tracker_head): New, marker procedure for tracker_head.
	(ffecom_save_tree_forever): New procedure.
	(ffecom_init_zero_): Remove obstack use.
	(ffecom_make_gfrt_): Remove obstack use.
	(ffecom_sym_transform_): Remove obstack use, save appropriate trees.
	(ffecom_transform_common_): Remove obstack use, save appropriate
	trees.
	(ffecom_type_namelist_): Remove obstack use, save appropriate
	trees.
	(ffecom_type_vardesc_): Remove obstack use, save appropriate trees.
	(ffecom_lookup_label): Remove obstack use, save appropriate trees.
	(duplicate_decls): Remove obstack use.
	(finish_function): push & pop ggc context around
	rest_of_compilation when building nested function.
	(mark_binding_level): New function.
	(init_decl_processing): Mark all the GC roots.
	(ggc_p): Set to 1.
	(lang_mark_tree): New function.
	(lang_mark_false_label_stack): New trivial function.
	* com.h (ffecom_save_tree_forever): Declare as external.
	* lex.c (ffelex_hash_): Use GC to allocate the filename string
	even when ffelex_kludge_flag_.
	* ste.c (ffeste_io_ialist_): Register a static root.
	(ffeste_io_inlist_): Likewise.
	(ffeste_io_icilist_): Likewise.
	(ffeste_io_cllist_): Likewise.
	(ffeste_io_cilist_): Likewise.
	(ffeste_io_olist_): Likewise.
	* Makefile.in (OBJS): Don't use ggc-callbacks.o.
	(OBJDEPS): Likewise.
	(GGC_H): New variable.
	Update dependencies.
	* where.c (ffewhere_head): New global.
	(mark_ffewhere_head): New marker procedure for ffewhere_head.
	(ffewhere_file_kill): Use GC to do memory management.
	(ffewhere_file_new): Use GC to do memory management.
	* ggc.j: New file.

From-SVN: r31142
1999-12-30 19:44:13 +00:00
Herman A.J. ten Brugge
0deeec4e12 * genrecog.c (change_state) Corrected typo.
From-SVN: r31141
1999-12-30 09:48:52 -08:00
Mark Mitchell
351c54c817 * class.c (fixup_inline_methods): Clear CLASSTYPE_INLINE_FRIENDS.
From-SVN: r31140
1999-12-30 17:23:24 +00:00
Kaveh R. Ghazi
d4d4ae5f2d system.h (bcopy, [...]): Add prototype arguments.
* system.h (bcopy, bcmp, bzero, index, rindex, atof, atol, free,
	getcwd, getenv, getwd, sbrk, strstr, malloc, calloc, realloc,
	strerror, getrlimit, setrlimit, abort): Add prototype arguments.

From-SVN: r31139
1999-12-30 13:48:51 +00:00
Bernd Schmidt
d22ce03d6e Fix FP GT comparisons on i386 with -ffast-math
From-SVN: r31138
1999-12-30 12:43:51 +00:00
Bernd Schmidt
3fe5b1438e New testcase
From-SVN: r31137
1999-12-30 12:40:53 +00:00
Jeff Law
47918b57bd Daily bump.
From-SVN: r31136
1999-12-30 01:45:06 -07:00
Jeffrey A Law
60a18af89e * gcc.c-torture/compile/991229-3.c: New test.
From-SVN: r31135
1999-12-29 23:54:04 -07:00
Jeffrey A Law
7f0f889158 * gcc.c-torture/compile/991229-2.c: New test.
From-SVN: r31134
1999-12-29 23:51:26 -07:00
Jeffrey A Law
bacaaca4b8 * gcc.c-torture/compile/991229-1.c: New test.
From-SVN: r31133
1999-12-29 23:47:39 -07:00
Gabriel Dos Reis
671d2ac663 dwarfout.c: Include "frame.h"
1999-12-30  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

        * dwarfout.c: Include "frame.h"
        * dwarf2out.c: Likewise.
        * Makefile.in (dwarfout.o): Depend on frame.h
        (dwarf2out.o): Likewise.

From-SVN: r31131
1999-12-30 05:58:56 +00:00
Greg McGary
7fb1283fc7 * gcc.c-torture/compile/labels-2.c: New test.
From-SVN: r31128
1999-12-29 20:55:32 -07:00
Martin v. Loewis
3073d01c3d Restore i386 binary compatibility in Dwarf EH info.
* config/i386/i386.h (DWARF_FRAME_REGISTERS): Define as 17, the old
        value of FIRST_PSEUDO_REGISTER.
        * frame.h (DWARF_FRAME_REGISTERS): Default to FIRST_PSEUDO_REGISTER.
        (struct frame_state): Use DWARF_FRAME_REGISTERS.
        * dwarfout.c (output_reg_number): Ditto.
        * dwarf2out.c (reg_number, expand_builtin_init_dwarf_reg_sizes): Ditto.
        (DWARF_FRAME_RETURN_COLUMN): Default to DWARF_FRAME_REGISTERS.

From-SVN: r31127
1999-12-29 20:44:13 -07:00