summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* * configure.in (arm*-*-eabi*): New target.mmitchel2004-08-1130-169/+1452
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure: Regenerate. * configure.ac (arm*-*-eabi*): New target. (arm*-*-symbianelf*): Likewise. * configure: Regenerated. * config.gcc (arm*-*-eabi*): New target. * defaults.h (TARGET_LIBGCC_FUNCS): New macro. (TARGET_LIB_INT_CMP_BIASED): Likewise. * expmed.c (expand_divmod): Try a two-valued divmod function as a last resort. * gthr.h: Remove bogus tokens at end of #pragma. * optabs.c (expand_twoval_binop_libfunc): New function. (prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case. (prepare_float_lib_cmp): Try reversing the condition. (debug_optab_libfuncs): New function. * optabs.h (expand_twoval_binop_libfunc): Declare. * config/arm/arm.c (arm_init_libfuncs): New function. (arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT. (TARGET_INIT_LIBFUNCS): Define it. * config/arm/arm.h (TARGET_BPABI): New macro. * config/arm/arm-protos.h (arm_compute_initial_elimination_offset): Return HOST_WIDE_INT. * config/arm/bpabi.S: New file. * config/arm/bpabi.c: Likewise. * config/arm/bpabi.h: Likewise. * config/arm/ieee754-df.S (__aeabi_dneg): New function or alias. (__aeabi_drsub): Likewise. (__aeabi_dsub): Likewise. (__aeabi_dadd): Likewise. (__aeabi_ui2d): Likewise. (__aeabi_i2d): Likewise. (__aeabi_f2d): Likewise. (__aeabi_dmul): Likewise. (__aeabi_ddiv): Likewise. (__aeabi_cdrcmple): Likewise. (__aeabi_cdcmpeq): Likewise. (__aeabi_cdcmple): Likewise. (__aeabi_dcmpeq): Likewise. (__aeabi_dcmplt): Likewise. (__aeabi_dcmple): Likewise. (__aeabi_dcmpge): Likewise. (__aeabi_dcmpgt): Likewise. (__aeabi_dcmpun): Likewise. (__aeabi_d2iz): Likewise. (__aeabi_d2uiz): Likewise. (__aeabi_d2f): Likewise. * config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias. (__aeabi_frsub): Likewise. (__aeabi_fsub): Likewise. (__aeabi_fadd): Likewise. (__aeabi_ui2f): Likewise. (__aeabi_i2f): Likewise. (__aeabi_fmul): Likewise. (__aeabi_fdiv): Likewise. (__aeabi_cfrcmple): Likewise. (__aeabi_cfcmpeq): Likewise. (__aeabi_cfcmple): Likewise. (__aeabi_fcmpeq): Likewise. (__aeabi_fcmplt): Likewise. (__aeabi_fcmple): Likewise. (__aeabi_fcmpge): Likewise. (__aeabi_fcmpgt): Likewise. (__aeabi_fcmpun): Likewise. (__aeabi_f2iz): Likewise. (__aeabi_f2uiz): Likewise. * config/arm/lib1funcs.asm (ARM_CALL): New macro. (__aeabi_uidivmod): New function or alias. (__aeabi_idivmod): Likewise. (__aeabi_idiv0): Likewise. (__aeabi_ldiv0): Likewise. (__aeabi_llsr): Likewise. (__aeabi_lasr): Likewise. (__aeabi_llsl): Likewise. (bpabi.S): Include it. * config/arm/libgcc-bpabi.ver: New file. * config/arm/symbian.h (ARM_DEFAULT_ABI): Remove. (LINK_SPEC): Remove. * config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and __aeabi_ulcmp. * config/arm/t-bpabi: New file. * doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry. (TARGET_LIB_INT_CMP_BIASED): Likewise. * gcc.dg/testsuite/gcc.dg/arm-eabi1.c: New test. * gcc.dg/dll-2.c: Fix dg-require syntax. * gcc.misc-tests/arm-isr.c (abort): Declare. (exit): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85788 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rs6000/rs6000-protos.h (expand_block_clear): Declare.dje2004-08-114-5/+111
| | | | | | | | | | * config/rs6000/rs6000.md (clrmemsi): New pattern. * config/rs6000/rs6000.c (expand_block_clear): New function. (expand_block_move): Convert alignment to bits. Use SImode and HImode for unaligned addresses if not STRICT_ALIGNMENT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85787 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-11 Kelley Cook <kcook@gcc.gnu.org>kcook2004-08-113-20/+18
| | | | | | | | | PR bootstrap/16164 * Makefile.am: Force fastjar.info to be built in build directory. * Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85782 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2004-08-112-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85780 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/16971mmitchel2004-08-114-1/+19
| | | | | | | | | | * parser.c (cp_parser_init_declarator): Robustify. PR c++/16971 * g++.dg/parse/crash16.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85776 138bc75d-0d04-0410-961f-82ee72b054a4
* Hot/cold partitioning update, sub-patch: fix alignment problemsctice2004-08-102-7/+55
| | | | | | | | | | | | | | | | | 2004-08-10 Caroline Tice <ctice@apple.com * varasm.c (unlikely_section_label): New global variable. (unlikely_text_section_name): New global variable. (text_section): Remove alignment statement. (unlikely_text_section): Remove alignment statement; use unlikely_section_label rather than hard-coded string. (assemble_start_function): Initialize unlikely_section_label and unlikely_text_section_name; make sure cold section is properly aligned at start of function; output unlikely_section_label if appropriate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85771 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.uweigand2004-08-105-151/+106
| | | | | | | | | | | | | * config/s390/s390.c (s390_canonicalize_comparison): New function. * config/s390/s390.h (CANONICALIZE_COMPARISON): Define. * config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext", "*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove. ("*tmqi_mem"): Remove SUBREG from pattern. ("*anddi3_cconly"): Prevent accidentally matching TM pattern. ("*andsi3_cconly"): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85770 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-10 H.J. Lu <hongjiu.lu@intel.com>hjl2004-08-102-2/+7
| | | | | | | | PR target/16909 * config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85769 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-10 Janis Johnson <janis187@us.ibm.com>janis2004-08-102-7/+35
| | | | | | | | * doc/sourcebuild.texi (compat testing): Document available test framework commands. Use the preferred spelling of DejaGnu. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85768 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-10 Daniel Berlin <dberlin@dberlin.org>dberlin2004-08-104-7/+850
| | | | | | | | | | | | | | | | | | | | * lambda.h: Add matrix type, and prototypes for remainder of matrix and vector functions. (lambda_vector_mult_const): New function. (lambda_vector_negate): Ditto. (lambda_vector_add): Ditto. (lambda_vector_add_mc): Ditto. (lambda_vector_copy): Ditto. (lambda_vector_zerop): Ditto. (lambda_vector_equal): Ditto. (lambda_vector_min_nz): Ditto. (lambda_vector_first_nz): Ditto. (lambda_vector_matrix_mult): Ditto. * lambda-mat.c: New file. * Makefile.in (lambda-mat.o): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85767 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-10 Andrew MacLeod <amacleod@redhat.com>amacleod2004-08-108-46/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt after linking stmt into the program. (bsi_remove): Don't call modify_stmt. * tree-complex.c (update_complex_assignment, expand_complex_comparison): Call modify_stmt after changing the stmt. * tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not removing the stmt. * tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing the stmt, and only if needed. * tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy expression. (simplify_rhs_and_lookup_avail_expr): Don't take an annotation param. (simplify_cond_and_lookup_avail_expr): Use modify_stmt. (simplify_switch_and_lookup_avail_expr): Don't take an annotation param. (eliminate_redundant_computations): Don't pass an annotation. Call modify_stmt rather than setting the annotation directly. (record_equivalences_from_stmt): Remove unused local 'j'. (cprop_operand): Take a stmt rather than an annotation as a parameter. Call modify_stmt. (cprop_into_stmt): Pass stmt rather than annotation. (update_rhs_and_lookup_avail_expr): Call modify_stmt. * tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than modify_stmt. * tree-ssa.c (propagate_into_addr): Dont call modify_stmt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85765 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/16948jason2004-08-101-0/+1
| | | | | | | | * function.c (expand_function_start): Handle DECL_BY_REFERENCE on the RESULT_DECL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85764 138bc75d-0d04-0410-961f-82ee72b054a4
* * function.c (expand_function_start): Handle DECL_BY_REFERENCE onjason2004-08-102-2/+11
| | | | | | | the RESULT_DECL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85763 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match thegeoffk2004-08-102-3/+17
| | | | | | | hash function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85760 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/mips/mips.md: New reciprocal square root patterns thatsayle2004-08-106-0/+115
| | | | | | | | | | | match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns. * gcc.dg/mips-rsqrt-1.c: New test case. * gcc.dg/mips-rsqrt-2.c: New test case. * gcc.dg/mips-rsqrt-3.c: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85759 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/arm/arm-protos.h (arm_set_return_address,pbrook2004-08-105-76/+247
| | | | | | | | | | | | | | | | | | | | | thumb_set_return_address): Add prototypes. * config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove. * config/arm/arm.c (arm_compute_func_type, use_return_insn, arm_compute_save_reg0_reg12_mask, arm_compute_save_reg_mask, arm_output_function_prologue, arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with current_function_calls_eh_return. (thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace old eh code. (arm_set_return_address, thumb_set_return_address): New functions. * config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO, ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define. * config/arm/arm.md (VUNSPEC_EH_RETURN): Add. (epilogue): Use the stackadj register. (eh_return, arm_eh_return, thumb_eh_return): New pattern. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85757 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-10 Bryce McKinlay <mckinlay@redhat.com>bryce2004-08-102-13/+7
| | | | | | | | | * java-gimplify.c (java_gimplify_new_array_init): Use create_tmp_var. Don't create BLOCK here or call java_gimplify_block. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85756 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-10 Andrew Haley <aph@redhat.com>aph2004-08-101-0/+5
| | | | | | | | * testsuite/libjava.lang/err14.java: New file. * testsuite/libjava.lang/err14.out: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85754 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-10 Andrew Haley <aph@redhat.com>aph2004-08-102-0/+6
| | | | | | | * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85753 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-10 Andrew Haley <aph@redhat.com>aph2004-08-102-0/+22
| | | | | | | | * testsuite/libjava.lang/err14.java: New file. * testsuite/libjava.lang/err14.out: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85752 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-10 Victor Leikehman <lei@il.ibm.com>pbrook2004-08-102-3/+13
| | | | | | | | | * io/list_read.c (namelist_read): Convert variable names to lower case, so that mixed-case names are recognized. Don't read beyond terminating slash. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85751 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/3144jakub2004-08-107-15/+59
| | | | | | | | | | | | | | | | | | | | | | | | * expr.c (move_by_pieces_ninsns): Add max_size argument. (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it. (CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it. (STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P, but using MOVE_RATIO. (move_by_pieces): Pass max_size to move_by_pieces_ninsns. (can_store_by_pieces): Change max_size type to unsigned int. (store_by_pieces_1): Likewise. Pass max_size to move_by_pieces_ninsns. * config/s390/s390.h (STORE_BY_PIECES_P): Define. * config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to move_by_pieces_ninsns. (STORE_BY_PIECES_P): Define. * config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to move_by_pieces_ninsns. * doc/tm.texi (STORE_BY_PIECES_P): Document changed default. * config/i386/i386.h (CLEAR_RATIO): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85750 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-09 Paolo Bonzini <bonzini@gnu.org>bonzini2004-08-102-0/+30
| | | | | | | * expr.c (expand_expr_real_1): Add back code that was not dead. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85742 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-09 Andrew Pinski <apinski@apple.com>pinskia2004-08-102-1/+9
| | | | | | | | * c-common.c (c_common_get_alias_set): Set the aliasing set of the type which is found to be compatible before returning the aliasing set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85741 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-09 H.J. Lu <hongjiu.lu@intel.com>hjl2004-08-104-6/+10
| | | | | | | | | | * java-tree.h (flag_deprecated): Removed. * lang.opt (Wdeprecated): Use existing Var(warn_deprecated). * parse.y (check_deprecation): Check warn_deprecated instead of flag_deprecated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85740 138bc75d-0d04-0410-961f-82ee72b054a4
* * trans-io.c (transfer_expr): Handle pointters.pbrook2004-08-104-1/+29
| | | | | | | | testsuite/ * gfortran.dg/der_io_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85738 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2004-08-102-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85733 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/16919pbrook2004-08-096-30/+313
| | | | | | | | | | | | | | | | | | | | | | * trans-array.c (gfc_add_loop_ss_code): Handle GFC_SS_COMPONENT. (gfc_conv_array_index_offset): Allow "temporary" with nonzero delta. (gfc_trans_preloop_setup, gfc_trans_scalarized_loop_boundary): Handle GFC_SS_COMPONENT. (gfc_conv_ss_startstride): Ditto. Set ss->shape. (gfc_conv_loop_setup): Tweak commends. Remove dead code. Use ss->shape. (gfc_conv_array_initializer): Call specific initializer routines. * trans-expr.c (gfc_trans_structure_assign): New function. (gfc_trans_subarray_assign): New function. (gfc_trans_subcomponent_assign): New fucntion (gfc_conv_structure): Use them. * trans.h (gfc_ss_type): Add GFC_SS_COMPONENT. (gfc_ss): Add shape. testsuite/ * gfortran.dg/der_array_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85730 138bc75d-0d04-0410-961f-82ee72b054a4
* * ggc-zone.c (struct alloc_zone): Add statistics counters.drow2004-08-092-21/+245
| | | | | | | | | | | | | | | | (always_collect): New flag. (ggc_alloc_zone_1): Update statistics support. Don't include overhead in allocated counter. (sweep_pages): Update allocated counter for large pages. Don'y include overhead. (ggc_collect_1): Always collect. (ggc_collect): Honor always_collect flag. Sum all zones to decide whether to collect. (SCALE, LABEL): New macros. (ggc_print_statistics): Add statistics support. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85729 138bc75d-0d04-0410-961f-82ee72b054a4
* * expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool.sayle2004-08-092-3/+35
| | | | | | | | | (init_expmed): Fix potential overrun problem with "all.reg". (expand_sdiv2_pow2): Add an alternate implementation for signed division, if the target provides a suitable conditional move insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85728 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.dg/cpp/assert4.c: _AIX asserts #system(unix).dje2004-08-092-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85726 138bc75d-0d04-0410-961f-82ee72b054a4
* * intrinsics/c99_functions.c (nextafterf): New implementation thatsayle2004-08-092-44/+49
| | | | | | | works correctly with denormalized numbers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85724 138bc75d-0d04-0410-961f-82ee72b054a4
* * unwind-dw2.c (uw_install_context_1): Update target saved stackpbrook2004-08-092-16/+25
| | | | | | | pointer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85723 138bc75d-0d04-0410-961f-82ee72b054a4
* * ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.geoffk2004-08-093-31/+63
| | | | | | | | | | | Check DATA limit only if there's no AS limit. Ignore insanely low DATA limits. (ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8, but take care that the AS limit isn't overrun. * doc/invoke.texi: Update documentation of min-heapsize parameter. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85722 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (OBJC-common): Add tree-ssa-threadupdate.claw2004-08-0911-525/+510
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (tree-ssa-threadupdate.o): Add dependencies. * tree-ssa-threadupdate.c: New file. * tree-flow.h (incoming_edge_threaded): New flag in block annotation. (rewrite_vars_out_of_ssa): Remove prototype. (cleanup_tree_cfg): Returns a bool. * tree.h (thread_through_all_blocks): Prototype. * tree-outof-ssa.c (SSANORM_*): Move into here. (remove_ssa_form): Now static. (rewrite_vars_out_of_ssa): Kill. * tree-ssa-live.c (register_ssa_partitions_for_vars): Kill. * tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c. (remove_ssa_form, register_partitions_for_vars): Kill declarations. * tree-cfg.c (cleanup_tree_cfg): Return a value indicating if anything was changed. * tree-phinodes.c (add_phi_arg): Get the block for the PHI from the PHI's annotation rather than the edge associated with the new argument. * tree-ssa-dom.c (redirection_edges): Kill. (redirect_edges_and_update_ssa_graph): Kill. (tree_ssa_dominator_optimize): Do not reset forwardable flag for blocks anymore. Do not initialize redirection_edges. Call thread_through_all_blocks. Simplify code for cleanup of the CFG and iterating. No longer call cleanup_tree_cfg outside the iteration loop. (thread_across_edge): No longer mess with forwardable blocks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85721 138bc75d-0d04-0410-961f-82ee72b054a4
* * explow.c (memory_address): Use memory_address_p.zack2004-08-094-10/+12
| | | | | | | | * recog.c (general_operand): Likewise. * regrename.c: No need to define REG_OK_STRICT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85720 138bc75d-0d04-0410-961f-82ee72b054a4
* Ayee, missed a file.steven2004-08-091-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85719 138bc75d-0d04-0410-961f-82ee72b054a4
* * timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM):steven2004-08-094-28/+72
| | | | | | | | | | | | | | | | | | | | | New timers. * gcse.c: Include timevar.h. (const_prop_count, copy_prop_count): Rename to global_const_prop_count and global_copy_prop_count. (local_const_prop_count, local_copy_prop_count): New static globals. (gcse_main): Set the right timevar for each pass. (cprop_jump): Increment global_const_prop_count when a constant is propagated. Add "GLOBAL" to dump output. (cprop_insn): Increment global_const_prop_count when a constant is propagated, or global_copy_prop_count when a copy is propagated. (do_local_cprop): Likewise for local_const_prop_count and local_copy_prop_count. (one_cprop_pass): Initialize const/cprop counters to zero. Print out results of local and global const/cprop separately. (bypass_block): Break over-length line. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85718 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-09-09 Victor Leikehman <lei@il.ibm.com>pbrook2004-08-0916-21/+387
| | | | | | | | | | * m4/matmul.m4, m4/matmull.m4, intrinsics/eoshift0.c, intrinsics/eoshift2.c, intrinsics/transpose_generic.c: Allocate space if return value has NULL in its data field. * generated/*.c: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85717 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-09 Paolo Carlini <pcarlini@suse.de>paolo2004-08-093-185/+260
| | | | | | | | | | | * include/bits/stl_bvector.h: Trivial formatting fixes. 2004-08-09 Paolo Carlini <pcarlini@suse.de> * src/ios.cc (ios_base::_M_grow_words): Uglify the names. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85716 138bc75d-0d04-0410-961f-82ee72b054a4
* fix typojason2004-08-091-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85715 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-09 Thomas Quinot <quinot@act-europe.fr>charlet2004-08-0960-806/+3204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind from complaining on potential uninitialized reference. Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification and test explicitly for non-zero return value. * g-socthi.ads (Is_Socket_In_Set): Declare imported function as returning C.int, to avoid using a derived boolean type. * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use Duplicate_Subexpr_No_Checks in preference to direct use of Remove_Side_Effects and New_Copy_Tree. Clear Comes_From_Source on prefix of 'Size attribute reference. * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.adb: Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification and test explicitly for non-zero return value. * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads: (Is_Socket_In_Set): Declare imported function as returning C.int, to avoid using a derived boolean type. 2004-08-09 Albert Lee <lee@gnat.com> * system-irix-n32.ads: Refine tasking priority constants for IRIX. 2004-08-09 Pascal Obry <obry@gnat.com> * gnat_ugn.texi: Document new way to build DLLs on Windows using GCC's -shared option. * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into Options_2 parameter (options put after object files). 2004-08-09 Olivier Hainque <hainque@act-europe.fr> * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to ignore overflows on low and high bounds of an index to also account for differences in signedness between sizetype and gnu_index_subtype. These are as legitimate as the ones caused by a lower TYPE_PRECISION on sizetype. 2004-08-09 Robert Dewar <dewar@gnat.com> * s-solita.ads, s-solita.adb: Minor reformatting * gnat_rm.texi: Add documentation for pragma Profile (Restricted) Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new obsolescent section Add note that No_Implicit_Conditionals does not suppress run time constraint checks. * vms_conv.ads: Minor reformatting * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup and necessary for following change). (Mark): Return new format Mark_Id containing sec stack address (Release): Use sec stack address from Mark_Id avoiding Self call * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack pointer (cleanup and necessary for following change). Define Mark_Id as record containing address of secondary stack, that way Release does not need to find the stack again, decreasing the number of calls to Self and improving efficiency. * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of case variable into the individual case branches when possible. * sem_ch11.adb: Minor reformatting * prj.ads: Correct spelling of suffixs * prj-nmsc.adb: Minor reformatting Correct spelling suffixs throughout (also in identifiers) * freeze.adb: Minor spelling correction * exp_ch2.adb: Cleanups to handling of Current_Value (no functional effect). * bld.adb: Correct spelling of suffixs * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument 2004-08-09 Ed Schonberg <schonberg@gnat.com> PR ada/15408 * sem_ch7.adb (Install_Private_Declarations): In the body of the package or of a child, private entities are both immediately_visible and not hidden. 2004-08-09 Ed Schonberg <schonberg@gnat.com> * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer, there are no range checks on the value of the literal. * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being wrapped is the triggering alternative of an asynchronous select, action statements mustbe inserted before the select itself. * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the case where the prefix is a protected function call. (Resolve_Attribute, case 'Access): The attribute reference on a subprogram is legal in a generic body if the subprogram is declared elsewhere. 2004-08-09 Vincent Celier <celier@gnat.com> * makegpr.adb (Build_Library): Link with g++ if C++ is one of the languages, otherwise building the library may fail with unresolved symbols. (Compile_Sources): Do not build libraries if -c switch is used * gnatlink.adb (Process_Args): New switches -M and -Mmap (Write_Usage): If map file creation is supported, output new switches -M and -Mmap. (Gnatlink): When -M is specified, add the necessary switch(es) to the gcc call, when supported. * Makefile.in: Added indepsw.o to the object list for gnatlink Specified the AIX, GNU/Linux and Windows versions of indepsw.adb * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb, indepsw.adb, indepsw.ads: New files. 2004-08-09 Bernard Banner <banner@gnat.com> * system-vxworks-x86.ads, s-vxwork-x86.ads: New files. * Makefile.in: add section for vxworks x86 2004-08-09 Hristian Kirtchev <kirtchev@gnat.com> * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with per-object constrained components where the discriminant is of an Access type. (Build_Record_Init_Proc): Add condition to prevent the inheritance of the parent initialization procedure for derived Unchecked_Unions. Instead, derived Unchecked_Unions build their own initialization procedure. (Build_Variant_Record_Equality): Implement Unchecked_Union equality. Check the body of the subprogram for details. (Freeze_Record_Type): Prevent the inheritance of discriminant checking functions for derived Unchecked_Union types by introducing a condition. Allow the creation of TSS equality functions for Unchecked_Unions. (Make_Eq_Case): Rename formal parameter Node to E in function signature. Add formal parameter Discr to function signature. Discr is used to control the generated case statement for Unchecked_Union types. (Make_Eq_If): Rename formal parameter Node to E in function signature. * exp_ch4.adb (Build_Equality_Call): Implement equality calls for Unchecked_Unions. Check the body of the subprogram for details. (Expand_Composite_Equality): Augment composite type equality to include correct handling of Unchecked_Union components. (Expand_N_In): Add condition to detect illegal membership tests when the subtype mark is a constrained Unchecked_Union and the expression lacks inferable discriminants, and build a Raise_Program_Error node. (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used to detect types that contain components of unconstrained Unchecked_Union subtype. Add condition to detect equality between types that have an unconstrained Unchecked_Union component, and build a Raise_Program_Error node. Add condition to detect equality between Unchecked_Union types that lack inferable discriminants, and build a Raise_Program_Error node. Otherwise build a TSS equality function call. (Expand_N_Type_Conversion): Add condition to detect illegal conversions from a derived Unchecked_Union to an unconstrained non-Unchecked_Union with the operand lacking inferable discriminants, and build a Raise_ Program_Error node. (Expand_Record_Equality): Remove guard that prevents Unchecked_Union composite equality. (Has_Inferable_Discriminants): Implement new predicate for objects and expressions of Unchecked_Union type. Check the body of subprogram for details. (Has_Unconstrained_UU_Components): Add function Component_Is_Unconstrained_UU. It is used to detect whether a single component is of an unconstrained Unchecked_Union subtype. Add function Variant_Is_Unconstrained_UU. It is used to detect whether a single component inside a variant is of an unconstrained Unchecked_Union type. * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the inferred discriminant values. Add condition to generate a case statement with an inferred discriminant as the switch. (Make_Component_List_Assign): Introduce a Boolean flag that determines the behaviour of the subprogram in the presence of an Unchecked_Union. Add condition to trigger the usage of the inferred discriminant value as the generated case statement switch. (Make_Field_Assign): Introduce a Boolean flag that determines the behaviour of the subprogram in the presence of an Unchecked_Union. Add condition to trigger the usage of the inferred discriminant value as the right-hand side of the generated assignment. * exp_ch6.adb (Expand_Call): Add condition to skip extra actual parameter generation when dealing with Unchecked_Unions. * checks.adb (Apply_Discriminant_Check): Do not apply discriminant checks for Unchecked_Unions. * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint * exp_attr.adb (Expand_N_Attribute_Reference): Produce Raise_Program_Error nodes for the execution of Read and Write attributes of Unchecked_Union types and the execution of Input and Output attributes of Unchecked_Union types that lack default discriminant values. * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma Unchecked_Union. Add procedure Check_Component. It is used to inspect per-object constrained components of Unchecked_Unions for being Unchecked_Unions themselves. Add procedure Check_Variant. It is used to check individual components withing a variant. * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents comparison of Unchecked_Unions. (Resolve_Equality_OP): Remove guard that prevents equality between Unchecked_Unions. * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation of component subtypes for Unchecked_Union components. (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type since it is the actual subtype. * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct pass of Unchecked_Union subtypes as generic actuals to formal types that lack known_discriminant_parts or that are derived Unchecked_Union types, and do nothing. In any other case, produce an error message. * sem_ch3.adb (Analyze_Component_Declaration): Add function Contains_POC. It determines whether a constraint uses the discriminant of an enclosing record type. Add condition to detect per-object constrained component and set the appropriate flag. (Derived_Type_Declaration): Remove guard that prevents derivation from Unchecked_Union types. (Process_Subtype): Remove quard that prevents the creation of Unchecked_ Union subtypes. * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of references to Unchecked_Union discriminants. * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra formal generation when dealing with Unchecked_Unions. (Set_Actual_Subtypes): Add condition to prevent generation of actual subtypes for Unchecked_Unions. * sem_ch7.adb (Analyze_Package_Specification): Add procedure Inspect_Unchecked_Union_Completion. It is used to detect incorrect completions of discriminated partial views by Unchecked_Unions and produce an error message. 2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * trans.c (struct stmt_group): New field, GLOBAL. (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted. (struct elab_info): New struct. (elab_info_list, gnu_elab_proc_stack): New variables. (Compilation_Unit_to_gnu): New procedure. (gigi): Call it and also handle elaboration procs we've saved. (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize global field from parent. (gnat_to_gnu): Get decl from gnu_elab_proc_stack. (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu. (start_stmt_group): Initialize global field from parent. (add_decl_expr): Set to global for current statement group. (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not post. * utils.c (global_bindings_p): True when no current_function_decl; no longer check current_binding_level. 2004-08-09 Ben Brosgol <brosgol@gnat.com> * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition choice. * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85714 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-09 Paolo Bonzini <bonzini@gnu.org>bonzini2004-08-092-1/+5
| | | | | | | * gcc.dg/wchar_t-2.c: Fix typo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85713 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-09 Paolo Bonzini <bonzini@gnu.org>bonzini2004-08-099-440/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (GTFILES): Remove stmt.c (stmt.o): Do not depend on gt-stmt.h. * emit-rtl.c (emit_line_note): Do not call set_file_and_line_for_stmt. * expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case do everything. * function.c (free_after_parsing): Do not free STMT field. (allocate_struct_function): Do not call init_stmt_for_function. (assign_stack_temp_for_type): Do not accept values of keep other than 0 or 1. (init_temp_slots): Do not initialize removed variables. * function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL and X_VAR_TEMP_SLOT_LEVEL fields. * rtl.h (set_file_and_line_for_stmt): Remove. * stmt.c (struct nesting, ALLOC_NESTING, POPSTACK, struct stmt_status, cond_stack, case_stack, nesting_stack, nesting_depth, emit_locus, set_file_and_line_for_stmt, same_case_target_p, init_stmt_for_function, emit_nop, expand_start_cond, expand_start_elseif, expand_start_else, expand_elseif, expand_end_cond): Remove. (preserve_subexpressions_p): Remove references to CFUN->STMT. (expand_start_case, expand_end_case_type): Remove, merge into... (expand_case): ... this one, including other bits from expand_expr_real_1. Inline same_case_target_p. Turn members of CASE_STACK into local variables. (emit_case_bit_tests): Inline same_case_target_p. (add_case_node): Add HEAD argument, return new head of the list, do not handle default label here. * tree.h (expand_start_cond, expand_end_cond, expand_start_else, expand_start_elseif, current_nesting_level, expand_start_case, expand_end_case_type, expand_end_case, add_case_node, init_stmt_for_function, expand_elseif): Remove prototypes. (expand_case): Add prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85712 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-09 Paolo Bonzini <bonzini@gnu.org>bonzini2004-08-092-24/+17
| | | | | | | * expr.c (expand_expr_real_1): Use optab_for_tree_code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85711 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-24 Paolo Bonzini <bonzini@gnu.org>bonzini2004-08-094-481/+82
| | | | | | | | | | | | | | * expr.c (var_rtx): Remove. (expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR, LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>: Abort. (expand_expr_real_1) <COND_EXPR>: Remove most special cases. * optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove. * optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85710 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2004-08-092-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85702 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/12517falk2004-08-086-0/+90
| | | | | | | | | | | | | | | | | | | * gcc.c-torture/compile/pr12517.c: New test. PR tree-optimization/12578 * gcc.c-torture/compile/pr12578.c: New test. PR tree-optimization/12899 * gcc.c-torture/compile/pr12899.c: New test. PR rtl-optimization/14692 * gcc.c-torture/compile/pr14692.c: New test. PR tree-optimization/16461 * gcc.c-torture/compile/pr16461.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85698 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-08 Mostafa Hagog <mustafa@il.ibm.com>hagog2004-08-087-55/+212
| | | | | | | | | | | | | | | | | | | | Ayal Zaks <zaks@il.ibm.com> * common.opt (freschedule-modulo-scheduled-loops): New flag. * final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK. * modulo-sched.c (sms_schedule): Emit a note to disable scheduling when -freschedule-modulo-scheduled-loops flag is not specified. (sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps, add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts): More accurate placing of insn in row of partial schedule. (ps_insn_find_column): New function. * rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note. * sched-rgn.c (sched_is_disabled_for_current_region_p): New. (schedule_region): Use sched_is_disabled_for_current_region_p. * docs/invoke.texi: Document -freschedule-modulo-scheduled-loops. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85696 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-08 Victor Leikehman <lei@il.ibm.com>pbrook2004-08-085-8/+88
| | | | | | | | | | | | | | * simplify.c (gfc_simplify_shape): Bugfix. * expr.c (gfc_copy_shape_excluding): New function. * gfortran.h (gfc_get_shape): Bugfix. (gfc_copy_shape_excluding): Added declaration. * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count, gfc_resolve_cshift, gfc_resolve_eoshift, gfc_resolve_lbound, gfc_resolve_ubound, gfc_resolve_transpose): Added compile time resolution of shape. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85685 138bc75d-0d04-0410-961f-82ee72b054a4