Robert Lipe [Tue, 10 Mar 1998 22:07:48 +0000 (22:07 +0000)]
980310-1.f, [...]: New tests from egcs-bugs archives.
* g77.f-torture/compile/980310-1.f, g77.f-torture/compile/980310-2.f
g77.f-torture/compile/980310-3.f, g77.f-torture/compile/980310-4.f
g77.f-torture/compile/980310-6.f, g77.f-torture/compile/980310-7.f
g77.f-torture/compile/980310-8.f: New tests from egcs-bugs archives.
* g77.f-torture/execute/980310-5.f: New test from egcs-bugs archives.
Mark Mitchell [Tue, 10 Mar 1998 07:32:11 +0000 (07:32 +0000)]
decl2.c (import_export_decl): Mark tinfo functions for cv-qualified versions of class types as...
Tue Mar 10 07:32:36 1998 Mark Mitchell <mmitchell@usa.net>
* decl2.c (import_export_decl): Mark tinfo functions for
cv-qualified versions of class types as DECL_NOT_REALLY_EXTERN.
Jeffrey A Law [Sun, 8 Mar 1998 02:15:26 +0000 (02:15 +0000)]
haifa-sched.c (is_cfg_nonregular): Change return type to an int.
* haifa-sched.c (is_cfg_nonregular): Change return type to
an int. No longer compute "estimated" number of edges. Use
computed_jump_p instead of duplicating the code. Fixup/add
some comments.
(build_control_flow): Returns a value indicating an irregularity
in the cfg was detected. Count the number of edges in the cfg.
allocate various edge tables.
(find_rgns): No longer look for unreachable blocks.
(schedule_insns): Do not allocate memory for edge tables here.
Free memory for edge tables before returning. Do not perform
cross block scheduling if build_control_flow returns nonzero.
* flow.c (compute_preds_succs): More accurately determine when
a block drops in.
Fixes various compile hangs after haifa cleanup.
Kaveh Ghazi [Fri, 6 Mar 1998 07:17:34 +0000 (07:17 +0000)]
Grr, ChangeLog entry for last change.
* method.c: Include "system.h" to get stdlib.h, stdio.h,
ctype.h, string.h, etc.
(issue_nrepeats): Add default case in enumeration switch.
(check_btype): Likewise.
(process_overload_item): Likewise.
* Makefile.in (method.o): Depend on system.h.
Kaveh Ghazi [Fri, 6 Mar 1998 07:11:30 +0000 (07:11 +0000)]
Warning fix:
* method.c: Include "system.h" to get stdlib.h, stdio.h,
ctype.h, string.h, etc.
(issue_nrepeats): Add default case in enumeration switch.
(check_btype): Likewise.
(process_overload_item): Likewise.
* Makefile.in (method.o): Depend on system.h.
Jeffrey A Law [Thu, 5 Mar 1998 22:31:51 +0000 (22:31 +0000)]
haifa-sched.c (build_jmp_edges): Delete dead function.
* haifa-sched.c (build_jmp_edges): Delete dead function.
(build_control_flow): Use cfg routines from flow.c
(schedule_insns): Remove debugging code accidentally checked
in earlier today.
* basic-block.h: Add external integer list structures, typdefs,
accessor macros and function declarations. Simlarly for
basic block pred/succ support and simple bitmap stuff.
* flow.c: Add functions for integer list, basic block pred/succ
support and simple bitmap support.
(compute_dominators): New function to compute dominators and
post dominators.
(find_basic_blocks): Split into two functions.
(life_analysis): Likewise.
(flow_analysis): Removed. Now handled by calling find_basic_blocks,
the life_analysis from toplev.c
* toplev.c (rest_of_compilation): Call find_basic_blocks, then
life_analysis instead of flow_analysis.
Kaveh R. Ghazi [Thu, 5 Mar 1998 07:09:04 +0000 (07:09 +0000)]
Warning fixes:
* mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
* mips/mips.c: Include stdlib.h and unistd.h.
(mips_asm_file_end): Add braces around empty body in an if-statement.
(function_prologue): Wrap variable `fnname' in
!FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf.
(mips_select_rtx_section, mips_select_section): Declare as void.
* mips/mips.h: Add prototypes for extern functions in mips.c.
(FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
(ENCODE_SECTION_INFO): Add braces around empty body in an
if-statement.
* mips/mips.md (movdi): Add parentheses around && within ||.
(movsf, movdf): Likewise.
(branch_zero, branch_zero_di): Add default case in
enumeration switch.
alpha.h (TARGET_WINDOWS_NT, [...]): Just make them real constants, since they can't be changed.
* alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
real constants, since they can't be changed.
(TARGET_AS_CAN_SUBTRACT_LABELS): New.
* alpha/alpha.md (builtin_setjmp_receiver): Use it.
* alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
* alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
* alpha/vms.h (TARGET_OPEN_VMS): New.
* alpha/win-nt.h (TARGET_WINDOWS_NT): New.
haifa-sched.c (free_list): Rename from free_pnd_lst.
* haifa-sched.c (free_list): Rename from free_pnd_lst.
(free_pending_lists): Rename free_pnd_lst uses.
(remove_dependence): Place expunged element on unused_insn_list.
(alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of
gen_rtx_*_LIST and alloc_rtx to use them.
(compute_block_backward_dependences): Free the reg_last_* lists.
config.table: Make locating frag files failsafe even for the special case if...
�
* config.table: Make locating frag files failsafe even for the
special case if configuring and building in srcdir.
* configure.in: Make locating frag files failsafe even for the
special case if configuring and building in srcdir.
config.table: Make locating frag files failsafe even for the special case if...
�
* config.table: Make locating frag files failsafe even for the
special case if configuring and building in srcdir.
* configure.in: Make locating frag files failsafe even for the
special case if configuring and building in srcdir.
config.table: Make locating frag files failsafe even for the special case if...
a
* config.table: Make locating frag files failsafe even for the
special case if configuring and building in srcdir.
* configure.in: Make locating frag files failsafe even for the
special case if configuring and building in srcdir.
config.table: Make locating frag files failsafe even for the special case if...
�
* config.table: Make locating frag files failsafe even for the
special case if configuring and building in srcdir.
* configure.in: Make locating frag files failsafe even for the
special case if configuring and building in srcdir.
config.table: Make locating frag files failsafe even for the special case if...
* config.table: Make locating frag files failsafe even for the
special case if configuring and building in srcdir.
* configure.in: Make locating frag files failsafe even for the
special case if configuring and building in srcdir.
Franz Sirl [Wed, 4 Mar 1998 20:59:50 +0000 (13:59 -0700)]
linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if USE_GNULIBC_1 is defined
* rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
USE_GNULIBC_1 is defined
* configure.in: add a new case powerpc-*-linux-gnulibc1 which
includes the t-linux-gnulibc1 fragment
Michael Tiemann [Wed, 4 Mar 1998 12:13:02 +0000 (12:13 +0000)]
rtti.c (get_tinfo_fn_dynamic): If this function is called an FLAG_RTTI is unset...
* rtti.c (get_tinfo_fn_dynamic): If this function is called an
FLAG_RTTI is unset, initialize type info machinery and continue
with FLAG_RTTI enabled.
(get_typeid): Ditto.
Jason Merrill [Tue, 3 Mar 1998 22:27:04 +0000 (17:27 -0500)]
cvt.c, [...]: Clean up more old overloading code, old RTTI code, and some formatting quirks.
* cvt.c, decl.c, decl2.c, init.c, rtti.c, typeck.c, typeck2.c,
cp-tree.h: Clean up more old overloading code, old RTTI code, and
some formatting quirks.
J"orn Rennecke [Tue, 3 Mar 1998 20:45:49 +0000 (20:45 +0000)]
final.c (max_labelno): New static variable.
* final.c (max_labelno): New static variable.
(final_scan_insn): Check max_labelno before outputting an
alignment for a label.
(shorten_branches): Remove unused variable length_align.
Fix some minor problems with new shortening code.
Kaveh R. Ghazi [Tue, 3 Mar 1998 11:33:31 +0000 (11:33 +0000)]
Warning fixes:
Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* sparc.c (ultrasparc_adjust_cost): Add default case in
enumeration switch.
* sparc.h: Add prototypes for extern functions defined in
sparc.c.
* parse.y (explicit_template_type): Remove TEMPLATE keyword.
(nested_name_specifier): And add it before this use.
(typename_sub0): And this use. Also add use without the keyword.
(typename_sub1): Likewise.
* pt.c (instantiate_class_template): Don't actually instantiate
anything if our type uses template parms.
Jeff Law [Sun, 1 Mar 1998 17:24:18 +0000 (10:24 -0700)]
reorg.c (fill_slots_from_thread): Don't steal delay list from target if condition code of jump conflicts with...
* reorg.c (fill_slots_from_thread): Don't steal delay list from target
if condition code of jump conflicts with opposite_needed.
* reorg.c (fill_slots_from_thread): Mark resources referenced in
opposite_needed thread. Return delay_list even when cannot get
any more delay insns from end of subroutine.
* reorg.c (fill_slots_from_thread): New parameter, delay_list.
All callers changed.
Bruno Haible [Sun, 1 Mar 1998 17:09:39 +0000 (17:09 +0000)]
frame.c (start_fde_sort, [...]): New functions for fast sorting of an FDE array.
* frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
end_fde_sort): New functions for fast sorting of an FDE array.
(fde_insert): Simplified.
(add_fdes): Change argument list.
(frame_init): Use the new functions.
Jason Merrill [Sat, 28 Feb 1998 15:32:02 +0000 (15:32 +0000)]
parse.y (nested_name_specifier): Use explicit_template_type.
* parse.y (nested_name_specifier): Use explicit_template_type.
(typename_sub): Allow a template_type, an explicit_template_type,
or an implicit template type at the end.
* lex.c (yyprint): Handle a PTYPENAME being a TEMPLATE_DECL.
* decl.c (make_typename_type): Handle template-id where the name
is a TEMPLATE_DECL.
* call.c (build_scoped_method_call): Handle member template
destructor call.
* pt.c (tsubst_copy, METHOD_CALL_EXPR): Don't assume a member
destructor is represented by the type.
Jason Merrill [Sat, 28 Feb 1998 12:19:29 +0000 (12:19 +0000)]
cp-tree.h (TYPENAME_TYPE_FULLNAME): New macro.
* cp-tree.h (TYPENAME_TYPE_FULLNAME): New macro.
* parse.y (nested_name_specifier): Add 'template' case.
(explicit_template_type): New rule.
(typename_sub): Use it.
* decl.c (make_typename_type): Handle getting a template-id for NAME.
* pt.c (tsubst): Likewise.
Kaveh R. Ghazi [Sat, 28 Feb 1998 07:06:53 +0000 (07:06 +0000)]
Fix warious warnings:
* c-aux-info.c: Include string.h/strings.h.
* pa.c: Include stdlib.h.
(pa_combine_instructions): Prototype the function.
(pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
(reloc_needed): Add default case for enumeration switch.
(remove_useless_addtr_insns): Remove unused variable `all'.
(hppa_expand_prologue): Add explicit braces to avoid
ambiguous `else'.
(output_function_epilogue): Remove unused variable `i'.
(output_millicode_call): Remove unused variable `link'.
(shadd_constant_p, forward_branch_p): Make the function static.
(following_call): Explicitly declare to return int.
(pa_reorg): Declare as void.
(pa_combine_instructions): Declare as static void. Add
parentheses around && within ||.
* pa.h: Add prototypes for pa_reorg, symbolic_operand,
following_call, function_label_operand, lhs_lshift_cint_operand
and zdepi_cint_p.
* pa.md: Add parentheses around && within ||.
* cppalloc.c: Include stdlib.h.
* cpperror.c (cpp_print_containing_files): Remove unused variable
`i'. Fix format specifier in fprintf.
* cse.c (cse_around_loop): Add explicit braces to avoid
ambiguous `else'.
(delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
* expr.c (expand_expr): Add parentheses around && within ||.
* final.c (app_enable): Replace fprintf with fputs where there are
no format specifiers and no trailing argument after the string.
Eg, when printing ASM_APP_ON/ASM_APP_OFF.
(app_disable): Likewise.
(final_end_function): Likewise.
(final_scan_insn): Likewise. Remove unused variable `set'.
(profile_function): Wrap empty if-statement body in {} brackets.
* function.c: Include stdlib.h.
(pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
(reposition_prologue_and_epilogue_notes): Add parentheses
around assignment used as truth value.
* integrate.c (expand_inline_function): Wrap variable
`cc0_insn' in macro HAVE_cc0.
* jump.c (jump_optimize): Wrap variable `q' in macro
HAVE_cc0. Remove unused variable `prev1'.
* libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
within ||. Fix format specifier in fprintf.
(__bb_init_prg): Add parentheses around assignment used as
truth value.
* local-alloc.c: Include stdlib.h.
(requires_inout): Add parentheses around assignment used
as truth value.
* loop.c (analyze_loop_iterations): Wrap prototype and definition
in macro HAVE_decrement_and_branch_on_count.
(insert_bct, instrument_loop_bct): Likewise.
(move_movables): Add parentheses around assignment used as
truth value.
(consec_sets_invariant_p): Likewise.
(maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
* objc/objc-act.c: Include stdlib.h.
(lookup_method_in_protocol_list): Wrap empty else-statement body
in braces.
(lookup_protocol_in_reflist): Likewise.
(objc_add_static_instance): Remove unused variables `decl_expr'
and `decl_spec'.
(get_objc_string_decl): Remove unused variable `decl'.
(generate_static_references): Remove unused variables `idecl' and
`instance'.
(check_protocols): Wrap empty else-statement body in braces.
* protoize.c: Include stdlib.h.
(substr): Add parentheses around assignment used as truth value.
(abspath): Likewise.
(shortpath): Likewise.
* regmove.c (fixup_match_1): Add parentheses around assignment
used as truth value.
* reload.c (push_secondary_reload): Remove unused variable `i'.
(find_reloads): Add parentheses around assignment used as truth
value.
* reload1.c: Include stdlib.h.
* rtl.h: Correct typo in prototype of offsettable_memref_p.
* stmt.c (add_case_node): Add parentheses around assignment used
as truth value.
(case_tree2list): Likewise.
* tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
`type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
(merge_attributes): Add explicit braces to avoid ambiguous
`else'.
* unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
macro HAVE_cc0.
* varasm.c: Include stdlib.h.
Kaveh R. Ghazi [Sat, 28 Feb 1998 06:11:54 +0000 (06:11 +0000)]
I've backed out of including stat.h via system.h because stat.h can define...
I've backed out of including stat.h via system.h because stat.h can
define static functions (eg on x86 svr4 according to jfc@mit.edu)
causing code bloat.
* system.h: Remove sys/stat.h.
* gcc.c: Add sys/stat.h.
Jason Merrill [Fri, 27 Feb 1998 12:15:17 +0000 (12:15 +0000)]
Support partial specialization of member class templates.
* pt.c (get_class_bindings): Add outer_args parm.
(most_specialized_class): Likewise.
(instantiate_class_template): Pass it.
(more_specialized_class): Likewise.
(lookup_template_class): Get context from template if none
was specified.
(finish_member_template_decl): Don't do anything with a
partial specialization.
* decl2.c (check_member_template): Use IS_AGGR_TYPE instead of
AGGREGATE_TYPE_P.
* class.c (finish_struct): Member class templates have already been
checked for name clashes.
* decl.c (pushdecl_with_scope): Handle pushing at class level.