aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2006-02-20trans-stmt.c (gfc_trans_where_2): Avoid updating unused current execution ↵Roger Sayle2-12/+35
mask for empty WHERE/ELSEWHERE clauses. * trans-stmt.c (gfc_trans_where_2): Avoid updating unused current execution mask for empty WHERE/ELSEWHERE clauses. Don't allocate temporary mask arrays if they won't be used. From-SVN: r111303
2006-02-20trans-stmt.c (gfc_trans_where_assign): Remove code to handle traversing a ↵Roger Sayle2-27/+10
linked list of MASKs. * trans-stmt.c (gfc_trans_where_assign): Remove code to handle traversing a linked list of MASKs. The MASK is now always a single element requiring no ANDing during the assignment. From-SVN: r111301
2006-02-20tree.h (struct tree_memory_tag): Add is_used_alone member.Daniel Berlin9-10/+150
2006-02-20 Daniel Berlin <dberlin@dberlin.org> * tree.h (struct tree_memory_tag): Add is_used_alone member. (TMT_USED_ALONE): New macro. * tree-pass.h (PROP_tmt_usage): New property. (TODO_update_tmt_usage): New todo. * tree-ssa-alias.c (updating_used_alone): New variable. (recalculate_used_alone): New function. (compute_may_aliases): Set updating_used_alone, call recalculate_used_alone. * tree-sra.c (pass_sra): Note that this pass destroys PROP_tmt_usage, and add TODO_update_tmt_usage. * tree-ssa-forwprop.c (pass_forwprop): Ditto. * tree-flow.h (updating_used_alone): Prototype. (recalculate_used_alone): Ditto. * passes.c (execute_todo): Add code to set updating_used_alone, and call recalculate. * tree-ssa-operands.c (add_virtual_operand): Only append bare def for clobber if used alone, and add assert to verify used_alone status. From-SVN: r111300
2006-02-20s390.c (legitimize_pic_address): Assertions checking for non tls symbols added.Angel Nunez Mencias2-0/+19
2006-02-20 Angel Nunez Mencias <anunez@de.ibm.com> * config/s390/s390.c (legitimize_pic_address): Assertions checking for non tls symbols added. (legitimize_address): Do nothing for PLUS expressions if one of the addends is a tls symbol reference. From-SVN: r111296
2006-02-20re PR bootstrap/25670 (build fail with 'make all-gcc')Paolo Bonzini6-266/+414
2006-02-20 Paolo Bonzini <bonzini@gnu.org> PR bootstrap/25670 * Makefile.tpl ([+compare-target+]): Print explanation messages. * Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass. * Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass. (EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES, BUILD_PREFIX, BUILD_PREFIX_1. * configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute. * Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too. * Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too. * Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+], all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead of `cat stage_current`. Always provide the `r' and `s' variables. (clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into a single shell execution. (configure-[+prefix+][+module+], all-[+prefix+][+module+]): For bootstrapped modules, make the stage1 module if the build was not started yet, else build the current stage. (all-host, all-target): Omit bootstrapped modules (if bootstrapping). (all-build, all-host, all-target, [+make_target+]-host, [+make_target+]-target): Do not use \-continued lines. (target modules): Depend on stage_last, not all-gcc, if bootstrapping. (current_stage, restrap, stage_last): New. * Makefile.in: Regenerate. * configure: Regenerate. gcc: 2006-02-20 Paolo Bonzini <bonzini@gnu.org> PR bootstrap/25476 * Makefile.in (LDFLAGS): Define from autoconf substitution. * Makefile.in (BOOTSTRAPPING): New. (quickstrap): New definition if BOOTSTRAPPING=yes. * Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages. * configure.ac: Substitute all_selected_languages with the languages that were configured. For all the other variables except lang_specs_files, include all the languages in the tree. * configure: Regenerate. * Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory, if there is one. Run the commands to run fixincludes in the same subshell. * doc/makefile.texi: Document new makefile targets from toplevel bootstrap. * doc/install.texi: Document exact conventions for searching target tools. Document --with-build-time-tools. Document toplevel bootstrap. Document something more about building an Ada cross-compiler. Don't list GNU Make requirements which affect all platforms. From-SVN: r111295
2006-02-20re PR middle-end/19543 ([4.1 only] fortran LOGICAL*8 not consistently ↵Roger Sayle4-0/+35
distinguished from 32 bit integers) PR middle-end/19543 * varasm.c (compare_constant) <INTEGER_CST>: Integer constants are only equivalent if the have both the same mode and precision. * gfortran.dg/logical_1.f90: New test case. From-SVN: r111294
2006-02-20Daily bump.GCC Administrator1-1/+1
From-SVN: r111292
2006-02-20* doc/tree-ssa.texi (Interfaces): Describe low vs. high GIMPLE.Ben Elliston2-0/+9
From-SVN: r111286
2006-02-19gcse.c (want_to_gcse_p): On STACK_REGS targets...Roger Sayle6-0/+71
* gcse.c (want_to_gcse_p): On STACK_REGS targets, look through constant pool references to identify stack mode constants. * rtlanal.c (constant_pool_constant_p): New predicate to check whether operand is a floating point constant in the pool. * rtl.h (constant_pool_constant_p): Prototype here. * loop.c (scan_loop): Avoid hoisting constants from the constant pool on STACK_REGS targets. (load_mems): Likewise. * loop-invariant.c (get_inv_cost): Make hoisting constant pool loads into x87 registers expensive in terms of register pressure. Co-Authored-By: Steven Bosscher <stevenb.gcc@gmail.com> From-SVN: r111283
2006-02-19gthr-posix.h: On Tru64...Roger Sayle2-8/+42
* gthr-posix.h: On Tru64, map __gthr_foo as a weak reference to __foo and not foo when _PTHREAD_USE_MANGLED_NAMES_ is defined. From-SVN: r111282
2006-02-19re PR libfortran/21303 (L edit descriptor without a width)François-Xavier Coudert4-4/+116
PR libfortran/21303 * gfortran.h (notification): New enumeration. (gfc_notification_std): Prototype for the new function. * error.c (gfc_notification_std): New function. * io.c (check_format): Handle the case of a L format descriptor without a width. * runtime/error.c (notification_std): New function. * libgfortran.h (notification): New enumeration. * io/io.h (notification_std): Prototype for the new function. * io/format.c (parse_format_list): Handle the case of a L format descriptor without a width. * gcc/testsuite/gfortran.dg/fmt_l.f90: New test. From-SVN: r111281
2006-02-19gfortran.texi: Document environment variables which influence runtime behavior.Thomas Koenig2-3/+105
2006-02-19 Thomas Koenig <Thomas.Koenig@online.de> * gfortran.texi: Document environment variables which influence runtime behavior. From-SVN: r111280
2006-02-19re PR middle-end/26334 (ICE in lhd_set_decl_assembler_name)Jakub Jelinek2-0/+6
PR middle-end/26334 * gcc.dg/20060218-1.c: Moved to... * gcc.target/i386/20060218-1.c: ... here. New test. From-SVN: r111279
2006-02-19xcoff.h (TARGET_ASM_OUTPUT_ANCHOR): Define.David Edelsohn3-2/+19
* config/rs6000/xcoff.h (TARGET_ASM_OUTPUT_ANCHOR): Define. * config/rs6000/rs6000.c (rs6000_xcoff_asm_output_anchor): Define. From-SVN: r111275
2006-02-19invoke.texi: Document -fipa-pta.Daniel Berlin5-20/+62
2006-02-19 Daniel Berlin <dberlin@dberlin.org> * doc/invoke.texi: Document -fipa-pta. * common.opt: Add ipa-pta option. * tree-ssa-structalias.c (DONT_PROPAGATE_WITH_ANYTHING): Removed. (do_sd_constraint): Enable DONT_PROPAGATE_WITH_ANYTHING code. (do_ds_constraint): Ditto. (get_constraint_for): Only add to referenced_vars if referenced_vars exists. (insert_into_field_list): Rewrite to do this unsorted. (insert_into_field_list_sorted): Rename old insert_into_field_list to this. (create_function_info_for): Use insert_into_field_list_sorted. (create_variable_info_for): Rewrite so it uses unsorted version, since the field list is sorted. (intra_create_variable_infos): Only add to referenced_vars if referenced_vars exists. (ipa_pta_execute): Init heapvars, and delete when done. * passes.c (init_optimization_passes): Add call to pass_ipa_pta. From-SVN: r111273
2006-02-19install.texi: Add missing `@samp'.John David Anglin2-1/+5
* doc/install.texi: Add missing `@samp'. From-SVN: r111272
2006-02-19resolve.c (resolve_contained_functions): Call resolve_entries first.H.J. Lu2-4/+11
2006-02-19 H.J. Lu <hongjiu.lu@intel.com> * resolve.c (resolve_contained_functions): Call resolve_entries first. (resolve_types): Remove calls to resolve_entries and resolve_contained_functions. (gfc_resolve): Call resolve_contained_functions. From-SVN: r111271
2006-02-19re PR fortran/26201 (__convert_i4_i8 written to a module.)Erik Edelmann4-0/+28
fortran/ 2006-02-19 Erik Edelmann <eedelman@gcc.gnu.org> PR fortran/26201 * intrinsic.c (gfc_convert_type_warn): Call gfc_intrinsic_symbol() on the newly created symbol. testsuite/ 2006-02-19 Erik Edelmann <eedelman@gcc.gnu.org> PR fortran/26201 * gfortran.dg/convert_1.f90: New. From-SVN: r111270
2006-02-19re PR fortran/25054 (nonconstant bounds array cannot appear in a namelist)Paul Thomas6-49/+169
2005-02-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/25054 * resolve.c (is_non_constant_shape_array): New function. (resolve_fl_variable): Remove code for the new function and call it. (resolve_fl_namelist): New function. Add test for namelist array with non-constant shape, using is_non_constant_shape_array. (resolve_symbol): Remove code for resolve_fl_namelist and call it. PR fortran/25089 * match.c (match_namelist): Increment the refs field of an accepted namelist object symbol. * resolve.c (resolve_fl_namelist): Test namelist objects for a conflict with contained or module procedures. 2005-02-19 Paul Thomas <pault@gcc.gnu.org> PR fortran/25054 * gfortran.dg/namelist_5.f90: New test. PR fortran/25089 * gfortran.dg/namelist_4.f90: New test. From-SVN: r111268
2006-02-18darwin.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Use the arguments.Andrew Pinski2-1/+6
2006-02-18 Andrew Pinski <pinskia@physics.uc.edu> * config/rs6000/darwin.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Use the arguments. From-SVN: r111265
2006-02-19Daily bump.GCC Administrator1-1/+1
From-SVN: r111263
2006-02-19contrib.texi (Contributors): Add classpath/libgcj hackers who added new 4.1 ↵Mark Wielaard2-1/+209
features... * doc/contrib.texi (Contributors): Add classpath/libgcj hackers who added new 4.1 features, bug fixes and integration support. From-SVN: r111256
2006-02-18re PR target/26350 (ICE in extract_insn, at recog.c:2084, -fPIC ↵David Edelsohn2-0/+9
-mlong-double-128) PR target/26350 * config/rs6000/rs6000.md (extenddftf2): Force 0.0 to validized MEM for ABI_V4 pic. From-SVN: r111255
2006-02-18re PR target/9703 ([arm] Accessing data through constant pool more times ↵Richard Sandiford27-228/+1300
could be solved in less instructions) * cselib.c (cselib_init): Change RTX_SIZE to RTX_CODE_SIZE. * emit-rtl.c (copy_rtx_if_shared_1): Use shallow_copy_rtx. (copy_insn_1): Likewise. Don't copy each field individually. Reindent. * read-rtl.c (apply_macro_to_rtx): Use RTX_CODE_SIZE instead of RTX_SIZE. * reload1.c (eliminate_regs): Use shallow_copy_rtx. * rtl.c (rtx_size): Rename variable to... (rtx_code_size): ...this. (rtx_size): New function. (rtx_alloc_stat): Use RTX_CODE_SIZE instead of RTX_SIZE. (copy_rtx): Use shallow_copy_rtx. Don't copy each field individually. Reindent. (shallow_copy_rtx_stat): Use rtx_size instead of RTX_SIZE. * rtl.h (rtx_code_size): New variable. (rtx_size): Change from a variable to a function. (RTX_SIZE): Rename to... (RTX_CODE_SIZE): ...this. PR target/9703 PR tree-optimization/17106 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Document. (Anchored Addresses): New section. * doc/invoke.texi (-fsection-anchors): Document. * doc/rtl.texi (SYMBOL_REF_IN_BLOCK_P, SYMBOL_FLAG_IN_BLOCK): Likewise. (SYMBOL_REF_ANCHOR_P, SYMBOL_FLAG_ANCHOR): Likewise. (SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): Likewise. * hooks.c (hook_bool_mode_rtx_false): New function. * hooks.h (hook_bool_mode_rtx_false): Declare. * gengtype.c (create_optional_field): New function. (adjust_field_rtx_def): Add the "block_sym" field for SYMBOL_REFs when SYMBOL_REF_IN_BLOCK_P is true. * target.h (output_anchor, use_blocks_for_constant_p): New hooks. (min_anchor_offset, max_anchor_offset): Likewise. (use_anchors_for_symbol_p): New hook. * toplev.c (compile_file): Call output_object_blocks. (target_supports_section_anchors_p): New function. (process_options): Check that -fsection-anchors is only used on targets that support it and when -funit-at-a-time is in effect. * tree-ssa-loop-ivopts.c (prepare_decl_rtl): Only create DECL_RTL if the decl doesn't have one. * dwarf2out.c: Remove instantiations of VEC(rtx,gc). * expr.c (emit_move_multi_word, emit_move_insn): Pass the result of force_const_mem through use_anchored_address. (expand_expr_constant): New function. (expand_expr_addr_expr_1): Call it. Use the same modifier when calling expand_expr for INDIRECT_REF. (expand_expr_real_1): Pass DECL_RTL through use_anchored_address for all modifiers except EXPAND_INITIALIZER. Use expand_expr_constant. * expr.h (use_anchored_address): Declare. * loop-unroll.c: Don't declare rtx vectors here. * explow.c: Include output.h. (validize_mem): Call use_anchored_address. (use_anchored_address): New function. * common.opt (-fsection-anchors): New switch. * varasm.c (object_block_htab, anchor_labelno): New variables. (hash_section, object_block_entry_eq, object_block_entry_hash) (use_object_blocks_p, get_block_for_section, create_block_symbol) (use_blocks_for_decl_p, change_symbol_section): New functions. (get_variable_section): New function, split out from assemble_variable. (make_decl_rtl): Create a block symbol if use_object_blocks_p and use_blocks_for_decl_p say so. Use change_symbol_section if the symbol has already been created. (assemble_variable_contents): New function, split out from... (assemble_variable): ...here. Don't output any code for block symbols; just pass them to place_block_symbol. Use get_variable_section and assemble_variable_contents. (get_constant_alignment, get_constant_section, get_constant_size): New functions, split from output_constant_def_contents. (build_constant_desc): Create a block symbol if use_object_blocks_p says so. Or into SYMBOL_REF_FLAGS. (assemble_constant_contents): New function, split from... (output_constant_def_contents): ...here. Don't output any code for block symbols; just pass them to place_section_symbol. Use get_constant_section and get_constant_alignment. (force_const_mem): Create a block symbol if use_object_blocks_p and use_blocks_for_constant_p say so. Or into SYMBOL_REF_FLAGS. (output_constant_pool_1): Add an explicit alignment argument. Don't switch sections here. (output_constant_pool): Adjust call to output_constant_pool_1. Switch sections here instead. Don't output anything for block symbols; just pass them to place_block_symbol. (init_varasm_once): Initialize object_block_htab. (default_encode_section_info): Keep the old SYMBOL_FLAG_IN_BLOCK. (default_asm_output_anchor, default_use_aenchors_for_symbol_p) (place_block_symbol, get_section_anchor, output_object_block) (output_object_block_htab, output_object_blocks): New functions. * target-def.h (TARGET_ASM_OUTPUT_ANCHOR): New macro. (TARGET_ASM_OUT): Include it. (TARGET_USE_BLOCKS_FOR_CONSTANT_P): New macro. (TARGET_MIN_ANCHOR_OFFSET, TARGET_MAX_ANCHOR_OFFSET): New macros. (TARGET_USE_ANCHORS_FOR_SYMBOL_P): New macro. (TARGET_INITIALIZER): Include them. * rtl.c (rtl_check_failed_block_symbol): New function. * rtl.h: Include vec.h. Declare heap and gc rtx vectors. (block_symbol, object_block): New structures. (rtx_def): Add a block_symbol field to the union. (BLOCK_SYMBOL_CHECK): New macro. (rtl_check_failed_block_symbol): Declare. (SYMBOL_FLAG_IN_BLOCK, SYMBOL_FLAG_ANCHOR): New SYMBOL_REF flags. (SYMBOL_REF_IN_BLOCK_P, SYMBOL_REF_ANCHOR_P): New predicates. (SYMBOL_FLAG_MACH_DEP_SHIFT): Bump by 2. (SYMBOL_REF_BLOCK, SYMBOL_REF_BLOCK_OFFSET): New accessors. * output.h (output_section_symbols): Declare. (object_block): Name structure. (place_section_symbol, get_section_anchor, default_asm_output_anchor) (default_use_anchors_for_symbol_p): Declare. * Makefile.in (RTL_BASE_H): Add vec.h. (explow.o): Depend on output.h. * config/rs6000/rs6000.c (TARGET_MIN_ANCHOR_OFFSET): Override default. (TARGET_MAX_ANCHOR_OFFSET): Likewise. (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise. (rs6000_use_blocks_for_constant_p): New function. From-SVN: r111254
2006-02-18install.texi (hppa*-hp-hpux*): Update for 4.1.0.John David Anglin2-0/+15
* doc/install.texi (hppa*-hp-hpux*): Update for 4.1.0. From-SVN: r111253
2006-02-18re PR tree-optimization/25680 (Store CCP does not understand REALPART_EXPR < ↵Andrew Pinski4-5/+39
COMPLEX_CST >) 2006-02-18 Andrew Pinski <pinskia@physics.uc.edu> PR tree-opt/25680 * tree-ssa-ccp.c (ccp_fold): Handle store CCP of REALPART_EXPR and IMAGPART_EXPR. 2006-02-18 Andrew Pinski <pinskia@physics.uc.edu> PR tree-opt/25680 * testsuite/gcc.dg/tree-ssa/complex-3.c: New test. From-SVN: r111251
2006-02-1820031106-1.c: Fix the final scan of the variable to take into account the ↵Andrew Pinski3-4/+11
variable name in... 2006-02-18 Andrew Pinski <pinskia@physics.uc.edu> * gcc.dg/tree-ssa/20031106-1.c: Fix the final scan of the variable to take into account the variable name in the function header. * gcc.dg/tree-ssa/20031106-2.c: Likewise. From-SVN: r111250
2006-02-18tree-flow.h (struct var_ann_d): Rename field is_alias_tag to is_aliased.Diego Novillo6-19/+25
* tree-flow.h (struct var_ann_d): Rename field is_alias_tag to is_aliased. Update all users. From-SVN: r111249
2006-02-18re PR middle-end/26334 (ICE in lhd_set_decl_assembler_name)Jakub Jelinek5-3/+48
PR middle-end/26334 * stmt.c (decl_overlaps_hard_reg_set_p): Use DECL_HARD_REGISTER instead of DECL_REGISTER. * gcc.c-torture/compile/20060217-1.c: New test. * gcc.dg/20060218-1.c: New test. From-SVN: r111247
2006-02-18trans-stmt.c (struct temporary_list): Delete.Roger Sayle2-176/+136
* trans-stmt.c (struct temporary_list): Delete. (gfc_trans_where_2): Major reorganization. Remove no longer needed TEMP argument. Allocate and deallocate the control mask and pending control mask locally. (gfc_trans_forall_1): Delete TEMP local variable, and update call to gfc_trans_where_2. No need to deallocate arrays after. (gfc_evaluate_where_mask): Major reorganization. Change return type to void. Pass in parent execution mask, MASK, and two already allocated mask arrays CMASK and PMASK. On return CMASK := MASK & COND, PMASK := MASK & !COND. MASK, CMASK and CMASK may all be NULL, or refer to the same temporary arrays. (gfc_trans_where): Update call to gfc_trans_where_2. We no longer need a TEMP variable or to deallocate temporary arrays allocated by gfc_trans_where_2. From-SVN: r111245
2006-02-18re PR ada/13408 (acats numeric tests cxg* fail on pa/hpux)Olivier Hainque2-0/+10
PR ada/13408 * pa.h (WIDEST_HARDWARE_FP_SIZE): Define. From-SVN: r111241
2006-02-18gfortran.h (gfc_add_attribute): Change uint to unsigned int.Danny Smith4-3/+10
2006-02-18 Danny Smith <dannysmith@users.sourceforeg.net> * gfortran.h (gfc_add_attribute): Change uint to unsigned int. * symbol.c (gfc_add_attribute): Likewise for definition. * resolve.c (resolve_global_procedure): Likewise for variable 'type'. From-SVN: r111239
2006-02-18re PR target/24837 (move dynamic linker names out of LINK_SPEC and into new ↵Joseph Myers29-80/+276
DYNAMIC_LINKER) PR target/24837 * config.gcc: Define UCLIBC_DEFAULT to 0 or 1. * opth-gen.awk: Handle Var and InverseMask together. * config/linux.opt (muclibc, mglibc): Use Var(linux_uclibc). * config/linux.h: Use #if not #ifdef for testing UCLIBC_DEFAULT. (TARGET_C99_FUNCTIONS): Test OPTION_GLIBC not TARGET_GLIBC. (CHOOSE_DYNAMIC_LINKER): Give an error for -mglibc and -muclibc used together. (UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define. * config/alpha/linux-elf.h (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER): Define. (ELF_DYNAMIC_LINKER): Define to LINUX_DYNAMIC_LINKER. * config/alpha/linux.h (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC. * config/cris/linux.h (GLIBC_DYNAMIC_LINKER): Define. (CRIS_LINK_SUBTARGET_SPEC): Pass a -dynamic-linker option. * config/frv/linux.h (GLIBC_DYNAMIC_LINKER): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. (TARGET_C99_FUNCTIONS): Don't define. * config/i386/linux.h (DYNAMIC_LINKER): Rename to GLIBC_DYNAMIC_LINKER. (SUBTARGET_EXTRA_SPECS): Use LINUX_DYNAMIC_LINKER. * config/i386/linux64.h (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and LINUX_DYNAMIC_LINKER64. * config/ia64/linux.h (GLIBC_DYNAMIC_LINKER): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * config/m32r/linux.h (GLIBC_DYNAMIC_LINKE): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * config/m68k/linux.h (GLIBC_DYNAMIC_LINKER): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKERN32): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKER64 and LINUX_DYNAMIC_LINKER32. * config/mn10300/linux.h (GLIBC_DYNAMIC_LINKER): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * config/pa/pa-linux.h (GLIBC_DYNAMIC_LINKER): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC. * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Likewise. (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64, CHOOSE_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define. (LINK_OS_LINUX_SPEC32): Use LINUX_DYNAMIC_LINKER32. (LINK_OS_LINUX_SPEC64): Use LINUX_DYNAMIC_LINKER64. * config/rs6000/sysv4.h (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER): Define. (LINK_OS_LINUX_SPEC): Use LINUX_DYNAMIC_LINKE. * config/s390/linux.h (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and LINUX_DYNAMIC_LINKER64. * config/sh/linux.h (GLIBC_DYNAMIC_LINKER): Define. (SUBTARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * config/sparc/linux.h (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC. * config/sparc/linux64.h (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64, CHOOSE_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define. (LINK_ARCH32_SPEC): Use LINUX_DYNAMIC_LINKER32. (LINK_ARCH64_SPEC, LINK_SPEC): Use LINUX_DYNAMIC_LINKER64. (TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC. * config/xtensa/linux.h (GLIBC_DYNAMIC_LINKER): Define. (LINK_SPEC): Use LINUX_DYNAMIC_LINKER. * doc/invoke.texi (-muclibc): Remove caveat about supported targets. testsuite: * gcc.dg/glibc-uclibc-1.c, gcc.dg/glibc-uclibc-2.c: New tests. From-SVN: r111235
2006-02-18cpp.texi (__TIMESTAMP__): Document.Grigory Zagorodnev3-0/+20
2006-02-17 Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com> gcc/ChangeLog: * doc/cpp.texi (__TIMESTAMP__): Document. libcpp/ChangeLog: * macro.c (_cpp_builtin_macro_text): Handle BT_TIMESTAMP. * files.c (_cpp_get_file_stat): New function. * include/cpplib.h (builtin_type): Add BT_TIMESTAMP. * init.c (builtin_array): Add support for __TIMESTAMP__/BT_TIMESTAMP. * internal.h (_cpp_get_file_stat): Prototype. (struct cpp_buffer): Add timestamp. gcc/testsuite/ChangeLog: * gcc.dg/cpp/undef3.c: New test. * gcc.dg/cpp/trad/builtins2.c: New test. From-SVN: r111232
2006-02-18re PR c++/26266 (Trouble with static const data members in template classes)Mark Mitchell2-1/+2
PR c++/26266 * g++.dg/template/static22.C: New test. * g++.dg/template/static23.C: New test. * g++.dg/template/static24.C: New test. * g++.dg/template/non-dependent13.C: New test. * g++.dg/init/member1.C: Tweak error markers. From-SVN: r111230
2006-02-18re PR c++/26266 (Trouble with static const data members in template classes)Mark Mitchell17-75/+190
PR c++/26266 * cp-tree.h (cp_finish_decl): Adjust declaration. (grokbitfield): Likewise. (finish_static_data_member_decl): Likewise. * init.c (constant_value_1): Ensure processing_template_decl when folding non-dependent initializers for static data members of dependent types. Return error_mark_node for erroneous initailizers. * class.c (get_vtable_decl): Use finish_decl, not cp_finish_decl. * decl.c (cp_make_fname_decl): Adjust call to cp_finish_decl. (cp_finish_decl): Add init_const_expr_p parameter. Set DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P here. (finish_decl): Adjust call to cp_finish_decl. (compute_array_index_type): Robustify. (start_method): Use finish_decl, not cp_finish_decl. * rtti.c (emit_tinfo_decl): Likewise. * except.c (initialize_handler_parm): Adjust call to cp_finish_decl. (expand_start_catch_block): Likewise. * cvt.c (build_up_reference): Adjust call to cp_finish_decl. * pt.c (instantiate_class_template): Adjust call to finish_static_data_member_decl. (tsubst_expr): Use finish_decl, not cp_finish_decl. (instantiate_decl): Adjust call to cp_finish_decl. * name-lookup.c (pushdecl_top_level_1): Use finish_decl, not cp_finish_decl. * decl2.c (finish_static_data_member_decl): Add init_const_expr_p parameter. (grokfield): Likewise. * parser.c (cp_parser_condition): Check for constant initializers. (cp_parser_init_declarator): Adjust calls to grokfield and cp_finish_decl. Don't set DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P here. (cp_parser_member_declaration): Likewise. (cp_parser_objc_class_ivars): Likewise. PR c++/26266 * g++.dg/template/static22.C: New test. * g++.dg/template/static23.C: New test. * g++.dg/template/static24.C: New test. * g++.dg/template/non-dependent13.C: New test. From-SVN: r111229
2006-02-18re PR rtl-optimization/25600 (unsigned>>31?-1:0 should be optimized to int>>31)Roger Sayle3-0/+47
PR middle-end/25600 * fold-const.c (fold_binary): Fold (X >> C) != 0 into X < 0 when C is one less than the width of X (and related transformations). * simplify_rtx.c (simplify_unary_operation_1): Transform (neg (lt x 0)) into either (ashiftrt X C) or (lshiftrt X C) depending on STORE_FLAG_VALUE, were C is one less then the width of X. From-SVN: r111226
2006-02-18Daily bump.GCC Administrator1-1/+1
From-SVN: r111223
2006-02-18re PR tree-optimization/26341 (930217-1.c and 931013-3.c ICE at -O2 and ↵Daniel Berlin2-12/+8
above in add_virtual_operand) 2006-02-17 Daniel Berlin <dberlin@dberlin.org> Fix PR tree-optimization/26341 * tree-ssa-operands.c (add_virtual_operand): Remove assert about NAME_MEMORY_TAG's. From-SVN: r111217
2006-02-17re PR target/26255 (internal compiler error: in ↵John David Anglin5-11/+123
reload_cse_simplify_operands, at postreload.c:391) PR target/26255 * pa.md: Create separate HI and QI move patterns for 32-bit and 64-bit with hardware float support, and software float support. Add fcpy alternative to hardware patterns. Add alternatives to copy between general and floating-point registers to the 32-bit pattern. * pa.c (pa_secondary_reload): Don't abort if reload tries to find a secondary reload to load a QI or HI mode constant into a floating point register. * pa32-regs.h (VALID_FP_MODE_P): Allow QImode and HImode. * pa64-regs.h (VALID_FP_MODE_P): Likewise. From-SVN: r111214
2006-02-17re PR target/26255 (internal compiler error: in ↵John David Anglin2-0/+36
reload_cse_simplify_operands, at postreload.c:391) PR target/26255 * gcc.c-torture/compile/pr26255.c: New test case. From-SVN: r111213
2006-02-17re PR rtl-optimization/26272 (gcc.c-torture/execute/built-in-setjmp.c fails ↵Andrew Pinski2-3/+11
at -O2 and above on powerpc-darwin) 2006-02-17 Andrew Pinski <pinskia@physics.uc.edu> PR target/26272 * config/rs6000/darwin.md (load_macho_picbase_si): Add pc to the pattern. (load_macho_picbase_di): Likewise. From-SVN: r111206
2006-02-17where_10.f90: New test case.Roger Sayle8-0/+144
* gfortran.fortran-torture/execute/where_10.f90: New test case. * gfortran.fortran-torture/execute/where_11.f90: Likewise. * gfortran.fortran-torture/execute/where_12.f90: Likewise. * gfortran.fortran-torture/execute/where_13.f90: Likewise. * gfortran.fortran-torture/execute/where_14.f90: Likewise. * gfortran.fortran-torture/execute/where_15.f90: Likewise. * gfortran.fortran-torture/execute/where_16.f90: Likewise. From-SVN: r111204
2006-02-17Resync.Arnaud Charlet1-0/+175
From-SVN: r111200
2006-02-17expander.adb: Fix typo in commentRamon Fernandez4-8/+19
2006-02-17 Ramon Fernandez <fernandez@adacore.com> Thomas Quinot <quinot@adacore.com> Robert Dewar <dewar@adacore.com> Javier Miranda <miranda@adacore.com> * expander.adb: Fix typo in comment * exp_pakd.adb: Fix typo Minor comment reformatting. * g-dyntab.adb: Minor reformatting * exp_ch6.adb (Register_Interface_DT_Entry): Traverse the list of aliased subprograms to look for the abstract interface subprogram. From-SVN: r111199
2006-02-17s-wchcnv.adb: Document handling of [ on output (we do not change this to ↵Robert Dewar2-2/+20
["5B"] and the new... 2006-02-17 Robert Dewar <dewar@adacore.com> * s-wchcnv.adb: Document handling of [ on output (we do not change this to ["5B"] and the new comments say why not. * gnat_ugn.texi: Add note for -gnatVo that this now includes the cases of type conversions and qualified expressions. Add comments on handling of brackets encoding for Text_IO From-SVN: r111198
2006-02-17a-convec.ads, [...]: (operator "&"): handle potential overflow for large ↵Matthew Heaney4-317/+522
index types 2006-02-17 Matthew Heaney <heaney@adacore.com> * a-convec.ads, a-convec.adb: (operator "&"): handle potential overflow for large index types (Insert): removed Contraint_Error when using large index types (Insert_Space): removed Constraint_Error for large index types (Length): moved constraint check from Length to Insert * a-coinve.ads, a-coinve.adb: Stream attribute procedures are declared as not null access. Explicit raise statements now include an exception message. (operator "&"): handle potential overflow for large index types (Insert): removed Contraint_Error when using large index types (Insert_Space): removed Constraint_Error for large index types (Length): moved constraint check from Length to Insert From-SVN: r111197
2006-02-17snames.ads, snames.adb: New standard names for new project attributes...Vincent Celier2-65/+111
2006-02-17 Vincent Celier <celier@adacore.com> * snames.ads, snames.adb: New standard names for new project attributes: archive_builder, archive_indexer, compiler_pic_option, config_body_file_name, config_body_file_name_pattern, config_file_switches, config_file_unique, config_spec_file_name, config_spec_file_name_pattern, default_builder_switches, default_global_compiler_switches, default_language, dependency_file_kind, global_compiler_switches, include_path, include_path_file, language_kind, linker_executable_option, linker_lib_dir_option, linker_lib_name_option, mapping_file_switches, roots, runtime_project. From-SVN: r111196
2006-02-17sem_res.adb (Resolve_Type_Conversion): In case of conversion to an abstract ↵Javier Miranda1-37/+24
interface type... 2006-02-17 Javier Miranda <miranda@adacore.com> * sem_res.adb (Resolve_Type_Conversion): In case of conversion to an abstract interface type, the static analysis is not enough to know if the interface is implemented or not by the source tagged type. Hence we must pass the work to the expander to generate the required code to evaluate the conversion at run-time. (Resolve_Equality_Op): Do not apply previous transformation if expansion is disasbled, to prevent anomalies when locating global references in a generic unit. From-SVN: r111195
2006-02-17sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order to inline ↵Ed Schonberg1-9/+16
a function that returns an... 2006-02-17 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Build_Body_To_Inline): Enforce the rule that in order to inline a function that returns an unconstrained type, the return expression must be the first variable declared in the body of the function. From-SVN: r111194