aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
1998-06-10Integrate cpplib into the C and C++ front ends.Dave Brolley11-475/+600
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-10typeck.c (build_component_ref): Make sure FIELD has a lang_specific piece ↵Brendan Kehoe2-1/+6
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-10eb129, eb130. New tests from Klaus-Georg Adams.Robert Lipe2-0/+33
From-SVN: r20405
1998-06-10unroll.c (verify_addresses): Use validate_replace_rtx to undo the changes.Richard Earnshaw2-2/+8
* unroll.c (verify_addresses): Use validate_replace_rtx to undo the changes. Abort if the undo fails. From-SVN: r20404
1998-06-10mips.c (gpr_mode): New variable.Jeffrey A Law2-18/+33
* 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-10reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG for each ↵John Carr2-3/+20
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-10tree.c (debug_binfo): Make printf format match arguments.John Carr3-5/+11
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-09updateJason Merrill14-13/+73
From-SVN: r20400
1998-06-09init.c (resolve_offset_ref): Handle default-initialization.Jason Merrill9-221/+305
* 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-09reload.c (find_reloads_toplev): Use gen_lowpart common to convert between ↵Jeffrey A Law2-1/+18
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-09Daily bump.Jeff Law1-1/+1
From-SVN: r20397
1998-06-09* h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.Juha Sarlin2-1/+41
From-SVN: r20396
1998-06-09i386.c (notice_update_cc): Clear cc_status.value2 in the case of UNSPEC 5 (bsf).John Wehle2-0/+4
* i386.c (notice_update_cc): Clear cc_status.value2 in the case of UNSPEC 5 (bsf). From-SVN: r20395
1998-06-09newJason Merrill1-0/+23
From-SVN: r20394
1998-06-09pt.c (fn_type_unification): Revise documentation.Mark Mitchell2-35/+49
* pt.c (fn_type_unification): Revise documentation. Tidy. (type_unification): Likewise. From-SVN: r20393
1998-06-09fold-const.c (fold): Even with otherwise constant trees...Richard Henderson2-5/+22
* fold-const.c (fold): Even with otherwise constant trees, look for opportunities to combine integer constants. From-SVN: r20392
1998-06-09i386.md (movsfcc, [...]): The floating point conditional move instructions ↵John Wehle2-0/+63
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-09Fix interrupt return epilogue.Nick Clifton3-1/+12
From-SVN: r20385
1998-06-09Minor tweaks.Andrew MacLeod7-22/+28
* 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* invoke.texi: Add documentation for -mips4 and -mabi=*.Mark Mitchell2-1/+16
From-SVN: r20377
1998-06-09vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.Klaus Kaempf2-1/+47
* 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-09search.c (lookup_member): New fn.Jason Merrill5-4/+38
* 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-09haifa-sched.c (update_flow_info): Use UNITS_PER_WORD...John Carr2-1/+6
* 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-09Makefile.in (LIB2FUNCS_EH): Define.Jeffrey A Law3-5/+76
* 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-08elf.h (ASM_DECLARE_OBJECT_NAME): Define.Richard Henderson3-0/+140
* mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define. (ASM_FINISH_DECLARE_OBJECT): Define; * mips/elf64.h: Likewise. From-SVN: r20369
1998-06-08* toplev.c (flag_new_exceptions): Remove extraneous `extern'.Richard Henderson2-8/+4
From-SVN: r20368
1998-06-08Daily bump.Jeff Law1-1/+1
From-SVN: r20367
1998-06-08Bump for snapshotJeffrey A Law2-1/+5
From-SVN: r20365
1998-06-08Bump for snapshotJeffrey A Law2-1/+5
From-SVN: r20364
1998-06-08Bump for snapshotJeffrey A Law2-1/+5
From-SVN: r20363
1998-06-08rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.David Edelsohn2-9/+6
* rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint. (mulsidi3_ppc64): Delete. From-SVN: r20357
1998-06-08Warning fixes:Kaveh R. Ghazi16-55/+133
* 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-08Fix mips64vr4100-elf build failure.Jim Wilson2-6/+11
* 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-08Warning fixes:Kaveh R. Ghazi6-9/+20
* 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* Revamped multiply support for MIPS chips.Ken Raeburn4-145/+251
* 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[multiple changes]Andrew MacLeod14-142/+208
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-08function.c: Define current_function_cannot_inline.Jason Merrill7-22/+34
* 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-08expr.c (force_operand): Detect PIC address loads before splitting arithmetic.Richard Henderson2-7/+18
* expr.c (force_operand): Detect PIC address loads before splitting arithmetic. From-SVN: r20331
1998-06-08Bump for snapshotJeffrey A Law2-1/+5
From-SVN: r20328
1998-06-08Bump for snapshotJeffrey A Law2-1/+5
From-SVN: r20327
1998-06-07Bump for snapshotJeffrey A Law2-1/+5
From-SVN: r20326
1998-06-07tree.c (tree_class_check): Add braces to eliminate ambigious else warning.Graham Stott2-10/+20
* tree.c (tree_class_check): Add braces to eliminate ambigious else warning. (tree_check): Likewise. From-SVN: r20325
1998-06-07reg-stack.c (subst_stack_regs_pat): Make sure the top of stack is the ↵H.J. Lu2-0/+14
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-07tree.h (TREE_VEC_END): Cast unused value to void.Jason Merrill3-2/+12
* tree.h (TREE_VEC_END): Cast unused value to void. * i386.c (print_operand): Use %lx for long operand. From-SVN: r20323
1998-06-07980523-1.c: Only test on ppc-linux.Jeffrey A Law4-3/+6
* 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* gcc.c-torture/execute/980608-1.c: New test.Jeffrey A Law2-0/+40
From-SVN: r20321
1998-06-07Daily bump.Jeff Law1-1/+1
From-SVN: r20320
1998-06-08init.c (build_offset_ref): Correct previous change to use build, not build_min.Mark Mitchell2-3/+9
* init.c (build_offset_ref): Correct previous change to use build, not build_min. From-SVN: r20319
1998-06-07* alpha.c (summarize_insn): Ignore rtl slot format 'i'.Richard Henderson2-0/+7
From-SVN: r20318
1998-06-07class.c (instantiate_type): Handle pointer-to-members where the member is a ↵Mark Mitchell1-0/+7
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