Commit Graph

17122 Commits

Author SHA1 Message Date
Brendan Kehoe 0875c2f39b typeck.c (build_component_ref): Make sure FIELD has a lang_specific piece before checking DECL_MUTABLE_P.
* typeck.c (build_component_ref): Make sure FIELD has a lang_specific
	piece before checking DECL_MUTABLE_P.

From-SVN: r20406
1998-06-10 06:01:13 -04:00
Robert Lipe 279813c62d eb129, eb130. New tests from Klaus-Georg Adams.
From-SVN: r20405
1998-06-10 09:52:40 +00:00
Richard Earnshaw 951930309f unroll.c (verify_addresses): Use validate_replace_rtx to undo the changes.
* unroll.c (verify_addresses): Use validate_replace_rtx to undo the
changes.  Abort if the undo fails.

From-SVN: r20404
1998-06-10 09:49:30 +00:00
Jeffrey A Law bfed8dac97 mips.c (gpr_mode): New variable.
* mips.c (gpr_mode): New variable.
        (override_options): Initialize gpr_mode.
        (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
        determine size and offset of general purpose registers save slots.
        (save_restore_insns, mips_expand_prologue): Similarly.

From-SVN: r20403
1998-06-10 03:15:39 -06:00
John Carr 0254c56158 reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG for each alternative.
Wed Jun 10 08:56:27 1998  John Carr  <jfc@mit.edu>
	* reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
	for each alternative.  Do not replace a CONST_INT with a REG unless
	the reg is cheaper.

From-SVN: r20402
1998-06-10 06:00:50 +00:00
John Carr 71e89f27cd tree.c (debug_binfo): Make printf format match arguments.
1998-06-10  John Carr  <jfc@mit.edu>
	* tree.c (debug_binfo): Make printf format match arguments.
	* error.c (OB_PUTI): Make printf format match arguments.

From-SVN: r20401
1998-06-10 05:54:23 +00:00
Jason Merrill 04be6a2297 update
From-SVN: r20400
1998-06-09 23:14:02 -04:00
Jason Merrill 0202018521 init.c (resolve_offset_ref): Handle default-initialization.
* init.c (resolve_offset_ref): Handle default-initialization.
	* except.c (build_throw): Handle throwing NULL.
	* typeck.c (build_x_function_call): Use resolve_offset_ref.
	* search.c (compute_access): Only strip an anonymous union
	for a FIELD_DECL.
	* call.c (add_builtin_candidates): Tweak.
	* cvt.c (build_expr_type_conversion): Restore code for conversion
	from class types.
	* decl2.c (delete_sanity): Use it.  Clean up.
	* typeck.c (comp_ptr_ttypes_real): Fix cv-qual comparisons.
        * typeck.c (c_expand_return): Don't warn about void expressions on
        return statements in functions returning void.

From-SVN: r20399
1998-06-09 23:13:19 -04:00
Jeffrey A Law 0365438d33 reload.c (find_reloads_toplev): Use gen_lowpart common to convert between constant representations when...
* reload.c (find_reloads_toplev): Use gen_lowpart common to convert
        between constant representations when we have (SUBREG (REG)) with
        REG equivalent to a constant.

From-SVN: r20398
1998-06-09 19:14:54 -06:00
Jeff Law 93ec7bc577 Daily bump.
From-SVN: r20397
1998-06-09 18:45:02 -06:00
Juha Sarlin e6bcfef93a * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
From-SVN: r20396
1998-06-09 18:41:51 -06:00
John Wehle 9d932d439e i386.c (notice_update_cc): Clear cc_status.value2 in the case of UNSPEC 5 (bsf).
* i386.c (notice_update_cc): Clear cc_status.value2 in the
	case of UNSPEC 5 (bsf).

From-SVN: r20395
1998-06-09 18:39:23 -06:00
Jason Merrill fa31b1a55d new
From-SVN: r20394
1998-06-09 19:45:30 -04:00
Mark Mitchell 9f54c8036b pt.c (fn_type_unification): Revise documentation.
* pt.c (fn_type_unification): Revise documentation.  Tidy.
	(type_unification): Likewise.

From-SVN: r20393
1998-06-09 23:39:34 +00:00
Richard Henderson ac1fdb22b8 fold-const.c (fold): Even with otherwise constant trees...
* fold-const.c (fold): Even with otherwise constant trees, look for
        opportunities to combine integer constants.

From-SVN: r20392
1998-06-09 15:05:49 -07:00
John Wehle 1c5d60f501 i386.md (movsfcc, [...]): The floating point conditional move instructions don't support signed integer...
* i386.md (movsfcc, movdfcc, movxfcc): The floating point
        conditional move instructions don't support signed integer
        comparisons.

From-SVN: r20391
1998-06-09 15:42:21 -06:00
Nick Clifton f1be41adfe Fix interrupt return epilogue.
From-SVN: r20385
1998-06-09 14:33:45 +00:00
Andrew MacLeod 0d3453dfb6 Minor tweaks.
* except.c (expand_start_catch): Rename to start_catch_handler.
	(expand_end_catch): Delete function.
	(expand_end_all_catch): Remove catch status that expand_end_catch
	use to do.
	* except.h (expand_start_catch): Rename prototype.
	(expand_end_catch): Delete prototype.
	* semantics.c (finish_try_block): Rename expand_start_catch, and delete
	expand_end_catch.
	* parse.y (function_try_block): Rename expand_start_catch, and delete
	expand_end_catch.
	* except.c (expand_end_eh_spec): Rename expand_start_catch, and delete
	expand_end_catch.

From-SVN: r20379
1998-06-09 13:28:26 +00:00
Mark Mitchell 3398f47f04 * invoke.texi: Add documentation for -mips4 and -mabi=*.
From-SVN: r20377
1998-06-09 12:57:16 +00:00
Klaus Kaempf 6805ef53ca vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
* alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
        (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
        (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.

From-SVN: r20376
1998-06-09 05:12:13 -07:00
Jason Merrill d23a1bb127 search.c (lookup_member): New fn.
* search.c (lookup_member): New fn.
	* class.c (finish_struct_1): Use it.
	* decl.c (lookup_name_real): Use it.

From-SVN: r20375
1998-06-09 08:10:57 -04:00
John Carr 9ae4ec4602 haifa-sched.c (update_flow_info): Use UNITS_PER_WORD...
* haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
        as the threshold to permit splitting memory operations.

From-SVN: r20374
1998-06-09 05:10:02 -07:00
Jeffrey A Law 624a8b3a15 Makefile.in (LIB2FUNCS_EH): Define.
* Makefile.in (LIB2FUNCS_EH): Define.  Just "_eh" for now.
        (LIBGCC2_CFLAGS): Remove -fexceptions.
        (LIB2FUNCS): Remove "_eh".
        (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
        it with -fexceptions.
        * Makefile.in (local-alloc.o): Depend on insn-attr.h.
        * local-alloc.c (block_alloc): Avoid creating false
        dependencies for targets which use instruction scheduling.

From-SVN: r20370
1998-06-09 04:34:59 -06:00
Richard Henderson 674576f136 elf.h (ASM_DECLARE_OBJECT_NAME): Define.
* mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
        (ASM_FINISH_DECLARE_OBJECT): Define;
        * mips/elf64.h: Likewise.

From-SVN: r20369
1998-06-08 19:41:29 -07:00
Richard Henderson 5dd5722504 * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
From-SVN: r20368
1998-06-08 18:08:44 -07:00
Jeff Law 73f154cf9a Daily bump.
From-SVN: r20367
1998-06-08 18:45:02 -06:00
Jeffrey A Law 602ad2366a Bump for snapshot
From-SVN: r20365
1998-06-08 17:24:53 -06:00
Jeffrey A Law b8211569c6 Bump for snapshot
From-SVN: r20364
1998-06-08 17:02:24 -06:00
Jeffrey A Law ac4bac777d Bump for snapshot
From-SVN: r20363
1998-06-08 16:45:12 -06:00
David Edelsohn a2f270ccdb rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
* rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
        (mulsidi3_ppc64): Delete.

From-SVN: r20357
1998-06-08 16:28:20 -04:00
Kaveh R. Ghazi 50b2596f67 Warning fixes:
* Makefile.in (varasm.o): Depend on dbxout.h.
	(cse.o): Depend on toplev.h and output.h.
	(gcse.o): Depend on output.h.
	* mips.c: Include system.h and toplev.h and remove redundant code.
	Include output.h after tree.h so all its prototypes get activated.
	* mips.md (table_jump): Remove unused variable `dest'.
	* sparc.h: Add prototype for `v8plus_regcmp_op'.
	* crtstuff.c (fini_dummy, init_dummy): Mark function definitions
	with __attribute__ ((__unused__)).
	(__frame_dummy): Provide prototype before use, wrap it with
	EH_FRAME_SECTION_ASM_OP.
	* cse.c: Move inclusion of <setjmp.h> above local headers.
  	Include toplev.h and output.h.
	* dbxout.h: Add prototype for `dbxout_begin_function'.
	* final.c (final_scan_insn): Wrap variable `max_skip' in macro
	ASM_OUTPUT_MAX_SKIP_ALIGN.
	* gcse.c: Include system.h and output.h.
	(dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
	Make extern instead of static.
	(compute_can_copy): Only declare variables `reg' and `insn' when
 	AVOID_CCMODE_COPIES is not defined.
	(record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
	(hash_scan_clobber): Likewise for `x' and `insn'.
	(hash_scan_call): Likewise.
	(record_last_set_info): Likewise for `setter'.
	(mark_call): Likewise for `pat'.
	(pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
	* libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
 	length parameter so that it multiplies the number of elements by
 	the sizeof(element).
	* output.h: Add prototype for `weak_finish'.
	* recog.h: Likewise for `validate_replace_src'.
	* rtl.h: Likewise for `optimize_save_area_alloca',
 	`fix_sched_param', `purge_addressof', `gcse_main',
 	`regmove_optimize', `dbr_schedule', `branch_prob' and
 	`end_branch_prob'.
	* toplev.h: Likewise for `set_float_handler' and
 	`output_quoted_string'.
	* varasm.c: Include dbxout.h.

From-SVN: r20351
1998-06-08 18:30:27 +00:00
Jim Wilson 33d7a5215d Fix mips64vr4100-elf build failure.
* mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
	GP_REG_P.  Use gr_regs instead of GR_REGS.

From-SVN: r20350
1998-06-08 11:13:34 -07:00
Kaveh R. Ghazi bcb8072947 Warning fixes:
* Makefile.in (decl2.o): Depend on dwarf2out.h and dwarfout.h.
        * cp-tree.h: Add prototype for `maybe_print_template_context' and
        `maybe_make_one_only'.
        * decl.c (auto_function): Remove unused variable `decl'.
        * decl2.c: Include dwarf2out.h and dwarfout.h.
        * lex.c: Remove redundant declarations of `set_float_handler' and
        `asm_out_file'.

From-SVN: r20349
1998-06-08 17:52:39 +00:00
Ken Raeburn cb92366029 * Revamped multiply support for MIPS chips.
* mips.c (extend_operator): New function.
        (highpart_shift_operator): Likewise.
        * mips.h: Declare new functions.
        (PREDICATE_CODES): Add support for new predicates.
        * mips.md (mulsi3 expander): Simplify.
        (mulsi_mult3): Add another constraint alternative.  Support
        3 operand multiply instructions as found on various mips
        parts.
        (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
        (mul_acc_si): New pattern and associated splitters.
        (mulsidi3 expander): Rework to use mulsidi3_64bit and
        mulsidi3_internal.
        (umulsidi3): New expander.
        (mulsidi3_internal): Accept either sign or zero extended
        operands and generate code as appropriate appropriately.
        (mulsidi3_64bit): Similarly.
        (smulsi3_highpart): Turn into an expander and generate code
        to match new patterns.
        (umulsi3_highpart): Likewise.
        (xmulsi3_highpart_internal): New pattern.
        (maddi patterns): Delete.  Replace with:
        (mul_acc_di, mul-acc_64bit_di): New patterns.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>

From-SVN: r20337
1998-06-08 09:56:47 -06:00
Andrew MacLeod a1622f838f [multiple changes]
Thu Jun  8 14:16:15 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
	* eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
	flag_new_exceptions runtime flag.
	(struct old_exception_table): New struct which represents what
	the exception table looks like without the new model.
	(NEW_EH_RUNTIME): New value used as a tag in the exception table to
	flag that this is a new style table.
	* except.h: Remove compile time flag NEW_EH_MODEL.
	(expand_builtin_eh_stub_old): New prototype.
	* tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
	* expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
	* c-decl.c (init_decl_processing): Add new builtin function
	__builtin_eh_stub_old.
	* final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
	* flags.h (flag_new_exceptions): New runtime flag.
	* toplev.c (flag_new_exceptions): Initialize default to 0,
	-fnew-exceptions sets to 1.
	* except.c (output_exception_table_entry): Output New style exception
	identifier into table, and replace compile time flag NEW_EH_MODEL
	with runtime flag flag_new_exceptions.
	(output_exception_table): Replace compile time flag NEW_EH_MODEL.
	(expand_builtin_eh_stub_old): Duplicates original functionality of
	expand_builtin_eh_stub.
	(expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
	* libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
	(old_find_exception_handler): New func, same as find_exception_handler
	except it works on the old style exception table.
	(__throw): Replace NEW_EH_MODEL. Detect new model based on presence
	of identifier in the exception table, and call appropriate routines.
1998-06-08  Andrew MacLeod  <amacleod@cygnus.com>
	* except.c (init_exception_processing): Remove NEW_EH_MODEL compile
	time flag.  Call __cp_eh_info instead of __cp_exception_info.
	* exception.cc (struct cp_eh_info): Remove NEW_EH_MODEL flag.
	(__cp_exception_info): Return offset into cp_eh_info structure to
	match what use to be the start of this structure.
	(__cp_eh_info): New function to return a pointer to cp_eh_info struct.
	(__cplus_type_matcher, __cp_push_exception): Remove NEW_EH_MODEL
	compile time flag.
	(__uncatch_exception, __check_eh_spec, std::uncaught_exception): Call
	__cp_eh_info instead of __cp_exception_info.

From-SVN: r20336
1998-06-08 12:43:28 +00:00
Jason Merrill aeb302bbec function.c: Define current_function_cannot_inline.
* function.c: Define current_function_cannot_inline.
	(push_function_context_to): Save it.
	(pop_function_context_from): Restore it.
	* function.h (struct function): Provide it a home.
	* output.h: Declare it.
	* integrate.c (function_cannot_inline_p): Check it.
	* decl.c (cp_finish_decl): Disable inlining of extern inlines
	with static variables.

From-SVN: r20332
1998-06-08 06:52:37 -04:00
Richard Henderson 8b015896c2 expr.c (force_operand): Detect PIC address loads before splitting arithmetic.
* expr.c (force_operand): Detect PIC address loads before
splitting arithmetic.

From-SVN: r20331
1998-06-08 03:44:01 -07:00
Andreas Schwab 8bc3afab6f Update.
From-SVN: r20330
1998-06-08 09:50:50 +00:00
Andreas Schwab 35038063e9 (__underflow): Read character from read pointer as unsigned.
(__uflow): Likewise.

From-SVN: r20329
1998-06-08 09:50:20 +00:00
Jeffrey A Law 9a14a3ab78 Bump for snapshot
From-SVN: r20328
1998-06-08 03:23:12 -06:00
Jeffrey A Law 2b4065a44a Bump for snapshot
From-SVN: r20327
1998-06-08 03:17:13 -06:00
Jeffrey A Law 209c98665a Bump for snapshot
From-SVN: r20326
1998-06-07 20:09:50 -06:00
Graham Stott 79990a3950 tree.c (tree_class_check): Add braces to eliminate ambigious else warning.
* tree.c (tree_class_check): Add braces to eliminate ambigious
        else warning.
        (tree_check): Likewise.

From-SVN: r20325
1998-06-07 19:59:23 -06:00
H.J. Lu 49fa02d9d6 reg-stack.c (subst_stack_regs_pat): Make sure the top of stack is the destination for conditional move insn.
* reg-stack.c (subst_stack_regs_pat): Make sure the top of
        stack is the destination for conditional move insn.

From-SVN: r20324
1998-06-07 19:53:56 -06:00
Jason Merrill 52267fcbd1 tree.h (TREE_VEC_END): Cast unused value to void.
* tree.h (TREE_VEC_END): Cast unused value to void.
	* i386.c (print_operand): Use %lx for long operand.

From-SVN: r20323
1998-06-07 21:21:38 -04:00
Jeffrey A Law 5ccdc8af54 980523-1.c: Only test on ppc-linux.
* gcc.dg/980523-1.c: Only test on ppc-linux.
        * gcc.dg/980526-1.c, gcc.dg/switch-1.c: Likewise.

From-SVN: r20322
1998-06-07 19:20:35 -06:00
Jeffrey A Law 74cbdffaf3 * gcc.c-torture/execute/980608-1.c: New test.
From-SVN: r20321
1998-06-07 19:16:23 -06:00
Jeff Law 581514363a Daily bump.
From-SVN: r20320
1998-06-07 18:45:02 -06:00
Mark Mitchell 53b22f3db7 init.c (build_offset_ref): Correct previous change to use build, not build_min.
* init.c (build_offset_ref): Correct previous change to use build,
	not build_min.

From-SVN: r20319
1998-06-08 00:20:34 +00:00
Richard Henderson 2b01d264b1 * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
From-SVN: r20318
1998-06-07 17:05:06 -07:00