summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* re PR target/39856 (ICE in subst_stack_regs_pat, at reg-stack.c:1386)Vladimir Makarov2009-05-222-11/+19
| | | | | | | | | | 2009-05-22 Vladimir Makarov <vmakarov@redhat.com> PR target/39856 * reg-stack.c (subst_stack_regs_pat): Remove gcc_assert for note for clobber. From-SVN: r147804
* win32.S (_ffi_closure_STDCALL): New function.Dave Korn2009-05-222-0/+100
| | | | | | | * src/x86/win32.S (_ffi_closure_STDCALL): New function. (.eh_frame): Add FDE for it. From-SVN: r147802
* configure.ac: Also check if assembler supports pc-relative relocs on ↵Dave Korn2009-05-224-16/+213
| | | | | | | | | | | | | | | | | X86_WIN32 targets. * configure.ac: Also check if assembler supports pc-relative relocs on X86_WIN32 targets. * configure: Regenerate. * src/x86/win32.S (ffi_prep_args): Declare extern, not global. (_ffi_call_SYSV): Add missing function type symbol .def and add EH markup labels. (_ffi_call_STDCALL): Likewise. (_ffi_closure_SYSV): Likewise. (_ffi_closure_raw_SYSV): Likewise. (.eh_frame): Add hand-crafted EH data. From-SVN: r147800
* tree.c (handle_dll_attribute): Mark dllexport'd inlines as non-external.Mark Mitchell2009-05-2212-3/+253
| | | | | | | | | | | | | | | | | | | | gcc/ * tree.c (handle_dll_attribute): Mark dllexport'd inlines as non-external. gcc/cp * decl2.c (decl_needed_p): Consider dllexport'd functions needed. * semantics.c (expand_or_defer_fn): Similarly. gcc/testsuite/ * gcc.dg/dll-6.c: New test. * gcc.dg/dll-6a.c: Likewise. * gcc.dg/dll-7.c: Likewise. * gcc.dg/dll-7a.c: Likewise. * g++.dg/ext/dllexport2.C: Likewise. * g++.dg/ext/dllexport2a.cc: Likewise. From-SVN: r147799
* re PR bootstrap/40221 (Powerpc bootstrap is broken in building libstdc++)Benjamin Kosnik2009-05-222-2/+7
| | | | | | | | | 2009-05-21 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/40221 * include/tr1_impl/functional: Add explicit cast. From-SVN: r147794
* re PR fortran/40195 (Cannot unlink existing module file)François-Xavier Coudert2009-05-222-19/+28
| | | | | | | PR fortran/40195 * module.c (read_md5_from_module_file): Close file before returning. From-SVN: r147793
* Makefile.in (bversion.h, s-bversion): New targets.Ben Elliston2009-05-223-2/+20
| | | | | | | | | | | * Makefile.in (bversion.h, s-bversion): New targets. (TOPLEV_H): Add bversion.h. * toplev.h: Include "bversion.h". (ATTRIBUTE_GCC_DIAG): When building with checking disabled, use the __format__ attribute only if compiling with the same version of GCC as the sources (the "build version"). From-SVN: r147792
* * c-format.c (handle_format_attribute): Fix comment typo.Ben Elliston2009-05-222-1/+5
| | | | From-SVN: r147790
* re PR libstdc++/40094 (FAIL: ext/throw_allocator/deallocate_global.cc ↵Paolo Carlini2009-05-221-0/+0
| | | | | | | | | | | | | | | | | | | | | execution test) 2009-05-21 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/40094 Revert: 2009-05-07 Paolo Carlini <paolo.carlini@oracle.com> * include/ext/throw_allocator.h (throw_allocator_base): Avoid out of line member functions definitions. (throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label): Remove, use static locals instead. (throw_allocator_base::do_check_allocated, print_to_string): Declare. * src/throw_allocator.cc: New. * src/Makefile.am: Add. * config/abi/pre/gnu.ver: Add exports. * src/Makefile.in: Regenerate. From-SVN: r147789
* re PR libstdc++/40094 (FAIL: ext/throw_allocator/deallocate_global.cc ↵Paolo Carlini2009-05-227-221/+225
| | | | | | | | | | | | | | | | | | | | | execution test) 2009-05-21 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/40094 Revert: 2009-05-07 Paolo Carlini <paolo.carlini@oracle.com> * include/ext/throw_allocator.h (throw_allocator_base): Avoid out of line member functions definitions. (throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label): Remove, use static locals instead. (throw_allocator_base::do_check_allocated, print_to_string): Declare. * src/throw_allocator.cc: New. * src/Makefile.am: Add. * config/abi/pre/gnu.ver: Add exports. * src/Makefile.in: Regenerate. From-SVN: r147788
* Daily bump.GCC Administrator2009-05-221-1/+1
| | | | From-SVN: r147786
* re PR target/37846 (Option -mno-fused-madd should be supported on IA-64)Steve Ellcey2009-05-215-0/+200
| | | | | | | | | | PR target/37846 * gcc.target/ia64/mfused-madd-vect.c: New test. * gcc.target/ia64/mfused-madd.c: New test. * gcc.target/ia64/mno-fused-madd-vect.c: New test. * gcc.target/ia64/mno-fused-madd.c: New test. From-SVN: r147783
* re PR target/37846 (Option -mno-fused-madd should be supported on IA-64)Steve Ellcey2009-05-216-22/+51
| | | | | | | | | | | | | | | | | PR target/37846 * config/ia64/ia64.opt (mfused-madd): New. * config/ia64/ia64.h (TARGET_DEFAULT): Set MASK_FUSED_MADD. * config/ia64/hpux.h (TARGET_DEFAULT): Ditto. * config/ia64/ia64.md (maddsf4, msubsf4, nmaddsf4, madddf4, madddf4_trunc, msubdf4, msubdf4_trunc, nmadddf4, nmadddf4_truncsf, maddxf4, maddxf4_truncsf, maddxf4_truncdf, msubxf4, msubxf4_truncsf msubxf4_truncdf, nmaddxf4, nmaddxf4_truncsf, nmaddxf4_truncdf): Check TARGET_FUSED_MADD. * config/ia64/vect.md (addv2sf3, subv2sf3): Force fpma/fpms instruction if !TARGET_FUSED_MADD. (fpma, fpms): Remove colon from name. From-SVN: r147782
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record TMR_ORIGINAL.Richard Guenther2009-05-215-11/+82
| | | | | | | | | | | | | | 2009-05-22 Richard Guenther <rguenther@suse.de> * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record TMR_ORIGINAL. Always either record TMR_SYMBOL or TMR_BASE. * tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle TARGET_MEM_REF. (create_expression_by_pieces): Only convert if necessary. * gimplify.c (gimplify_expr): Handle TARGET_MEM_REF. * tree-ssa-loop-im.c (gen_lsm_tmp_name): Handle INTEGER_CST. From-SVN: r147779
* mips.md (*extzv_trunc<mode>_exts): Turn into a regular pattern from a ↵Adam Nemet2009-05-212-4/+10
| | | | | | | | | | template and rename it ... * config/mips/mips.md (*extzv_trunc<mode>_exts): Turn into a regular pattern from a template and rename it ... (*extzv_truncsi_exts): ... to this. From-SVN: r147778
* cgraph.h (struct cgraph_node): Remove inline_decl member.Richard Guenther2009-05-213-12/+9
| | | | | | | | | | | 2009-05-21 Richard Guenther <rguenther@suse.de> * cgraph.h (struct cgraph_node): Remove inline_decl member. * ipa-inline.c (cgraph_mark_inline_edge): Do not check it. (cgraph_default_inline_p): Likewise. (cgraph_decide_inlining_incrementally): Likewise. From-SVN: r147776
* * MAINTAINERS: Update my e-mail address.Denis Chertykov2009-05-212-1/+5
| | | | From-SVN: r147775
* cpuid.h (bit_MOVBE): New.H.J. Lu2009-05-2111-10/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2009-05-21 H.J. Lu <hongjiu.lu@intel.com> Uros Bizjak <ubizjak@gmail.com> * config/i386/cpuid.h (bit_MOVBE): New. * config/i386/driver-i386.c (host_detect_local_cpu): Check movbe. * config/i386/i386.c (OPTION_MASK_ISA_MOVBE_SET): New. (OPTION_MASK_ISA_MOVBE_UNSET): Likewise. (ix86_handle_option): Handle OPT_mmovbe. (ix86_target_string): Add -mmovbe. (pta_flags): Add PTA_MOVBE. (processor_alias_table): Add PTA_MOVBE to "atom". (override_options): Handle PTA_MOVBE. * config/i386/i386.h (TARGET_MOVBE): New. * config/i386/i386.md (bswapsi2): Check TARGET_MOVBE. (*bswapsi_movbe): New. (*bswapdi_movbe): Likewise. (bswapdi2): Renamed to ... (*bswapdi_1): This. (bswapdi2): New expander. * config/i386/i386.opt (mmovbe): New. * doc/invoke.texi: Document -mmovbe. gcc/testsuite/ 2009-05-21 H.J. Lu <hongjiu.lu@intel.com> * gcc.target/i386/movbe-1.c: New. * gcc.target/i386/movbe-2.c: Likewise. From-SVN: r147773
* plugin.c (try_init_one_plugin): Updated to new plugin_init API.Taras Glek2009-05-219-39/+76
| | | | | | | | | | | | | | | | gcc/ChangeLog * plugin.c (try_init_one_plugin): Updated to new plugin_init API. * gcc-plugin.h (plugin_init): Updated signature. * gcc-plugin.h (plugin_name_args): Moved to this header. * doc/plugins.texi (plugin_init): Updated documention to reflect API change. * doc/plugins.texi (plugin_name_args): Added to documention. gcc/testsuite/ChangeLog * gcc.dg/plugin/selfassign.c (plugin_init): Updated to new plugin_init signature. * g++.dg/plugin/selfassign.c (plugin_init): Updated to new plugin_init signature. * g++.dg/plugin/dumb_plugin.c (plugin_init): Updated to new plugin_init signature. * g++.dg/plugin/attribute_plugin.c (plugin_init): Updated to new plugin_init signature. From-SVN: r147772
* neon.md (*mul<mode>3add<mode>_neon): New pattern.Mark Mitchell2009-05-215-0/+74
| | | | | | | | | | * config/arm/neon.md (*mul<mode>3add<mode>_neon): New pattern. (*mul<mode>3neg<mode>add<mode>_neon): Likewise. * gcc.dg/target/arm/neon-vmla-1.c: New. * gcc.dg/target/arm/neon-vmls-1.c: Likewise. From-SVN: r147771
* configure.ac (cygwin noconfigdirs): Remove libgcj.Dave Korn2009-05-213-2/+7
| | | | | | | * configure.ac (cygwin noconfigdirs): Remove libgcj. * configure: Regenerate. From-SVN: r147770
* i386.c: Use REG_P...Shujing Zhao2009-05-214-13/+18
| | | | | | | | | | | 2009-05-21 Shujing Zhao <pearly.zhao@oracle.com> * config/i386/i386.c: Use REG_P, MEM_P, CONST_INT_P, LABEL_P and JUMP_TABLE_DATA_P predicates where applicable. * config/i386/predicates.md: Ditto. * config/i386/sse.md: Ditto. From-SVN: r147769
* i386.md (adddi_4_rex64, [...]): For operand2 -128 override length_immediate ↵Jakub Jelinek2009-05-213-0/+24
| | | | | | | | | | attribute to 1. * config/i386/i386.md (adddi_4_rex64, addsi_4, addhi_4): For operand2 -128 override length_immediate attribute to 1. * config/i386/predicates.md (constm128_operand): New predicate. From-SVN: r147767
* i386.c (memory_address_length): Handle %r12 the same as %rsp and %r13 the ↵Jakub Jelinek2009-05-214-161/+519
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | same as %rbp. * config/i386/i386.c (memory_address_length): Handle %r12 the same as %rsp and %r13 the same as %rbp. For %rsp and %rbp also check REGNO. (ix86_attr_length_address_default): For MODE_SI lea in 64-bit mode look through optional ZERO_EXTEND and SUBREG. * config/i386/i386.md (R12_REG): New define_constant. (prefix_data16): For sse unit set also for MODE_TI insns. (prefix_rex): For -m32 always return 0. For TYPE_IMOVX insns set if operand 1 is ext_QIreg_operand. (modrm): For TYPE_IMOV clear only if not MODE_DI. For TYPE_{ALU{,1},ICMP,TEST} insn clear if there is non-shortened immediate. (*movdi_extzv_1, zero_extendhidi2, zero_extendqidi2): Change mode from MODE_DI to MODE_SI. (movdi_1_rex64): Override modrm and length_immediate attributes only for movabs (TYPE_IMOV, alternative 2). (zero_extendsidi2_rex64): Clear prefix_0f attribute if TYPE_IMOVX. (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit, *float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit, *float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit, *float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Set prefix_rex attribute if DImode. (*adddi_1_rex64, *adddi_2_rex64, *adddi_3_rex64, *adddi_5_rex64, *addsi_1, *addsi_1_zext, *addsi_2, *addsi_2_zext, *addsi_3, *addsi_3_zext, *addsi_5, *addhi_1_lea, *addhi_1, *addhi_2, *addhi_3, *addhi_5, *addqi_1_lea, *addqi_1): Override length_immediate attribute to 1 if TYPE_ALU and operand 2 is const128_operand. (pro_epilogue_adjust_stack_1, pro_epilogue_adjust_stack_rex64): Likewise. For TYPE_IMOV clear length_immediate attribute. (*ashldi3_1_rex64, *ashldi3_cmp_rex64, *ashldi3_cconly_rex64, *ashlsi3_1, *ashlsi3_1_zext, *ashlsi3_cmp, **ashlsi3_cconly, *ashlsi3_cmp_zext, *ashlhi3_1_lea, *ashlhi3_1, *ashlhi3_cmp, *ashlhi3_cconly, *ashlqi3_1_lea, *ashlqi3_1, *ashlqi3_cmp, *ashlqi3_cconly): Override length_immediate attribute to 0 if TYPE_ALU or one operand TYPE_ISHIFT. (*ashrdi3_1_one_bit_rex64, *ashrdi3_one_bit_cmp_rex64, *ashrdi3_one_bit_cconly_rex64, *ashrsi3_1_one_bit, *ashrsi3_1_one_bit_zext, *ashrsi3_one_bit_cmp, *ashrsi3_one_bit_cconly, *ashrsi3_one_bit_cmp_zext, *ashrhi3_1_one_bit, *ashrhi3_one_bit_cmp, *ashrhi3_one_bit_cconly, *ashrqi3_1_one_bit, *ashrqi3_1_one_bit_slp, *ashrqi3_one_bit_cmp, *ashrqi3_one_bit_cconly, *lshrdi3_1_one_bit_rex64, *lshrdi3_cmp_one_bit_rex64, *lshrdi3_cconly_one_bit_rex64, *lshrsi3_1_one_bit, *lshrsi3_1_one_bit_zext, *lshrsi3_one_bit_cmp, *lshrsi3_one_bit_cconly, *lshrsi3_cmp_one_bit_zext, *lshrhi3_1_one_bit, *lshrhi3_one_bit_cmp, *lshrhi3_one_bit_cconly, *lshrqi3_1_one_bit, *lshrqi3_1_one_bit_slp, *lshrqi2_one_bit_cmp, *lshrqi2_one_bit_cconly, *rotlsi3_1_one_bit_rex64, *rotlsi3_1_one_bit, *rotlsi3_1_one_bit_zext, *rotlhi3_1_one_bit, *rotlqi3_1_one_bit_slp, *rotlqi3_1_one_bit, *rotrdi3_1_one_bit_rex64, *rotrsi3_1_one_bit, *rotrsi3_1_one_bit_zext, *rotrhi3_one_bit, *rotrqi3_1_one_bit, *rotrqi3_1_one_bit_slp): Override length_immediate attribute to 0, set mode attribute, don't override length attribute. (*btsq, *btrq, *btcq, *btdi_rex64, *btsi): Set prefix_0f attribute to 1. (return_internal_long): Set length attribute to 2 instead of 1. (*strmovqi_rex_1, *strsetqi_rex_1, *rep_stosqi_rex64, *cmpstrnqi_nz_rex_1, *cmpstrnqi_rex_1, *strlenqi_rex_1): Clear prefix_rex attribute. * config/i386/predicates.md (ext_QIreg_operand, const128_operand): New predicates. (memory_displacement_only_operand): Always return 0 for TARGET_64BIT. From-SVN: r147763
* thumb2.md (orsi_notsi_si): Fix typo in pattern.Ramana Radhakrishnan2009-05-212-1/+5
| | | | | | | | 2009-05-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/arm/thumb2.md (orsi_notsi_si): Fix typo in pattern. From-SVN: r147761
* tree.c (build_tree_list_vec_stat): New function.Ian Lance Taylor2009-05-2125-724/+1408
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ./: * tree.c (build_tree_list_vec_stat): New function. (ctor_to_vec): New function. (build_nt_call_vec): New function. (build_call_array): Change args to be a const pointer. (build_call_vec): New function. * tree.h (build_nt_call_vec): Declare. (build_tree_list_vec_stat): Declare. (build_tree_list_vec): Define. (build_call_array): Update declaration. (build_call_vec): Declare. (ctor_to_vec): Declare. * c-common.c (tree_vector_cache): New static variable. (make_tree_vector): New function. (release_tree_vector): New function. (make_tree_vector_single): New function. (make_tree_vector_copy): New function. * c-common.h (tree_vector_cache, make_tree_vector): Declare. (make_tree_vector_single, make_tree_vector_copy): Declare. * c-parser.c (cached_expr_list_1, cached_expr_list_2): Remove. (c_parser_expr_list): Don't manage cache here, instead call make_tree_vector. (c_parser_release_expr_list): Remove static function. (c_parser_vec_to_tree_list): Remove static function. (c_parser_attributes): Call build_tree_list_vec instead of c_parser_vec_to_tree_list. Call release_tree_vector instead of c_parser_release_expr_list. (c_parser_postfix_expression_after_primary): Likewise. (c_parser_objc_keywordexpr): Likewise. cp/: * parser.c (cp_parser_postfix_expression): Change args to a vec. Release it when done. (tree_vector): Define typedef. Define VEC functions. (cp_parser_parenthesized_expression_list): Change return type to vec. Change all callers. (cp_parser_new_expression): Change placement and initializer to vecs. Release them when done. (cp_parser_new_placement): Change return type to vec. Change all callers. (cp_parser_new_initializer): Likewise. * typeck.c (build_function_call_vec): Just call cp_build_function_call_vec. (cp_build_function_call): Just build a vec and call cp_build_function_call_vec. (cp_build_function_call_vec): New function based on old cp_build_function_call. (convert_arguments): Remove nargs and argarray parameters. Change values to a vec. Change caller. (build_x_compound_expr_from_vec): New function. (cp_build_modify_expr): Build vec to pass to build_special_member_call. * call.c (struct z_candidate): Add first_arg field. Change args field to vec. (convert_class_to_reference): Handle first argument separately. (add_candidate): Add first_arg parameter. Change args parameter to vec. Change all callers. (add_function_candidate, add_conv_candidate): Likewise. (add_template_candidate_real, add_template_candidate): Likewise. (add_template_conv_candidate): Likewise. (build_user_type_conversion_1): Handle first argument separately. (resolve_args): Change return type and parameter type to vecs. Change all callers. (perform_overload_resolution): Change args parameter to vec. Change all callers. (build_new_function_call, build_operator_new_call): Likewise. (add_candidates): Likewise. (build_op_call): New globally visible function, built from and replacing static function build_object_call. (build_new_op): Don't handle CALL_EXPR. Build vec, not tree_list, of arguments. (build_op_delete_call): Build vec to pass to cp_build_function_call_vec. (build_temp): Build vec to pass to build_special_member_call. (convert_like_real): Likewise. (perform_direct_initialization_if_possible): Likewise. (build_over_call): Handle first_arg field. Use build_call_array rather than build_call_list. (build_special_member_call): Change args parameter to vec. Change all callers. (build_new_method_call): Likewise. * init.c (expand_default_init): Change parms to vec. (build_raw_new_expr): Change placement and init to vecs. Change all callers. (build_new_1, build_new): Likewise. * class.c (resolve_address_of_overloaded_function): Build array to pass to fn_type_unification. * pt.c (tsubst_copy_and_build): For NEW_EXPR build vecs to pass to build_new. For CALL_EXPR create a vec rather than a tree_list; expand a pack if necessary. (fn_type_unification): Change args parameter to const tree *. Add nargs parameter. Change all callers. (type_unification_real): Likewise. (unify): Build array to pass to type_unification_real. (get_bindings): Build array to pass to fn_type_unification. (any_type_dependent_arguments_p): Change args parameter to a vec. Change all callers. (make_args_non_dependent): Renamed from build_non_dependent_args. Change return type to void. Change parameter type to vec. Change all callers. (do_auto_deduction): Pass an array to type_unification_real. * semantics.c (perform_koenig_lookup): Change args to vec. Change all callers. (finish_call_expr): Change args to vec. Change all callers. Call build_op_call instead of passing CALL_EXPR to build_new_op. (cxx_omp_create_clause_info): Allocate vec to pass to build_special_member_call. * decl2.c (build_offset_ref_call_from_tree): Change args parameter to vec. Change all callers. * name-lookup.c (lookup_function_nonclass): Likewise. (struct arg_lookup): Change args to vec. (arg_assoc_namespace): Handle args as a vec. (arg_assoc_args_vec): New static function. (lookup_arg_dependent): Change args parameter to vec. Change all callers. * method.c (do_build_assign_ref): Allocate vec to pass to build_special_member_call. * except.c (build_throw): Likewise. * typeck2.c (build_functional_cast): Likewise. * cvt.c (ocp_convert): Likewise. * tree.c (build_min_non_dep_call_vec): Change last parameter to vec. Change all callers. * cp-tree.h: Update declarations. * name-lookup.h: Update declarations. objc/: * objc-act.c (objc_generate_cxx_ctor_or_dtor): Pass NULL rather than NULL_TREE to build_special_member_call. From-SVN: r147759
* tm.texi (Misc): Document TARGET_INVALID_PARAMETER_TYPE...Sandra Loosemore2009-05-2013-1/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-05-20 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/tm.texi (Misc): Document TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE, TARGET_PROMOTED_TYPE, and TARGET_CONVERT_TO_TYPE. * hooks.c (hook_tree_const_tree_null): Define. * hooks.h (hook_tree_const_tree_null): Declare. * target.h (struct gcc_target): Add invalid_parameter_type, invalid_return_type, promoted_type, and convert_to_type fields. * target-def.h: (TARGET_INVALID_PARAMETER_TYPE): Define. (TARGET_INVALID_RETURN_TYPE): Define. (TARGET_PROMOTED_TYPE): Define. (TARGET_CONVERT_TO_TYPE): Define. (TARGET_INITIALIZER): Update for new fields. * c-decl.c (grokdeclarator): Check targetm.invalid_return_type. (grokparms): Check targetm.invalid_parameter_type. * c-typeck.c (default_conversion): Check targetm.promoted_type. * c-convert.c (convert): Check targetm.convert_to_type. gcc/cp/ * typeck.c (default_conversion): Check targetm.promoted_type. * decl.c (grokdeclarator): Check targetm.invalid_return_type. (grokparms): Check targetm.invalid_parameter_type. * cvt.c (ocp_convert): Check targetm.convert_to_type. (build_expr_type_conversion): Check targetm.promoted_type. From-SVN: r147758
* functional (function): Use explicit operator bool.Benjamin Kosnik2009-05-2115-57/+67
| | | | | | | | | | | | | | | | | | | | | | 2009-05-20 Benjamin Kosnik <bkoz@redhat.com> * include/tr1_impl/functional (function): Use explicit operator bool. * include/bits/shared_ptr.h (__shared_ptr): Same. * include/bits/unique_ptr.h (unique_ptr): Same. * include/std/mutex (unique_lock): Same. * include/std/system_error (error_code): Same. (error_condition): Same. * include/std/ostream (sentry): Same. * include/std/istream (sentry): Same. * testsuite/19_diagnostics/error_condition/operators/bool.cc: Adjust. * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc: Same. * testsuite/19_diagnostics/error_code/operators/bool.cc: Same. * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Same. * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same. * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Same. * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Same. From-SVN: r147756
* Daily bump.GCC Administrator2009-05-211-1/+1
| | | | From-SVN: r147755
* * config/mips/mips.md (*extenddi_truncate<mode>,Adam Nemet2009-05-207-10/+90
| | | | | | | | | | | | | | | *extendsi_truncate<mode>): Emit exts if supported. Add attribute defintions. (*extendhi_truncateqi): New define_insn_and_sptit. testsuite/ * gcc.target/mips/octeon-exts-6.c: New test. * gcc.target/mips/extend-1.c: New test. * gcc.target/mips/octeon-exts-2.c: Adjust to not match sign-extension EXTS. * gcc.target/mips/octeon-exts-5.c: Likewise. From-SVN: r147751
* re PR middle-end/40204 (segfault with bitfields in structs)Jakub Jelinek2009-05-204-3/+31
| | | | | | | | | | | PR middle-end/40204 * fold-const.c (fold_binary) <case BIT_AND_EXPR>: Avoid infinite recursion if build_int_cst_type returns the same INTEGER_CST as arg1. * gcc.c-torture/compile/pr40204.c: New test. From-SVN: r147749
* re PR libgomp/40174 (Memory leak when using '#pragma omp parallel')Jakub Jelinek2009-05-202-0/+8
| | | | | | | | PR libgomp/40174 * team.c (gomp_thread_start): Destroy thr->release semaphore. (gomp_free_pool_helper): Likewise. From-SVN: r147747
* Fix formattingEric Botcazou2009-05-201-4/+8
| | | | From-SVN: r147740
* fold-const.c (build_fold_addr_expr_with_type): Take the address of the ↵Eric Botcazou2009-05-202-0/+12
| | | | | | | | | operand of VIEW_CONVERT_EXPR. * fold-const.c (build_fold_addr_expr_with_type): Take the address of the operand of VIEW_CONVERT_EXPR. From-SVN: r147739
* driver-i386.c (host_detect_local_cpu): Check extended family and model for ↵H.J. Lu2009-05-202-3/+22
| | | | | | | | | | | | Intel processors. 2009-05-20 H.J. Lu <hongjiu.lu@intel.com> * config/i386/driver-i386.c (host_detect_local_cpu): Check extended family and model for Intel processors. Support Intel Atom. From-SVN: r147736
* gstab.h (stab_code_type): Define, to be used instead of the ↵Olivier Hainque2009-05-204-11/+19
| | | | | | | | | | | | | __stab_debug_code enum, made anonymous. * gstab.h (stab_code_type): Define, to be used instead of the __stab_debug_code enum, made anonymous. Add 2009 to the copyright notice. * dbxout.c (STAB_CODE_TYPE): Remove #define and replace use occurrences by stab_code_type. * mips-tfile.c (STAB_CODE_TYPE): Remove #define, unused. From-SVN: r147734
* tree-flow.h (insert_edge_copies_seq): Undeclare.Martin Jambor2009-05-207-31/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-05-20 Martin Jambor <mjambor@suse.cz> * tree-flow.h (insert_edge_copies_seq): Undeclare. (sra_insert_before): Likewise. (sra_insert_after): Likewise. (sra_init_cache): Likewise. (sra_type_can_be_decomposed_p): Likewise. * tree-mudflap.c (insert_edge_copies_seq): Copied here from tree-sra.c * tree-sra.c (sra_type_can_be_decomposed_p): Made static. (sra_insert_before): Likewise. (sra_insert_after): Likewise. (sra_init_cache): Likewise. (insert_edge_copies_seq): Made static and moved upwards. * tree-complex.c (extract_component): Added VIEW_CONVERT_EXPR switch case. * tree-flow-inline.h (contains_view_convert_expr_p): New function. * ipa-prop.c (get_ssa_def_if_simple_copy): New function. (determine_cst_member_ptr): Call get_ssa_def_if_simple_copy to skip simple copies. From-SVN: r147733
* decl.c (gnat_to_gnu_entity): When discriminants affect the shape of the ↵Eric Botcazou2009-05-202-11/+26
| | | | | | | | | | | subtype... * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When discriminants affect the shape of the subtype, retrieve the GCC type directly from the original field if the GNAT types for the field and the original field are the same. From-SVN: r147732
* expr.c (expand_expr_real_1): Avoid calling do_store_flag with mismatched ↵Richard Guenther2009-05-204-1/+21
| | | | | | | | | | | | | comparison modes. 2009-05-20 Richard Guenther <rguenther@suse.de> * expr.c (expand_expr_real_1): Avoid calling do_store_flag with mismatched comparison modes. * gcc.c-torture/compile/20090518-1.c: New testcase. From-SVN: r147731
* Fix Thumb2 bic ornRamana Radhakrishnan2009-05-204-5/+105
| | | | | | | | | | | | | | | | | | 2009-05-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/arm/arm.md (*arm_iorsi3): Refactored for only ARM. (peephole ior (reg, int) -> mov, ior): Refactored for only ARM. * config/arm/thumb2.md (*thumb_andsi_not_shiftsi_si): Allow bic with shifts for Thumb2. (orsi_notsi): New for orn. (*thumb_orsi_notshiftsi_si): Allow orn with shifts. (*thumb2_iorsi3): Rewrite support for iorsi for Thumb2. * config/arm/arm.c (const_ok_for_op): Split case for IOR for Thumb2. (arm_gen_constant): Set can_invert for IOR and Thumb2, Add comments. Don't invert remainder for IOR. From-SVN: r147729
* 14340.cc: Abstract list type.Benjamin Kosnik2009-05-2044-429/+572
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-05-19 Benjamin Kosnik <bkoz@redhat.com> * testsuite/23_containers/list/14340.cc: Abstract list type. * testsuite/23_containers/list/init-list.cc: Same. * testsuite/23_containers/list/pthread5.cc: Same. * testsuite/23_containers/list/invalidation/1.cc: Same. * testsuite/23_containers/list/invalidation/2.cc: Same. * testsuite/23_containers/list/invalidation/3.cc: Same. * testsuite/23_containers/list/invalidation/4.cc: Same. * testsuite/23_containers/list/modifiers/insert/25288.cc: Same. * testsuite/23_containers/list/modifiers/1.cc: Same. * testsuite/23_containers/list/modifiers/2.cc: Same. * testsuite/23_containers/list/modifiers/3.cc: Same. * testsuite/23_containers/list/modifiers/swap/1.cc: Same. * testsuite/23_containers/list/modifiers/swap/2.cc: Same. * testsuite/23_containers/list/modifiers/swap/3.cc: Same. * testsuite/23_containers/list/cons/1.cc: Same. * testsuite/23_containers/list/cons/2.cc: Same. * testsuite/23_containers/list/cons/3.cc: Same. * testsuite/23_containers/list/cons/4.cc: Same. * testsuite/23_containers/list/cons/5.cc: Same. * testsuite/23_containers/list/cons/6.cc: Same. * testsuite/23_containers/list/cons/7.cc: Same. * testsuite/23_containers/list/cons/clear_allocator.cc: Same. * testsuite/23_containers/list/cons/8.cc: Same. * testsuite/23_containers/list/cons/9.cc: Same. * testsuite/23_containers/list/operations/1.cc: Same. * testsuite/23_containers/list/operations/2.cc: Same. * testsuite/23_containers/list/operations/3.cc: Same. * testsuite/23_containers/list/operations/4.cc: Same. * testsuite/23_containers/list/operations/5.cc: Same. * testsuite/23_containers/list/requirements/citerators.cc: Same. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/constructor.cc: Same. * testsuite/23_containers/list/requirements/ partial_specialization/1.cc: Same. * testsuite/23_containers/list/23781.cc: Same. * testsuite/23_containers/list/pthread1.cc: Same. * testsuite/23_containers/list/capacity/1.cc: Same. * testsuite/23_containers/list/capacity/29134.cc: Same. * testsuite/23_containers/list/check_construct_destroy.cc: Same. * testsuite/23_containers/list/moveable.cc: Same. * testsuite/util/common_type/assoc/common_type.hpp: Re-break lines. From-SVN: r147728
* re PR tree-optimization/40087 (Number of iterations analysis wrong)Zdenek Dvorak2009-05-204-53/+102
| | | | | | | | | | | | | | | PR tree-optimization/40087 * tree-ssa-loop-niter.c (number_of_iterations_ne_max, number_of_iterations_ne): Rename never_infinite argument. (number_of_iterations_lt_to_ne, number_of_iterations_lt, number_of_iterations_le): Handle pointer-type ivs when exit_must_be_taken is false. (number_of_iterations_cond): Do not always assume that exit_must_be_taken if the control variable is a pointer. * gcc.dg/tree-ssa/pr40087.c: New test. From-SVN: r147727
* Daily bump.GCC Administrator2009-05-201-1/+1
| | | | From-SVN: r147726
* re PR libfortran/37754 (READ I/O Performance regression from 4.3 to 4.4/4.5)Jerry DeLisle2009-05-202-5/+9
| | | | | | | | | 2009-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/37754 * io/write_float.def: Simplify format calculation. From-SVN: r147725
* c-typeck.c (build_binary_op): Allow % on integal vectors.Andrew Pinski2009-05-199-4/+49
| | | | | | | | | | | | | | | | | | | 2009-05-19 Andrew Pinski <andrew_pinski@playstation.sony.com> * c-typeck.c (build_binary_op): Allow % on integal vectors. * doc/extend.texi (Vector Extension): Document that % is allowed too. 009-05-19 Andrew Pinski <andrew_pinski@playstation.sony.com> * typeck.c (build_binary_op): Allow % on integal vectors. 2009-05-19 Andrew Pinski <andrew_pinski@playstation.sony.com> * gcc.dg/vector-4.c: New testcase. * gcc.dg/simd-1b.c: % is now allowed for integer vectors. * g++.dg/ext/vector16.C: New testcase. From-SVN: r147722
* re PR c/40172 (Revision 147596 breaks bootstrap)H.J. Lu2009-05-194-0/+42
| | | | | | | | | | | | | 2009-05-19 H.J. Lu <hongjiu.lu@intel.com> PR c/40172 * gcc.dg/pr40172.c: Renamed to ... * gcc.dg/pr40172-1.c: This. * gcc.dg/pr40172-2.c: New. * gcc.dg/pr40172-3.c: Likewise. From-SVN: r147719
* i386.c (ix86_avoid_jump_mispredicts): Check ASM_OUTPUT_MAX_SKIP_PAD instead ↵H.J. Lu2009-05-192-1/+6
| | | | | | | | | | | of ASM_OUTPUT_MAX_SKIP_ALIGN. 2009-05-19 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (ix86_avoid_jump_mispredicts): Check ASM_OUTPUT_MAX_SKIP_PAD instead of ASM_OUTPUT_MAX_SKIP_ALIGN. From-SVN: r147718
* re PR c/40172 (Revision 147596 breaks bootstrap)Manuel López-Ibáñez2009-05-196-7/+16
| | | | | | | | | | | | | | | 2009-05-19 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c/40172 gcc/ * c.opt (Wlogical-op): Disabled by default. * c-opt (c_common_post_options): Do not enable Wlogical-op with Wextra. * doc/invoke.texi (Wlogical-op): Likewise. testsuite/ * gcc.dg/pr40172.c: Add -Wlogical-op to dg-options. From-SVN: r147717
* tree-scalar-evolution.c (follow_ssa_edge_expr): Turn into CASE_CONVERT.Eric Botcazou2009-05-195-47/+95
| | | | | | | | | | | | | | * tree-scalar-evolution.c (follow_ssa_edge_expr) <NOP_EXPR>: Turn into CASE_CONVERT. <PLUS_EXPR>: Strip useless type conversions instead of type nops. Propagate the type of the first operand. <ASSERT_EXPR>: Simplify. (follow_ssa_edge_in_rhs): Use gimple_expr_type to get the type. Rewrite using the RHS code as discriminant. <NOP_EXPR>: Turn into CASE_CONVERT. <PLUS_EXPR>: Propagate the type of the first operand. From-SVN: r147716
* re PR libstdc++/40184 (locale(const char* std_name) can create invalid ↵Paolo Carlini2009-05-196-7/+129
| | | | | | | | | | | | | | | | | facets for nonuniform locale) 2009-05-19 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/40184 * include/bits/locale_classes.h (locale::facet::_S_lc_ctype_c_locale): Declare... * config/locale/gnu/c_locale.cc: ... and define. * config/locale/generic/c_locale.cc: Define. * src/localename.cc (locale::_Impl::_Impl(const char*, size_t)): Use it. * testsuite/22_locale/locale/cons/40184.cc: New. From-SVN: r147714