Commit Graph

18439 Commits

Author SHA1 Message Date
Jason Merrill
a1dd0d36f4 Add support for discarding unused virtual functions.
* search.c (dfs_search, binfo_for_vtable, dfs_bfv_helper): New fns.
	* decl2.c (output_vtable_inherit): Call binfo_for_vtable.
	* lang-options.h: Add -fvtable-gc.
	* cp-tree.h: Add flag_vtable_gc.
	* decl2.c (output_vtable_inherit): New fn.
	(finish_vtable_vardecl): Call it.
	* class.c (build_vtable_entry_ref): New fn.
	(build_vtbl_ref): Call it.

From-SVN: r22061
1998-08-28 12:11:35 -04:00
Mark Mitchell
079e1098ab cp-tree.h (build_enumerator): Take the enumeration type as a paramter.
* cp-tree.h (build_enumerator): Take the enumeration type as a
	paramter.
	* decl.c (finish_enum): Don't set the TREE_TYPE for the
	enumeration constant values if we're processing_template_decls.
	Don't set the type for the CONST_DECLs either; that's done in
	build_enumerator. (
	(build_enumerator): Take the enumeration type as a
	paramter.
	* lex.c (do_identifier): Don't resolve enumeration constants while
	processing template declarations, even if they happen to be
	TEMPLATE_PARM_INDEXs.
	* parse.y (current_enum_type): New variable.
	(primary): Don't allow statement-expression in local classes just
	as we don't in global classes.
	(structsp): Use current_enum_type.
	(enum_list): Likewise.
	* pt.c (tsubst_enum): Don't check for NOP_EXPRs introduced by
	finish_enum; they no longer occur.

From-SVN: r22060
1998-08-28 15:43:58 +00:00
Brendan Kehoe
ec8b2a1364 fix XCRASH setup
From-SVN: r22059
1998-08-28 11:43:10 -04:00
Brendan Kehoe
5d0c47400b dd `_eb91_' in front of the typenames, to avoid linux hiccups
From-SVN: r22058
1998-08-28 11:40:44 -04:00
Jim Wilson
0642498960 sparc.md (DImode, [...]): Delete self_reference code.
* sparc.md (DImode, DFmode, TFmode splits): Delete self_reference
	code.  Use reg_overlap_mentioned_p to detect when source and
	destination overlap.
	(negtf2_notv9+1): Use DFmode instead of SFmode in last two operands.

From-SVN: r22057
1998-08-28 07:57:55 -07:00
Mark Mitchell
ea6021e832 cp-tree.h (finish_base_specifier): New function.
* cp-tree.h (finish_base_specifier): New function.
	* parse.y (base_class): Use it.
	* semantics.c (finish_base_specifier): Define it.
	* parse.y (structsp): Warn on use of typename outside of template
	declarations.

From-SVN: r22055
1998-08-28 12:06:56 +00:00
Brendan Kehoe
9231189b62 loop.c (check_dbra_loop): Pass COMPARISON_VALUE, not COMPARISON_VAL, into invariant_p.
* loop.c (check_dbra_loop): Pass COMPARISON_VALUE, not
	COMPARISON_VAL, into invariant_p.

From-SVN: r22054
1998-08-28 07:23:35 -04:00
Brendan Kehoe
f285ef2072 mark as xfail for now, since we have the test but don't have a fix yet
From-SVN: r22053
1998-08-28 05:39:38 -04:00
J"orn Rennecke
3bb806ed99 regmove.c (regclass_compatible_p): New function.
* regmove.c (regclass_compatible_p): New function.
        (regmove_optimize): Use it.
        Use NREGS parameter insted of calling max_reg_num.
        (fixup_match_1): Don't use code = MINUS when later tieing with
        a hard register is likely.

From-SVN: r22052
1998-08-28 08:18:52 +01:00
J"orn Rennecke
8ed69d0908 loop.c (check_dbra_loop): Fix calculation of FINAL_VALUE when COMPARISON_VAL was normalized.
* loop.c (check_dbra_loop): Fix calculation of FINAL_VALUE when
	COMPARISON_VAL was normalized.

From-SVN: r22051
1998-08-28 08:05:20 +01:00
Martin v. Löwis
af3d5d5313 Update reference to standard.
From-SVN: r22050
1998-08-28 02:43:24 +00:00
Jeff Law
e6f018b241 Daily bump.
From-SVN: r22048
1998-08-27 18:45:03 -06:00
Jeffrey A Law
3aa94dc884 loop.c (check_dbra_loop): The loop ending comparison value must be an invariant or we can not reverse the...
* loop.c (check_dbra_loop): The loop ending comparison value
        must be an invariant or we can not reverse the loop.

From-SVN: r22045
1998-08-27 18:10:42 -06:00
Jeffrey A Law
78b87d18ae loop.c (scan_loop): Count down from max_reg_num - 1 to FIRST_PSEUDO_REGISTER to avoid calling...
* loop.c (scan_loop): Count down from max_reg_num - 1 to
        FIRST_PSEUDO_REGISTER to avoid calling max_reg_num each iteration
        of the loop.
        (load_mems_and_recount_loop_regs_set): Likewise.
Forgot second AVOID_CCMODE_COPIES loop.

From-SVN: r22044
1998-08-27 17:19:47 -06:00
Jeffrey A Law
3568fdd276 loop.c (scan_loop): Count down from max_reg_num - 1 to FIRST_PSEUDO_REGISTER to avoid calilng...
* loop.c (scan_loop): Count down from max_reg_num - 1 to
        FIRST_PSEUDO_REGISTER to avoid calilng max_reg_num each iteration
        of the loop.

From-SVN: r22043
1998-08-27 17:11:32 -06:00
Jeffrey A Law
3d55c13000 980827-1.c: New test.
* gcc.dg/980827-1.c: New test.
New test from Geoff Keating

From-SVN: r22042
1998-08-27 17:01:28 -06:00
Per Bothner
495897b71c Fix typo.
From-SVN: r22040
1998-08-27 13:52:38 -07:00
Per Bothner
615582bce1 Migrate from devo/gcc/ch.
From-SVN: r22039
1998-08-27 13:51:39 -07:00
Per Bothner
3c79b2da6b
Migrate from devo/gcc/ch.

From-SVN: r22038
1998-08-27 13:51:39 -07:00
Per Bothner
360c5f1547 Migrate from devo/gcc/ch.
From-SVN: r22037
1998-08-27 13:51:39 -07:00
Per Bothner
3a575f253d
Migrate from devo/gcc/ch.

From-SVN: r22036
1998-08-27 13:51:39 -07:00
Per Bothner
a2ca17fa85
Migrate from devo/gcc/ch.

From-SVN: r22035
1998-08-27 13:51:39 -07:00
Per Bothner
80a093b29e
Migrate from devo/gcc/ch.

From-SVN: r22034
1998-08-27 13:51:39 -07:00
Per Bothner
fc5074d4c9 d
Migrate from devo/gcc/ch.

From-SVN: r22033
1998-08-27 13:51:38 -07:00
Per Bothner
cb551490a3
Migrate from devo/gcc/ch.

From-SVN: r22032
1998-08-27 13:51:38 -07:00
Per Bothner
5ba6e819ef
Migrate from devo/gcc/ch.

From-SVN: r22031
1998-08-27 13:51:38 -07:00
Per Bothner
f62502329f (
Migrate from devo/gcc/ch.

From-SVN: r22030
1998-08-27 13:51:37 -07:00
Brendan Kehoe
db3c7f059c add missing typedefs
From-SVN: r22029
1998-08-27 16:02:34 -04:00
Jeffrey A Law
70f7facc71 * i386.c (print_operand): Remove obsolete 'c' docs.
From-SVN: r22028
1998-08-27 13:12:08 -06:00
Jason Merrill
56ae6d7780 lex.c (handle_cp_pragma): Remove #pragma vtable.
* lex.c (handle_cp_pragma): Remove #pragma vtable.
	* lang-options.h: Remove +e options.
	* decl2.c (lang_decode_option): Likewise.
	(import_export_vtable): Don't check write_virtuals.
	(finish_vtable_vardecl, finish_file): Likewise.
	* search.c (dfs_debug_mark): Likewise.
	* semantics.c (begin_class_definition): Likewise.
	* class.c (build_vtable, finish_vtbls, finish_struct_1): Likewise.
	* call.c (build_over_call): Check flag_elide_constructors.
	* decl2.c: flag_elide_constructors defaults to 1.
	* typeck.c (convert_arguments): Remove return_loc parm.
	(build_function_call_real): Adjust.

From-SVN: r22027
1998-08-27 15:03:59 -04:00
Brendan Kehoe
0603b640a0 fix test
From-SVN: r22026
1998-08-27 14:46:21 -04:00
Jason Merrill
e907984f30 search.c: Tear out all mi_matrix and memoize code.
* search.c: Tear out all mi_matrix and memoize code.
	(lookup_field, lookup_fnfields): Use scratch_tree_cons.
	* lang-options.h: Remove documentation for -fhandle-exceptions,
	-fmemoize-lookups and -fsave-memoized.
	* cp-tree.h: Lose mi_matrix and memoize support.
	* decl2.c: Ignore -fmemoize-lookups and -fsave-memoized.
	* class.c: Lose struct class_level.
	(pushclass, popclass): Lose memoize support.
	* init.c (build_offset_ref): Likewise.

From-SVN: r22025
1998-08-27 13:33:35 -04:00
Jason Merrill
dfbcd65a01 Never change BINFO_INHERITANCE_CHAIN.
* init.c (emit_base_init): Change modification of
	BINFO_INHERITANCE_CHAIN to an assert.
	* search.c (get_base_distance_recursive): Likewise.
	(get_base_distance): Likewise.
	(lookup_member): Likewise.
	(convert_pointer_to_single_level): Likewise.
	(lookup_field): Likewise.  Lose setting TREE_VIA_* on TREE_LISTs.
	(lookup_fnfields): Likewise.
	* tree.c (propagate_binfo_offsets): Don't call unshare_base_binfos.
	(unshare_base_binfos): Don't call propagate_binfo_offsets.
	(layout_basetypes): Call propagate_binfo_offsets instead of
	unshare_base_binfos.
	* decl.c (xref_basetypes): Call unshare_base_binfos.
	* pt.c (instantiate_class_template): Likewise.
	* tree.c (reverse_path): Remove 'copy' parm; always make a
	temporary copy.
	* class.c (build_vbase_path): Just call it.
	* search.c (compute_access): Likewise.  Don't re-reverse.

From-SVN: r22024
1998-08-27 11:30:49 -04:00
Tom Tromey
3e2a2957a0 gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.
* gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.
        * frame.c (init_object_mutex): New function.
        (init_object_mutex_once): Likewise.
        (find_fde): Call it.
        (__register_frame_info): Likewise.
        (__register_frame_info_table): Likewise.
        (__deregister_frame_info): Likewise.

From-SVN: r22023
1998-08-27 14:51:55 +00:00
Jeffrey A Law
54c3cf4bb9 * haifa-sched.c (sched_analyze_insn): Fix thinko in last change.
From-SVN: r22022
1998-08-27 08:15:32 -06:00
Mark Mitchell
ca107dedc7 class.c (build_vbase_path): Use reverse_path.
* class.c (build_vbase_path): Use reverse_path.
	(finish_base_struct): Move warnings for inaccessible bases to
	layout_basetypes.
	(modify_one_vtable): Remove check of TREE_USED (binfo).
	(fixup_vtable_deltas1): Likewise.
	* cp-tree.h (BINFO_INHERITANCE_CHAIN): Document here.
	(xref_tag): Remove binfos parameter.
	(make_binfo): Remove chain parameter.
	(reverse_path): Add copy parameter.
	* decl.c (init_decl_processing): Change calls to xref_tag.
	(xref_tag): Remove binfos parameter.
	(xref_basetypes): Change calls to make_binfo.
	* decl2.c (grok_x_components): Change calls to xref_tag.
	(handle_class_head): Likewise.
	* friend.c (do_friend): Likewise.
	* lex.c (make_lang_type): Change calls to make_binfo.
	* parse.y (structsp): Change calls to xref_tag.
	(named_complex_class_head_sans_basetype): Likewise.
	(named_class_head): Likewise.
	* rtti.c (init_rtti_processing): Likewise.
	* search.c (compute_access): Change calls to reverse_path.
	(dfs_get_vbase_types): Change calls to make_binfo.
	(get_vbase_types): Remove dead code.
	* tree.c (unshare_base_binfos): Change calls to make_binfo.
	(layout_basetypes): Warn here about inaccessible bases.
	(make_binfo): Remove chain parameter.
	(reverse_path): Add copy parameter.

From-SVN: r22021
1998-08-27 10:17:48 +00:00
Mark Mitchell
18337c03d5 Remove comma
From-SVN: r22020
1998-08-27 10:12:10 +00:00
J"orn Rennecke
7a5109b7f3 loop.c (check_dbra_loop): Enable code for reversal of some loops without a known constant loop end.
* loop.c (check_dbra_loop): Enable code for reversal
	of some loops without a known constant loop end.

From-SVN: r22019
1998-08-27 09:39:22 +01:00
Jason Merrill
8c1bd4f5dc class.c: #if 0 complete_type_p.
* class.c: #if 0 complete_type_p.
	* init.c (build_java_class_ref, build_new_1): Remove unused locals.
	* method.c (process_overload_item): Likewise.
	* typeck.c (comp_target_types): Likewise.

From-SVN: r22018
1998-08-26 22:04:34 -04:00
Jason Merrill
0ec5701756 Stop sharing binfos for indirect virtual bases.
* tree.c (propagate_binfo_offsets): Unshare vbases, too.
	(layout_basetypes): Likewise.
	(unshare_base_binfos): Copy vbases, too.
	* cp-tree.h (BINFO_VIA_PUBLIC, BINFO_BASEINIT_MARKED,
	BINFO_VBASE_INIT_MARKED): Remove obsolete macros.
	(BINFO_PUSHDECLS_MARKED, SET_BINFO_PUSHDECLS_MARKED,
	CLEAR_BINFO_PUSHDECLS_MARKED): New macros.
	* search.c (lookup_field, lookup_fnfields, lookup_member): Remove
	reference to BINFO_VIA_PUBLIC.
	(marked_pushdecls_p, unmarked_pushdecls_p): New fns.
	(push_class_decls): Use them.
	(dfs_pushdecls): Use SET_BINFO_PUSHDECLS_MARKED.
	(dfs_compress_decls): Use CLEAR_BINFO_PUSHDECLS_MARKED.

From-SVN: r22017
1998-08-26 21:41:17 -04:00
Jeff Law
1ca7641e55 Daily bump.
From-SVN: r22015
1998-08-26 18:45:02 -06:00
Mark Mitchell
e8bd800e45 decl.c (build_enumerator): Set DECL_CONTEXT for the CONST_DECLs.
* decl.c (build_enumerator): Set DECL_CONTEXT for the
	CONST_DECLs.

From-SVN: r22014
1998-08-27 00:14:27 +00:00
Jeffrey A Law
563f648be5 * Makefile.in (FLAGS_TO_PASS): Fix typo.
From-SVN: r22012
1998-08-26 16:20:34 -06:00
Richard Henderson
7d0bfbd0be alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER.
* alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER.
        (MD_SCHED_VARIABLE_ISSUE): New.

From-SVN: r22011
1998-08-26 11:49:40 -07:00
Richard Henderson
68aed21b05 alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit.
* alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit.
        Tag trapb and next insn with TImode.
        (alphaev5_insn_pipe, alphaev5_next_group, alphaev5_align_insns): New.
        (alpha_reorg): Add conditional for alpha_handle_trap_shadows.
        Invoke alphaev5_align_insns as appropriate.
        * alpha.md (attr type): Add multi.
        (define_asm_attributes): New.
        (prologue_stack_probe_loop, builtin_setjmp_receiver): Set type multi.
        (arg_home): Likewise.
        (fnop, unop, realign): New.

From-SVN: r22010
1998-08-26 11:48:21 -07:00
Richard Henderson
4bdc8810f6 haifa-sched.c (last_clock_var): New.
* haifa-sched.c (last_clock_var): New.
        (schedule_block): Initialize it.
        (schedule_insn): Use it to fill insn modes with issue information.

From-SVN: r22009
1998-08-26 11:47:42 -07:00
Jeffrey A Law
425c08a151 calls.c (expand_call): Use bitfield instructions to extract/deposit word sized hunks when...
* calls.c (expand_call): Use bitfield instructions to extract/deposit
        word sized hunks when loading unaligned args into registers.

From-SVN: r22008
1998-08-26 11:06:03 -06:00
Jim Wilson
cc1f775259 Restore -g not supported warning to default irix5 port.
* iris5.h (PREFERRED_DEBUGGING_TYPE): Undef.
	* iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.

From-SVN: r22007
1998-08-26 10:04:22 -07:00
Jim Wilson
05cea40f0f Make `configure rs6000-ibm-aix4.1' work again.
* configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
	(rs6000-ibm-aix4.[12]*): Likewise.
	* configure: Regnerate.

From-SVN: r22006
1998-08-26 08:57:20 -07:00
Jeffrey A Law
1f1ed00cba haifa-sched.c (sched_analyze_insn): Only create scheduling barriers for LOOP...
* haifa-sched.c (sched_analyze_insn): Only create scheduling
        barriers for LOOP, EH and SETJMP notes on the loop_notes list.

From-SVN: r22005
1998-08-26 09:30:58 -06:00