Commit Graph

17036 Commits

Author SHA1 Message Date
Jason Merrill
e76e4a6842 * search.c (covariant_return_p): Complain about ambiguous base.
From-SVN: r20420
1998-06-10 17:12:16 -04:00
Jason Merrill
d60ab85145 * typeck.c (build_component_ref): Diagnose ref to nested type.
From-SVN: r20419
1998-06-10 17:03:58 -04:00
Jim Wilson
3e2b9a3d25 Fix build failure when pointers smaller than integers.
* expr.c (expand_builtin_setjmp): Store const1_rtx in target.
	(expand_builtin_longjmp): Abort if value isn't const1_rtx.
	Delete code storing value in static_chain_rtx.
	(expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
	to second expand_expr call.

From-SVN: r20418
1998-06-10 07:55:48 -07:00
Mark Mitchell
748b909e12 * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
From-SVN: r20417
1998-06-10 13:17:56 +00:00
Dave Brolley
e061d1ce14 Use cpplib for cccp.
Wed Jun 10 13:41:23 1998  Dave Brolley  <brolley@cygnus.com>
	* cppmain.c (fatal): New function.
	* configure.in (cpp_main): New configuration variable.
	* configure: Regenerated.
	* Makefile.in (CCCP): Use a configuration variable to select base for cccp.
	(cppmain$(exeext)): Add @extra_cpp_objs@.

From-SVN: r20416
1998-06-10 08:58:43 -04:00
Brendan Kehoe
347b529220 decl.c (grokparms): Check that INIT isn't an error_mark_node before giving error about invalid type...
* decl.c (grokparms): Check that INIT isn't an error_mark_node
        before giving error about invalid type for default arg.

From-SVN: r20415
1998-06-10 08:34:37 -04:00
Vladimir Makarov
2682eae952 ChangeLog
From-SVN: r20414
1998-06-10 10:57:06 +00:00
Jason Merrill
1be04112a9 * call.c (build_method_call): Fix thinko.
From-SVN: r20413
1998-06-10 06:50:44 -04:00
Jeffrey A Law
07fb7f791d * decl.c (init_decl_processing): Fix typo.
From-SVN: r20412
1998-06-10 04:44:38 -06:00
Jason Merrill
4324833a17 call.c (build_scoped_method_call): Fix thinko.
* call.c (build_scoped_method_call): Fix thinko.
	(build_method_call): Likewise.

From-SVN: r20411
1998-06-10 06:43:41 -04:00
Dave Brolley
cff559bcf0 New interface for lang_decode_option Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
New interface for lang_decode_option
Wed Jun 10 13:07:02 1998  Dave Brolley  <brolley@cygnus.com>
	* objc/objc-act.c: Add cpplib declarations.
	(lang_decode_option): Initialize cpplib if necessary.
	(lang_decode_option): New argc/argv interface.

From-SVN: r20410
1998-06-10 06:22:54 -04:00
Dave Brolley
ab9e0ff9c7 New interface for lang_decode_option.
Wed Jun 10 13:17:32 1998  Dave Brolley  <brolley@cygnus.com>
	* top.h (ffe_decode_option): New argc/argv interface.
	* top.c (ffe_decode_option): New argc/argv interface.
	* parse.c (yyparse): New argc/argv interface for ffe_decode_option.
	* com.c (lang_decode_option): New argc/argv interface.

From-SVN: r20409
1998-06-10 06:18:45 -04:00
Dave Brolley
297441fd87 Integrate cpplib into the C++ front end.
1998-06-10  Dave Brolley  <brolley@cygnus.com>
	* decl2.c (lang_decode_option): New argc/argv interface.
	* cp-tree.h (lang_decode_option): New argc/argv interface.
	* lang-specs.h (default_compilers): Only call cpp if -E, -M or -MM is
	specified for cpplib-enabled compilers.
	* lex.c (lang_init): Don't check_newline for cpplib.
	(init_parse): Don't initialize cpplib here.

From-SVN: r20408
1998-06-10 06:16:45 -04:00
Dave Brolley
a0d85b7572 Integrate cpplib into the C and C++ front ends.
Wed Jun 10 13:07:02 1998  Dave Brolley  <brolley@cygnus.com>
	* objc/objc-act.c: Add cpplib declarations.
	(lang_decode_option): Initialize cpplib if necessary.
	(lang_decode_option): New argc/argv interface.
	* tree.h (lang_decode_option): New argc/argv interface.
	* toplev.c (lang_options): Add cpp options.
	(main): New interface for lang_decode_option.
	* gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
	unless -E, -M or -MM is specified.
	* cpplib.h (cpp_handle_option): New function.
	* cpplib.c (cpp_handle_option): New function.
	(cpp_handle_options): Now calls cpp_handle_option.
	* c-tree.h (c_decode_option): New argc/argv interface.
	* c-lex.c (init_parse): cpplib now initialized in c_decode_option.
	* c-lang.c (lang_decode_option): New argc/argv interface.
	* c-decl.c: Add cpplib declarations.
	(c_decode_option): New argc/argv interface.
	(c_decode_option): Call cpp_handle_option.
	(c_decode_option): Now returns number of strings processed.

From-SVN: r20407
1998-06-10 06:12:36 -04:00
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