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