- 22 May, 2009 12 commits
-
-
2009-05-22 Richard Guenther <rguenther@suse.de> PR middle-end/38964 * alias.c (write_dependence_p): Do not use TBAA for answering anti-dependence or output-dependence. * tree-ssa-structalias.c (set_uids_in_ptset): Remove TBAA pruning code. (emit_pointer_definition): Remove. (emit_alias_warning): Likewise. (find_what_var_points_to): Remove TBAA pruning code. (find_what_p_points_to): Likewise. Do not warn about strict-aliasing violations. (compute_points_to_sets): Remove code computing the set of dereferenced pointers. * tree-data-ref.c (dr_may_alias_p): Properly use the split oracle for querying anti and output dependencies. * tree-ssa-alias.c (refs_may_alias_p_1): Add argument specifying if TBAA may be applied. (refs_anti_dependent_p): New function. (refs_output_dependent_p): Likewise. * tree-ssa-alias.h (refs_anti_dependent_p): Declare. (refs_output_dependent_p): Likewise. * doc/tree-ssa.texi (Memory model): New section. testsuite/ * g++.dg/warn/Wstrict-aliasing-float-ref-int-obj.C: XFAIL. * gcc.dg/Wstrict-aliasing-converted-assigned.c: Likewise. * gcc.dg/Wstrict-aliasing-float-ptr-int-obj.c: Likewise. * doc/c-tree.texi (CHANGE_DYNAMIC_TYPE_EXPR): Remove. * doc/gimple.texi (GIMPLE_CHANGE_DYNAMIC_TYPE): Remove. * cfgexpand.c (expand_gimple_basic_block): Do not handle GIMPLE_CHANGE_DYNAMIC_TYPE or CHANGE_DYNAMIC_TYPE_EXPR. * expr.c (expand_expr_real_1): Likewise. * gimple-low.c (lower_stmt): Likewise. * gimple-pretty-print.c (dump_gimple_stmt): Likewise. (dump_gimple_cdt): Remove. * gimple.c (gss_for_code): Do not handle GIMPLE_CHANGE_DYNAMIC_TYPE. (gimple_size): Likewise. (walk_gimple_op): Likewise. (is_gimple_stmt): Likewise. (walk_stmt_load_store_addr_ops): Likewise. (gimple_build_cdt): Remove. * gimple.def (GIMPLE_CHANGE_DYNAMIC_TYPE): Remove. * gimple.h (gimple_cdt_new_type): Remove. (gimple_cdt_new_type_ptr): Likewise. (gimple_cdt_set_new_type): Likewise. (gimple_cdt_location): Likewise. (gimple_cdt_location_ptr): Likewise. (gimple_cdt_set_location): Likewise. * gimplify.c (gimplify_expr): Do not handle CHANGE_DYNAMIC_TYPE_EXPR. * tree-cfg.c (remove_useless_stmts_1): Do not handle GIMPLE_CHANGE_DYNAMIC_TYPE. (verify_types_in_gimple_stmt): Likewise. * tree-inline.c (estimate_num_insns): Likewise. (expand_call_inline): Do not copy DECL_NO_TBAA_P. (copy_decl_to_var): Likewise. (copy_result_decl_to_var): Likewise. * tree-pretty-print.c (dump_generic_node): Do not handle CHANGE_DYNAMIC_TYPE_EXPR. * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise. * tree-ssa-operands.c (get_expr_operands): Likewise. * tree-ssa-structalias.c (struct variable_info): Remove no_tbaa_pruning member. (new_var_info): Do not set it based on DECL_NO_TBAA_P. (unify_nodes): Do not copy it. (find_func_aliases): Do not handle GIMPLE_CHANGE_DYNAMIC_TYPE. (dump_solution_for_var): Do not dump no_tbaa_pruning state. (set_uids_in_ptset): Do not check it. (find_what_var_points_to): Likewise. (compute_tbaa_pruning): Remove. (compute_points_to_sets): Do not call it. * tree.c (walk_tree_1): Do not handle CHANGE_DYNAMIC_TYPE_EXPR. * tree.def (CHANGE_DYNAMIC_TYPE_EXPR): Remove. * tree.h (CHANGE_DYNAMIC_TYPE_NEW_TYPE): Remove. (CHANGE_DYNAMIC_TYPE_LOCATION): Likewise. (DECL_NO_TBAA_P): Likewise. (struct tree_decl_common): Move no_tbaa_flag to unused flags section. * omp-low.c (copy_var_decl): Do not copy DECL_NO_TBAA_P. (expand_omp_atomic_pipeline): Do not set it. * print-tree.c (print_node): Do not dump it. * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Remove redundant check. cp/ * init.c (avoid_placement_new_aliasing): Remove. (build_new_1): Do not call it. From-SVN: r147805
Richard Guenther committed -
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
Vladimir Makarov committed -
* src/x86/win32.S (_ffi_closure_STDCALL): New function. (.eh_frame): Add FDE for it. From-SVN: r147802
Dave Korn committed -
* 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
Dave Korn committed -
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
Mark Mitchell committed -
2009-05-21 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/40221 * include/tr1_impl/functional: Add explicit cast. From-SVN: r147794
Benjamin Kosnik committed -
PR fortran/40195 * module.c (read_md5_from_module_file): Close file before returning. From-SVN: r147793
François-Xavier Coudert committed -
* 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
Ben Elliston committed -
From-SVN: r147790
Ben Elliston committed -
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
Paolo Carlini committed -
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
Paolo Carlini committed -
From-SVN: r147786
GCC Administrator committed
-
- 21 May, 2009 18 commits
-
-
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
Steve Ellcey committed -
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
Steve Ellcey committed -
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
Richard Guenther committed -
* 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
Adam Nemet committed -
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
Richard Guenther committed -
From-SVN: r147775
Denis Chertykov committed -
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
H.J. Lu committed -
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
Taras Glek committed -
* 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
Mark Mitchell committed -
* configure.ac (cygwin noconfigdirs): Remove libgcj. * configure: Regenerate. From-SVN: r147770
Dave Korn committed -
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
Shujing Zhao committed -
* 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
Jakub Jelinek committed -
* 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
Jakub Jelinek committed -
2009-05-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * config/arm/thumb2.md (orsi_notsi_si): Fix typo in pattern. From-SVN: r147761
Ramana Radhakrishnan committed -
./: * 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
Ian Lance Taylor committed -
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
Sandra Loosemore committed -
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
Benjamin Kosnik committed -
From-SVN: r147755
GCC Administrator committed
-
- 20 May, 2009 10 commits
-
-
*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
Adam Nemet committed -
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
Jakub Jelinek committed -
PR libgomp/40174 * team.c (gomp_thread_start): Destroy thr->release semaphore. (gomp_free_pool_helper): Likewise. From-SVN: r147747
Jakub Jelinek committed -
From-SVN: r147740
Eric Botcazou committed -
fold-const.c (build_fold_addr_expr_with_type): Take the address of the 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
Eric Botcazou committed -
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
H.J. Lu committed -
* 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
Olivier Hainque committed -
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
Martin Jambor committed -
* 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
Eric Botcazou committed -
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
Richard Guenther committed
-