Commit Graph

24922 Commits

Author SHA1 Message Date
Richard Henderson
1e19333726 * genrecog.c (write_switch): Check for duplicate CODE cases.
From-SVN: r30276
1999-10-30 14:40:05 -07:00
Richard Henderson
cb2ec1510d ggc-common.c: Update pre-function commentary.
* ggc-common.c: Update pre-function commentary.
	* ggc-page.c: Likewise.
	(poison): Remove.
	(poison_pages): Use memset directly.
	(ggc_alloc_obj): Likewise.  Use a different pattern than poison_pages.
	(ggc_collect): Poison before sweeping.
	* ggc-simple.c: Update pre-function commentary.
	(ggc_alloc_obj): Poison non-zeroed memory.

From-SVN: r30275
1999-10-30 14:36:13 -07:00
Mark Mitchell
e225758aee ggc-common.c (ggc_print_statistics): Make arguments to fprintf match format string, even on 64-bit hosts.
* ggc-common.c (ggc_print_statistics): Make arguments to fprintf
	match format string, even on 64-bit hosts.
	* gcc-page.c (ggc_page_print_statistics): Likewise.

From-SVN: r30274
1999-10-30 21:26:13 +00:00
Catherine Moore
e42ea7f934 Revert last patch.
From-SVN: r30273
1999-10-30 15:43:20 -04:00
Jeff Law
10e5de9f6c Daily bump.
From-SVN: r30272
1999-10-30 01:45:07 -06:00
Richard Henderson
dcc6c74164 * jump.c, reg-stack.c, toplev.c: Revert Oct 27 change.
From-SVN: r30271
1999-10-29 23:41:19 -07:00
Jim Wilson
501eb93c44 Fix mn10200-elf libio build failure, and minor performance regression.
* stor-layout.c (layout_type): When compute TYPE_SIZE_UNIT from
	TYPE_SIZE, convert type of result to sizetype.

From-SVN: r30270
1999-10-29 17:18:23 -07:00
Richard Henderson
3071fab505 flow.c (count_or_remove_death_notes): Equate NULL with the universal set.
* flow.c (count_or_remove_death_notes): Equate NULL with the
        universal set.

        * jump.c, reg-stack.c, toplev.c: Revert Oct 27 change.
        * toplev.c (rest_of_compilation): Rebuild CFG immediately before
        dbr_schedule.

        * i386.c (pic_label_no): Delete.
        (ix86_attr_length_default): Don't use single_set to peek
        inside a parallel.

        * recog.c (peephole2_optimize): Allow recog_next_insn to index
        the first insn after bb->end.
        * i386.md (push mem peeps): Scratch is live after evaluation
        of the memory.
        (cmp mem peep): Similarly.

From-SVN: r30269
1999-10-29 14:45:05 -07:00
Alexandre Petit-Bianco
ed598dde43 class.c (add_method_1): Set DECL_INLINE to 1 for private, static and final method.
Fri Oct 29 14:35:18 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* class.c (add_method_1): Set DECL_INLINE to 1 for private, static
 	and final method.

From-SVN: r30268
1999-10-29 14:37:51 -07:00
Alexandre Petit-Bianco
8119c72007 parse.y (expression_statement:): Call function to report improper invocation of a constructor.
Fri Oct 29 14:23:32 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* parse.y (expression_statement:): Call function to report
 	improper invocation of a constructor.
	(parse_ctor_invocation_error): New function.

From-SVN: r30267
1999-10-29 14:32:28 -07:00
Catherine Moore
7281a327ec *** empty log message ***
From-SVN: r30266
1999-10-29 14:53:46 -04:00
Catherine Moore
fbb57b2a94 Fix up last patch.
From-SVN: r30265
1999-10-29 14:49:29 -04:00
Kaveh R. Ghazi
e03c5670a9 alpha-protos.h (literal_section): Add prototype.
* alpha/alpha-protos.h (literal_section): Add prototype.
        (alpha_need_linkage, alpha_start_function,alpha_end_function):
        Constify a char*.

        * alpha/alpha.c (alpha_ra_ever_killed, set_frame_related_p): Add
        prototype.
        (alpha_start_function, alpha_end_function, float_strings,
        alpha_need_linkage): Constify a char*

        * alpha/alpha.h (ASM_OUTPUT_ASCII, ASM_OUTPUT_MI_THUNK): Likewise.

        * alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.

        * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.

        * alpha/vms.h (ASM_OUTPUT_SECTION_NAME): Likewise.

From-SVN: r30264
1999-10-29 17:56:19 +00:00
Kaveh R. Ghazi
a8f227e703 flow.c (debug_flow_info): Add prototype.
* flow.c (debug_flow_info): Add prototype.

        * gcc.c (main): Likewise.

        * gcse.c (expr_reaches_here_p_work, pre_expr_reaches_here_p_work):
        Likewise.

        * reload1.c (failed_reload, set_reload_reg): Likewise.

        * mips-tfile.c (main): Likewise.
        (pfatal_with_name, fancy_abort, botch, fatal, catch_signal): Mark
        with ATTRIBUTE_NORETURN.

From-SVN: r30262
1999-10-29 17:51:38 +00:00
Andrew Haley
90e0ee005b i386.h (ENCODE_SECTION_INFO): Don't do anything if DECL is not a memory ref.
Fri Oct 29 18:16:03 1999  Andrew Haley  <aph@cygnus.com>

       * config/i386/i386.h (ENCODE_SECTION_INFO): Don't do anything if
       DECL is not a memory ref.

From-SVN: r30261
1999-10-29 17:34:54 +00:00
Catherine Moore
7ed6230077 Remove stray comment.
From-SVN: r30260
1999-10-29 13:11:16 -04:00
Catherine Moore
4fba106154 i386.h (ix86_cpu): Remove extern attribute.
* config/i386/i386.h (ix86_cpu): Remove extern attribute.
        * config/i386/i386.c (ix86_cpu): Add extern attribute.

From-SVN: r30259
1999-10-29 12:13:23 -04:00
Andrew Haley
273eca161d elf.h: remove NAME__MAIN and SYMBOL__MAIN.
Fri Oct 29 16:30:04 1999  Andrew Haley  <aph@cygnus.com>

        * config/mips/elf.h: remove NAME__MAIN and SYMBOL__MAIN.
        * config/mips/elf64.h: ditto.

From-SVN: r30258
1999-10-29 15:36:21 +00:00
Catherine Moore
4fc026cde9 expr.c (emit_push_insn): New argument alignment_pad.
* expr.c (emit_push_insn): New argument alignment_pad.
        Update all callers.  Adjust stack pointer based on alignment pad.
        * function.c (pad_to_arg_alignment):  New argument alignment_pad.
        Update all callers.  Track alignment_pad if boundary > PARM_BOUNDARY.
        (locate_and_pad_parm): New argument alignment_pad.  Update all
        callers.
        * expr.h (emit_push_insn): Update prototype.
        (locate_and_pad_parm): Update prototype.
        * calls.c (arg_data):  Add new field alignment_pad.
        (initialize_argument_information): Initialize alignment_pad.

From-SVN: r30257
1999-10-29 11:23:41 -04:00
Mark Mitchell
5faf03ae77 except.c (free_eh_nesting_info): Free the info itself.
* except.c (free_eh_nesting_info): Free the info itself.
	* function.c (free_after_compilation): Don't free NULL.
	* gcse.c (alloc_pre_mem): Free the temp_bitmap, too.
	(pre_edge_insert): Free inserted.
	* stmt.c (free_stmt_status): Don't free NULL.

From-SVN: r30255
1999-10-29 09:49:23 +00:00
Mark Mitchell
3baa501d81 cp-tree.h (make_typename_type): Change prototype.
* cp-tree.h (make_typename_type): Change prototype.
	* decl.c (make_typename_type): Only complain if so requested.
	* parse.y (nested_name_specifier): Adjust calls.
	(typename_sub0): Likewise.
	(typename_sub1): Likewise.
	* parse.c: Regenerated.
	* pt.c (convert_template_argument): Pass complain to
	make_typename_type.
	(tsubst): Likewise.

From-SVN: r30254
1999-10-29 09:35:38 +00:00
Jeff Law
aeaa597325 Daily bump.
From-SVN: r30253
1999-10-29 01:45:06 -06:00
Zack Weinberg
a9ae448346 cpplib.h (struct cpp_buffer: fname, [...]): Mark const.
1999-10-28 21:27 -0700  Zack Weinberg  <zack@bitmover.com>

	* cpplib.h (struct cpp_buffer: fname, nominal_fname,
	last_nominal_fname): Mark const.
	(struct include_hash: name, nshort, control_macro): Mark
	const.
	(struct macrodef: symnam): Mark const.
	(struct if_stack: fname): Mark const.
	(is_idchar, is_idstart, is_hor_space, trigraph_table): Delete.
	(IStable): New character-syntax array which encompasses all
	the old is_foo arrays.
	(is_idchar, is_numchar, is_idstart, is_numstart, is_hspace,
	is_space): New macros for interrogating IStable.
	(check_macro_name): Kill last argument.  All callers changed.

	* cppinit.c (initialize_char_syntax): Delete.
	(is_idchar, is_idstart, is_hor_space, is_space,
	trigraph_table): Delete.
	(IStable): New.  Initialize with clever macros to avoid
	information duplication.
	(builtin_array): Table of builtins to get rid of explicit list
	in initialize_builtins.
	(initialize_builtins): Use builtins_array.
	(cpp_start_read): Call init_IStable, and set IStable['$'] if
	opts->dollars_in_ident.

	* cppexp.c: Change all refs to is_xyz[] arrays to use new
	is_xyz() macros.
	(cpp_parse_expr): Avoid 'format string is not constant'
	warning. Use ISGRAPH to identify printable chars.
	* cppfiles.c: Change all refs to is_xyz[] arrays to use new
	is_xyz() macros.
	(read_and_prescan): Map trigraphs to chars with open-coded
	if-else-if-... sequence, not a lookup table.
	* cpphash.c: Change all refs to is_xyz[] arrays to use new
	is_xyz() macros.
	* cpplib.c: Change all refs to is_xyz[] arrays to use new
	is_xyz() macros.  Kill SKIP_ALL_WHITE_SPACE (unused).
	(check_macro_name): Remove ability to report an invalid
	assertion name, which is never used.
	(do_line): Constify a couple of char *'s.
	* cppmain.c (main): Call cpp_cleanup before returning.

From-SVN: r30252
1999-10-29 04:31:14 +00:00
Mark Mitchell
3277221c45 ggc.h (struct ggc_statistics): New type.
* ggc.h (struct ggc_statistics): New type.
	(ggc_get_size): New function.
	(ggc_print_statistics): Likewise.
	* ggc-common.c (ggc_stats): New variable.
	(ggc_mark_rtx_children): Keep statistics.
	(ggc_mark_tree_children): Likewise.
	(ggc_print_statistics): New function.
	* ggc-page.c (struct globals): Add bytes_mapped field.
	(alloc_anon): Update it.
	(release_pages): Likewise.
	(ggc_get_size): New function.
	(ggc_page_print_statistics): New function.
	* ggc-simple.c (ggc_get_size): New function.

From-SVN: r30251
1999-10-29 04:17:33 +00:00
Mark Mitchell
13e8cf822f semantics.c (finish_handler): End the scope of the handler before attaching it to the statement-tree.
* semantics.c (finish_handler): End the scope of the handler
	before attaching it to the statement-tree.

From-SVN: r30250
1999-10-29 02:34:31 +00:00
Ian Lance Taylor
0faff58049 improve ChangeLog message
From-SVN: r30249
1999-10-28 23:59:08 +00:00
Ian Lance Taylor
0f4d5c1c4d rtti.c (build_dynamic_cast_1): Give a better error message for an attempt to dynamic_cast a polymorphic type.
* rtti.c (build_dynamic_cast_1): Give a better error message for
	an attempt to dynamic_cast a polymorphic type.

From-SVN: r30248
1999-10-28 23:55:28 +00:00
Geoff Keating
a609297536 flow.c (propagate_block): When the last reference to a label before an ADDR_VEC is deleted because the...
* flow.c (propagate_block): When the last reference to a label
before an ADDR_VEC is deleted because the reference is a dead
store, delete the ADDR_VEC.

From-SVN: r30247
1999-10-28 20:37:37 +00:00
Richard Henderson
af05822029 resource.c (find_free_register): Don't use the frame pointer if frame_pointer_needed.
* resource.c (find_free_register): Don't use the frame pointer
        if frame_pointer_needed.

From-SVN: r30246
1999-10-28 12:30:02 -07:00
Jim Wilson
c9fc373cf0 Fix stdarg bugs with MIPS EABI that caused newlib/libstdc++ build failures.
* config/mips/mips.c (mips_va_arg): Delete gen_jump as emit_jump arg.
	(function_arg_pass_by_reference): Check for a NULL pointer in cum.

From-SVN: r30245
1999-10-28 11:29:10 -07:00
Jim Wilson
7ab282a5a0 Fix i960 varargs/stdarg build failures.
* config/i960/i960.c (i960_va_start): New locals base, num.
	Use INDIRECT_REF instead of ARRAY_REF on valist.
	(i960_va_arg): Use INDIRECT_REF instead of ARRAY_REF on valist.

From-SVN: r30244
1999-10-28 10:14:59 -07:00
Mark Mitchell
9ed5879d10 gcse.c (delete_null_pointer_checks): Fix typo in this change: Thu Oct 28 02:15:22 1999 Jeffrey A Law (law@cygnus.com).
* gcse.c (delete_null_pointer_checks): Fix typo in this change:
	Thu Oct 28 02:15:22 1999  Jeffrey A Law  (law@cygnus.com).

From-SVN: r30243
1999-10-28 16:42:14 +00:00
Peter Gerwinski
2a7b629279 * tree.def (PLACEHOLDER_EXPR): Update comments.
From-SVN: r30241
1999-10-28 05:39:31 -06:00
Kaveh R. Ghazi
3014521537 c-common.c (check_format_info): Avoid non-literal format string warnings when `first_arg_num' is zero.
* c-common.c (check_format_info): Avoid non-literal format string
       warnings when `first_arg_num' is zero.

From-SVN: r30240
1999-10-28 10:53:12 +00:00
Bernd Schmidt
4404ce281d Remove prev/next/up pointers in node definitions
From-SVN: r30239
1999-10-28 10:36:01 +00:00
Richard Earnshaw
e4597bdf0b * arm.md (*casesi_insn): Add a clobber of the condition-code register.
From-SVN: r30238
1999-10-28 10:29:38 +00:00
Fred Fish
1d96e5b4b8 Document that CC1_SPEC is used by cc1plus
From-SVN: r30236
1999-10-28 09:34:40 +00:00
Nick Clifton
723ae7c17d Allow netbsd target to also set structure size boundary
From-SVN: r30234
1999-10-28 09:28:04 +00:00
David Starner
566047c21e c-pragma.c (push_alignment): Don't check the return value of xmalloc.
* c-pragma.c (push_alignment): Don't check the return value
        of xmalloc.

From-SVN: r30233
1999-10-28 03:13:40 -06:00
Matteo Frigo
0b24a660f3 * sparc.h (ADJUST_COST): Fix thinko.
From-SVN: r30232
1999-10-28 03:10:29 -06:00
Jeffrey A Law
5ae520d023 gcse.c (delete_null_pointer_checks): Only record non-null info for pseudos when examining stores.
* gcse.c (delete_null_pointer_checks): Only record non-null info
        for pseudos when examining stores.

From-SVN: r30231
1999-10-28 03:08:43 -06:00
Glen Nakamura
4ed506a4f6 cccp.c (rescan): Fixed obp pointer handling around call to check_expand subroutine.
* cccp.c (rescan): Fixed obp pointer handling around call to
        check_expand subroutine.

From-SVN: r30230
1999-10-28 02:45:37 -06:00
Nathan Sidwell
2c37514337 Makefile.in (SUBDIRS): New macro.
* Makefile.in (SUBDIRS): New macro.
	(mostlyclean, clean, distclean, maintainer-clean): Adjust to
	avoid multiple subdirectory cleaning.
	(*-subdir): Use SUBDIRS.

From-SVN: r30229
1999-10-28 08:26:42 +00:00
Jeffrey A Law
3a8de233f7 arm.md (adddi3, [...]): Add splitters for these patterns.
* arm.md (adddi3, adddi_sesidi_di, adddi_sesidi_di): Add
        splitters for these patterns.  Use "#" for output templates.
        (addsi3_carryin_shift): New pattern.

From-SVN: r30227
1999-10-28 02:22:34 -06:00
Jeff Law
dfc42584a8 Daily bump.
From-SVN: r30226
1999-10-28 01:45:08 -06:00
Mark Mitchell
f31c0a32f5 cp-tree.h (make_temp_vec): Remove.
* cp-tree.h (make_temp_vec): Remove.
	(make_scratch_vec): Likewise.
	* call.c (add_function_candidate): Use make_tree_vec.
	(add_conv_candidate): Likewise.
	(build_builtin_candidate): Likewise.
	(add_template_candidate_real): Likewise.
	* class.c (resolve_address_of_overloaded_function): Likewise.
	* decl.c (start_function): Don't fool with the momentary obstack.
	(finish_function): Likewise.
	* init.c (expand_direct_vtbls_init): Likewise.
	(begin_init_stmts): Likewise.
	(finish_init_stmts): Likewise.
	* pt.c (add_to_template_args): Use make_tree_vec.
	(check_explicit_specialization): Likewise.
	(coerce_template_parms): Likewise.
	(lookup_template_class): Don't fool with the momentary obstack.
	(instantiate_class_template): Likewise.
	(tsubst_template_arg_vector): Use make_tree_vec.
	(tsubst_aggr_type): Don't fool with the momentary obstack.
	(tsubst_decl): Likewise.  Use make_tree_vec.
	(try_one_overload): Likewise.
	(try_class_unification):  Don't fool with the momentary obstack.
	(get_bindings_real): Use make_tree_vec.
	(set_mangled_name_for_template_decl): Likewise.
	* rtti.c (synthesize_tinfo_fn): Don't fool with the momentary obstack.
	* semantics.c (finish_expr_stmt): Likewise.
	(finish_do_stmt): Likewise.
	(finish_for_expr): Likewise.
	(finish_switch_cond): Likewise.
	(do_pushlevel): Likewise.
	(do_poplevel): Likewise.
	* tree.c (make_temp_vec): Remove.

From-SVN: r30225
1999-10-28 05:10:05 +00:00
Geoff Keating
62961522f7 rs6000.md (movsf): Don't convert a SUBREG of the function return register into a plain REG until...
* config/rs6000/rs6000.md (movsf): Don't convert a SUBREG
of the function return register into a plain REG until
after function inlining is done.

From-SVN: r30224
1999-10-28 00:24:32 +00:00
Richard Henderson
e218fc41a8 jump.c (jump_optimize_1): If we did cross-jumping, and the data will matter, rebuild the CFG.
* jump.c (jump_optimize_1): If we did cross-jumping, and
        the data will matter, rebuild the CFG.
        * reg-stack.c (reg_to_stack): Only (re)build the CFG if
        not optimizing.  Don't run shorten_branches.
        * toplev.c (rest_of_compilation): Run shorten_branches after
        reg_to_stack.

From-SVN: r30223
1999-10-27 15:22:34 -07:00
Jason Eckhardt
163537f7f1 Add myself to list with write after approval access.
From-SVN: r30222
1999-10-27 21:29:24 +00:00
Mark Mitchell
848323170b rtl.h (note_stores): Add additional paramter.
* rtl.h (note_stores): Add additional paramter.
	* rtlanal.c (reg_set_p_1): Take additional paramter.
	(reg_set_last_1): Likewise.
	(reg_set_p): Adjust call to note_stores.
	(reg_set_last): Likewise.
	(note_stores): Pass data parameter to worker function.
	* alias.c (record_set): Take additional parameter.
	(init_alias_analysis): Pass it.
	* caller-save.c (mark_set_regs): Take additional parameter.
	(save_call_clobbered_regs): Pass NULL to note_stores.
	* combine.c (set_nonzero_bits_and_sign_copies): Take additional
	parameter.
	(record_dead_and_set_regs_1): Likewise.
	(reg_dead_at_p_1): Likewise.
	(combine_instructions): Adjust calls to note_stores.
	(try_combine): Likewise.
	(record_dead_insn): Remove.
	(record_dead_and_set_regs): Adjust calls to note_stores.
	(reg_dead_at_p): Likewise.
	* cse.c (invalidate_skipped_set): Take additional parameter.
	(cse_check_loop_start): Likewise.
	(cse_check_loop_start_value): Remove.
	(cse_set_around_loop): Adjust calls to note_stores.
	* flow.c (notice_stack_pointer_modification): Take additional
	parameter.  Remove duplicate declaration.
	(record_volatile_insns): Adjust calls to note_stores.
	* gcse.c (record_set_info): Take additional parameter.
	(record_last_set_info): Likewise.
	(invalidate_nonnull_info): Likewise.
	(record_set_insn): Remove.
	(compute_sets): Adjust calls to note_stores.
	(last_set_insn): Remove.
	(compute_hash_table): Adjust calls to note_stores.
	(insert_insn_end_bb): Likewise.
	(delete_null_pointer_checks): Likewise.
	* global.c (mark_reg_store): Take additional parameter.
	(mark_reg_clobber): Likewise.
	(reg_becomes_live): Likewise.
	(global_conflicts): Adjust calls to note_stores.
	(build_insn_chain): Likewise.
	* integrate.c (note_modified_parmregs): Take additional parameter.
	(mark_stores): Likewise.  Make it static.
	(save_for_inline_nocopy): Adjust calls to note_stores.
	(try_constants): Likewise.
	* integrate.h (mark_stores): Remove declaration.
	* jump.c (mark_modified_reg): Take additional parameter.
	(thread_jumps): Adjust calls to note_stores.
	* local-alloc.c (validate_equiv_mem_from_store): Take additional
	parameter.
	(no_equiv): Likewise.
	(reg_is_set): Likewise.
	(validate_equiv_mem): Adjust calls to note_stores.
	(update_equiv_regs): Likewise.
	(block_alloc): Likewise.
	* loop.c (note_set_pseudo_multiple_uses_retval): Remove.
	(note_addr_stored): Take additional parameter.
	(note_set_pseudo_multiple_uses): Likewise.
	(record_initial): Likewise.
	(prescan_loop): Adjust calls to note_stores.
	(strength_reduce): Likewise.
	(check_dbra_loop): Likewise.
	* regmove.c (flags_set_1): Take additional paramter.
	(mark_flags_life_zones): Adjust calls to note_stores.
	* reload1.c (mark_not_eliminable): Take additional parameter.
	(forget_old_reloads_1): Likewise.
	(reload_cse_invalidate_rtx): Likewise.
	(reload_cse_check_clobber): Likewise.
	(reload_combine_note_store): Likewise.
	(move2add_note_store): Likewise.
	(reload): Adjust calls to note_stores.
	(reload_as_needed): Likewise.
	(emit_reload_insns): Likewise.
	(reload_cse_regs_1): Likewise.
	(reload_cse_record_set): Adjust calls to reload_cse_invalidate_rtx.
	(reload_combine): Adjust calls to note_stores.
	* resource.c (update_live_status): Take additional paramter.
	(mark_target_live_regs): Adjust calls to note_stores.
	* stupid.c (find_clobbered_regs): Take additional parameter.
	(stupid_life_analysis): Adjust calls to note_stores.

From-SVN: r30221
1999-10-27 19:27:41 +00:00