Commit Graph

17002 Commits

Author SHA1 Message Date
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
Mark Mitchell 4146c3afe3 class.c (instantiate_type): Handle pointer-to-members where the member is a template.
* class.c (instantiate_type): Handle pointer-to-members where the
	member is a template.
	* init.c (build_offset_ref): Likewise.
	* typeck.c (build_unary_op): Likewise.

From-SVN: r20283
1998-06-07 14:52:11 +00:00
John Carr cb9e12a746 sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long conversion functions.
Sun Jun  7 14:15:45 1998  John Carr  <jfc@mit.edu>
        * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
        conversion functions.

From-SVN: r20277
1998-06-07 07:15:53 -07:00
Richard Henderson f84639ba68 com.c (lang_init_options): New function.
* com.c (lang_init_options): New function.
        * top.c (ffe_decode_option): Remove all trace of -fset-g77-defaults.
        Set ffe_is_do_internal_checks_ with -version.
        * lang-options.h: Likewise.
        * lang-specs.h: Likewise.

From-SVN: r20276
1998-06-07 07:08:58 -07:00
Richard Henderson 9116eca2f8 lex.c (lang_init_options): New function.
* lex.c (lang_init_options): New function.
        (lang_init): Remove flag_exceptions == 2 hack.

From-SVN: r20275
1998-06-07 07:07:25 -07:00
Richard Henderson b53beeb291 toplev.c (flag_exceptions): Default to 0.
* toplev.c (flag_exceptions): Default to 0.
        (compile_file): Remove flag_exceptions == 2 hack.
        (main): Call lang_init_options.
        * tree.h: Declare it.
        * c-lang.c: Implement it.
        * objc/objc-act.c: Likewise.

From-SVN: r20274
1998-06-07 07:06:47 -07:00
Mark Mitchell 874503bcad class.c (instantiate_type): Handle pointer-to-members where the member is a template.
* class.c (instantiate_type): Handle pointer-to-members where the
	member is a template.
	* init.c (build_offset_ref): Likewise.
	* typeck.c (build_unary_op): Likewise.

From-SVN: r20269
1998-06-07 12:13:54 +00:00
David Edelsohn dfdfa60f54 rs6000.md (restore_stack_block): Generate MEM and specify mode.
* rs6000.md (restore_stack_block): Generate MEM and specify mode.
        * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
        * rs6000.c (rs6000_output_load_toc_table): Use fputs.
        (output_function_profiler): Use asm_fprintf and fputs.

From-SVN: r20268
1998-06-07 05:34:09 -04:00
Jeff Law a0b152cd98 Daily bump.
From-SVN: r20267
1998-06-06 18:45:02 -06:00
Jason Merrill 3070ba0b86 * search.c (envelope_add_decl): Tweak for implicit typename.
From-SVN: r20264
1998-06-06 14:13:12 -04:00
Per Bothner e37cda9b2c One more typo.
From-SVN: r20263
1998-06-06 03:42:32 -07:00
Per Bothner 77346de2e5 Fixed typo: lang_specific_extra_ofiles -> lang_specific_extra_outfiles.
From-SVN: r20262
1998-06-06 03:41:05 -07:00
Kaveh R. Ghazi 83e0821b60 Some fixes for KNR compilers:
* gencheck.c: Remove redundant stdio.h include.  Add a definition
        of xmalloc for when we are forced to link with alloca.o.
        * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
        instead of `1U'.
        * fold-const.c (constant_boolean_node): Make definition static to
        match the prototype.

From-SVN: r20261
1998-06-06 09:25:16 +00:00
Per Bothner 8db79477cd Fix typo.
From-SVN: r20260
1998-06-05 17:49:35 -07:00
Jeff Law a007341fef Daily bump.
From-SVN: r20259
1998-06-05 18:45:02 -06:00
Jason Merrill 598c8c2c40 call.c (joust): Also warn about confusing conversion op/constructor overload resolution.
* call.c (joust): Also warn about confusing conversion op/constructor
	overload resolution.

From-SVN: r20258
1998-06-05 19:03:33 -04:00
Jason Merrill 1dd6b205d6 new
From-SVN: r20257
1998-06-05 18:57:38 -04:00
Jason Merrill a47855649e spew.c (yylex): Also return the TYPE_DECL if got_object.
* spew.c (yylex): Also return the TYPE_DECL if got_object.
	Don't clear got_object after '~'.
	* call.c (build_scoped_method_call): Tweak destructor handling.
	(build_method_call): Likewise.
	* pt.c (tsubst_copy, case METHOD_CALL_EXPR): Don't mess with
	TYPE_MAIN_VARIANT for destructors.
	* semantics.c (finish_object_call_expr): Complain about calling a
	TYPE_DECL.

From-SVN: r20256
1998-06-05 17:57:05 -04:00
Per Bothner e211a323f6 Fixed minor typo.
From-SVN: r20252
1998-06-05 09:02:14 -07:00
Per Bothner 6ff0d2a070 gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
�
	* gcc.c (lang_specific_pre_link):  New LANG_SPECIFIC_DRIVER function.
	(lang_specific_extra_outfiles):  New LANG_SPECIFIC_DRIVER variable.
	(do_spec, input_filename, input_filename_length):  Make public.
	(main):  Adjust outfiles allocation by lang_specific_extra_outfiles.
	Call lang_specific_pre_link befor elinking.

From-SVN: r20251
1998-06-05 08:57:13 -07:00
Per Bothner f271358e78 gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
`
	* gcc.c (lang_specific_pre_link):  New LANG_SPECIFIC_DRIVER function.
	(lang_specific_extra_outfiles):  New LANG_SPECIFIC_DRIVER variable.
	(do_spec, input_filename, input_filename_length):  Make public.
	(main):  Adjust outfiles allocation by lang_specific_extra_outfiles.
	Call lang_specific_pre_link befor elinking.

From-SVN: r20250
1998-06-05 08:57:11 -07:00