1. 03 Nov, 2010 7 commits
    • re PR rtl-optimization/46034 (internal compiler error: segmentation fault) · 80ab32d6
      	PR rtl-optimization/46034
      	PR rtl-optimization/46212
      	PR rtl-optimization/46248
      	* combine.c (try_combine): If added_sets_2 where i0dest_in_i0src
      	and i0 feeds i1 and i1 feeds i2 or i0 feeds i2, make a copy of i1src
      	before i0dest -> i0src substitution and pass 1 instead of 0 as last
      	argument to subst on i2pat.
      
      	* gcc.c-torture/compile/pr46034.c: New test.
      	* gcc.c-torture/compile/pr46248.c: New test.
      	* gcc.dg/pr46212.c: New test.
      
      From-SVN: r166231
      Jakub Jelinek committed
    • configure.ac: Use AC_SYS_LARGEFILE. · 480767a9
      gcc/:
      	* configure.ac: Use AC_SYS_LARGEFILE.
      	* configure: Rebuild.
      	* config.in: Rebuild.
      libcpp/:
      	* configure.ac: Use AC_SYS_LARGEFILE.
      	* configure: Rebuild.
      	* config.in: Rebuild.
      
      From-SVN: r166230
      Ian Lance Taylor committed
    • chrono: Use typedefs. · 16684e9c
      2010-11-02  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* include/std/chrono: Use typedefs.
      	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
      	line numbers.
      	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
      	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
      	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same.
      
      From-SVN: r166229
      Benjamin Kosnik committed
    • cmath (fpclassify, [...]): Remove spurious duplicate definition added in the last commit. · 298cee01
      2010-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/c_global/cmath (fpclassify, isfinite, isinf, isnan,
      	isnormal, signbit, isgreater, isgreaterequal, isless, islessequal,
      	islessgreater, isunordered): Remove spurious duplicate definition
      	added in the last commit.
      
      	* include/tr1/cmath: Remove tr1_impl leftover macro.
      
      From-SVN: r166228
      Paolo Carlini committed
    • builtins.c (fold_builtin_signbit): Use build_zero_cst instead of fold_convert. · e8160c9a
      gcc/
      	* builtins.c (fold_builtin_signbit): Use build_zero_cst instead of
      	fold_convert.
      	* c-typeck.c (build_function_call_vec): Likewise.
      	* cfgexpand.c (expand_debug_expr): Likewise.
      	* cgraphunit.c (assemble_thunk): Likewise.
      	* config/sparc/sparc.c (sparc_fold_builtin): Likewise.
      	* fold-const.c (fold_unary_loc, fold_mult_zconjz): Likewise.
      	(fold_binary_loc, fold_ternary_loc): Likewise.
      	* gimple-fold.c (get_symbol_constant_value): Likewise.
      	* gimple-low.c (lower_builtin_setjmp): Likewise.
      	* gimple.c (gimple_cond_get_ops_from_tree): Likewise.
      	* gimplify.c (gimplify_init_constructor): Likewise.
      	* lambda.h (build_linear_expr): Likewise.
      	* omp-low.c (omp_reduction_init): Likewise.
      	* tree-inline.c (remap_ssa_name): Likewise.
      	* tree-object-size.c (compute_object_sizes): Likewise.
      	* tree-sra.c (init_subtree_with_zero): Likewise.
      	(sra_ipa_modify_assign): Likewise.
      	* tree-ssa-copy.c (propagate_tree_value_into_stmt): Likewise.
      	* tree-ssa-reassoc.c (eliminate_duplicate_pair): Likewise.
      	(eliminate_plus_minus_pair, eliminate_not_pairs): Likewise.
      	(undistribute_ops_list): Likewise.
      	* tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
      	* tree-vect-stmts.c (vectorizable_call): Likewise.
      	* tree.c (build_vector_from_ctor, build_one_cst): Likewise.
      	(build_zero_cst): Handle more cases directly.  Update comment.
      
      gcc/cp/
      	* class.c (build_base_path, add_vcall_offset): Use build_zero_cst
      	instead of fold_convert.
      	* init.c (build_zero_init): Likewise.
      	* typeck.c (cp_build_binary_op): Likewise.
      
      gcc/fortran/
      	* trans-decl.c (add_argument_checking): Use build_zero_cst instead of
      	fold_convert.
      	* trans-expr.c (gfc_conv_missing_dummy, fill_with_spaces): Likewise.
      	* trans-stmt.c (gfc_trans_do): Likewise.
      
      From-SVN: r166227
      Nathan Froyd committed
    • Daily bump. · 7d1c5d35
      From-SVN: r166226
      GCC Administrator committed
    • gigi.h (add_stmt_force): Declare. · 586fea26
      	* gcc-interface/gigi.h (add_stmt_force): Declare.
      	(add_stmt_with_node_force): Likewise.
      	* gcc-interface/trans.c (Attribute_to_gnu): Don't set TREE_SIDE_EFFECTS
      	on the SAVE_EXPR built for cached expressions of parameter attributes.
      	(Subprogram_Body_to_gnu): Force evaluation of the SAVE_EXPR built for
      	cached expressions of parameter attributes.
      	(add_stmt_force): New function.
      	(add_stmt_with_node_force): Likewise.
      
      From-SVN: r166222
      Eric Botcazou committed
  2. 02 Nov, 2010 33 commits
    • Remove ix86_split_call_pop_vzeroupper. · 04ae82aa
      2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386-protos.h (ix86_split_call_pop_vzeroupper):
      	Removed.
      	* config/i386/i386.c (ix86_split_call_pop_vzeroupper): Likewise.
      
      	* config/i386/i386.md (*call_pop_0_vzeroupper): Use parallel
      	and call ix86_split_call_vzeroupper instead of
      	ix86_split_call_pop_vzeroupper.
      	(*call_pop_1_vzeroupper): Likewise.
      	(*sibcall_pop_1_vzeroupper): Likewise.
      	(*call_value_pop_0_vzeroupper): Likewise.
      	(*call_value_pop_1_vzeroupper): Likewise.
      	(*sibcall_value_pop_1_vzeroupper): Likewise.
      
      From-SVN: r166218
      H.J. Lu committed
    • Fix a typo in *sibcall_1_rex64_vzeroupper. · 2050af0a
      2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386.md (*sibcall_1_rex64_vzeroupper): Fix a
      	typo.
      
      From-SVN: r166215
      H.J. Lu committed
    • basic-block.h (insert_insn_end_bb_new): Delete. · 818aa0c5
      	* basic-block.h (insert_insn_end_bb_new): Delete.
      	* cfgrtl.c (insert_insn_end_bb_new): Likewise.
      
      From-SVN: r166212
      Eric Botcazou committed
    • cinttypes: Remove, move contents to C++0x and TR1 headers. · 53dc5044
      2010-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/tr1_impl/cinttypes: Remove, move contents to C++0x
      	and TR1 headers.
      	* include/tr1_impl/cstdlib: Likewise.
      	* include/tr1_impl/cstdio: Likewise.
      	* include/tr1_impl/cctype: Likewise.
      	* include/tr1_impl/boost_sp_counted_base.h: Likewise.
      	* include/tr1_impl/cmath: Likewise.
      	* include/tr1_impl/cfenv: Likewise.
      	* include/tr1_impl/utility: Likewise.
      	* include/tr1_impl/complex: Likewise.
      	* include/tr1_impl/cwchar: Likewise.
      	* include/tr1_impl/type_traits: Likewise.
      	* include/tr1_impl/cstdint: Likewise.
      	* include/tr1_impl/regex: Likewise.
      	* include/tr1_impl/array: Likewise.
      	* include/tr1_impl/cwctype: Likewise.
      	* include/Makefile.am: Adjust.
      	* include/Makefile.in: Regenerate.
      	* src/condition_variable.cc: Adjust; consistently use
      	_GLIBCXX_BEGIN_NAMESPACE and _GLIBCXX_END_NAMESPACE.
      	* src/mutex.cc: Likewise.
      	* src/future.cc: Likewise.
      	* src/atomic.cc: Likewise.
      	* src/chrono.cc: Likewise.
      	* src/thread.cc: Likewise.
      	* include/std/tuple: Likewise.
      	* include/std/utility: Likewise.
      	* include/std/thread: Likewise.: Likewise.
      	* include/std/type_traits: Likewise.
      	* include/std/memory: Likewise.
      	* include/std/future: Likewise.
      	* include/std/ratio: Likewise.
      	* include/std/chrono: Likewise.
      	* include/std/condition_variable: Likewise.
      	* include/std/mutex: Likewise.
      	* include/std/functional: Likewise.
      	* include/std/complex: Likewise.
      	* include/std/typeindex: Likewise.
      	* include/std/array: Likewise.
      	* include/bits/regex_compiler.h: Likewise.
      	* include/bits/regex_grep_matcher.tcc: Likewise.
      	* include/bits/regex_grep_matcher.h: Likewise.
      	* include/bits/regex_constants.h: Likewise.
      	* include/bits/regex_cursor.h: Likewise.
      	* include/bits/regex_nfa.tcc: Likewise.
      	* include/bits/shared_ptr_base.h: Likewise.
      	* include/bits/regex_nfa.h: Likewise.
      	* include/bits/random.tcc: Likewise.
      	* include/bits/regex.h: Likewise.
      	* include/bits/random.h: Likewise.
      	* include/bits/regex_error.h: Likewise.
      	* include/c_global/cinttypes: Likewise.
      	* include/c_global/cstdlib: Likewise.
      	* include/c_global/cstdio: Likewise.
      	* include/c_global/cctype: Likewise.
      	* include/c_global/cmath: Likewise.
      	* include/c_global/cfenv: Likewise.
      	* include/c_global/cwchar: Likewise.
      	* include/c_global/cstdint: Likewise.
      	* include/c_global/cwctype: Likewise.
      	* include/tr1/shared_ptr.h: Likewise.
      	* include/tr1/cinttypes: Likewise.
      	* include/tr1/cstdio: Likewise.
      	* include/tr1/cfenv: Likewise.
      	* include/tr1/utility: Likewise.
      	* include/tr1/cwchar: Likewise.
      	* include/tr1/type_traits: Likewise.
      	* include/tr1/memory: Likewise.
      	* include/tr1/cstdint: Likewise.
      	* include/tr1/regex: Likewise.
      	* include/tr1/cwctype: Likewise.
      	* include/tr1/cstdlib: Likewise.
      	* include/tr1/cctype: Likewise.
      	* include/tr1/cmath: Likewise.
      	* include/tr1/complex: Likewise.
      	* include/tr1/array: Likewise.
      	* include/c_compatibility/fenv.h: Likewise.
      	* include/c_compatibility/stdint.h: Likewise.
      	* include/c_compatibility/inttypes.h: Likewise.
      	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820.cc: Adjust
      	dg-error line numbers.
      	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
      	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
      	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
      	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
      	* testsuite/20_util/make_unsigned/requirements/
      	typedefs_neg.cc: Likewise.
      	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
      	* testsuite/20_util/shared_ptr/cons/43820.cc: Likewise.
      	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
      
      From-SVN: r166211
      Paolo Carlini committed
    • syntax_option_type.cc: Avoid -Wall warnings. · a9992f7f
      2010-11-02  Paolo Carlini  <paolo.carlini@oracle.com
      
      	* testsuite/28_regex/05_constants/syntax_option_type.cc: Avoid
      	-Wall warnings.
      	* testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc:
      	Likewise.
      	* testsuite/18_support/numeric_limits/requirements/
      	constexpr_functions.cc: Likewise.
      	* testsuite/18_support/numeric_limits/requirements/
      	constexpr_data.cc: Likewise.
      	* testsuite/21_strings/char_traits/requirements/
      	constexpr_functions.cc: Likewise.
      	* testsuite/26_numerics/random/independent_bits_engine/requirements/
      	constexpr_functions.cc: Likewise.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/
      	requirements/constexpr_functions.cc: Likewise.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/
      	requirements/constexpr_data.cc: Likewise.
      	* testsuite/26_numerics/random/discard_block_engine/requirements/
      	constexpr_functions.cc: Likewise.
      	* testsuite/26_numerics/random/discard_block_engine/requirements/
      	constexpr_data.cc: Likewise.
      	* testsuite/26_numerics/random/mersenne_twister_engine/
      	requirements/constexpr_functions.cc: Likewise.
      	* testsuite/26_numerics/random/mersenne_twister_engine/
      	requirements/constexpr_data.cc: Likewise.
      	* testsuite/26_numerics/random/linear_congruential_engine/
      	requirements/constexpr_functions.cc: Likewise.
      	* testsuite/26_numerics/random/linear_congruential_engine/
      	requirements/constexpr_data.cc: Likewise.
      	* testsuite/26_numerics/random/shuffle_order_engine/
      	requirements/constexpr_functions.cc: Likewise.
      	* testsuite/26_numerics/random/shuffle_order_engine/
      	requirements/constexpr_data.cc: Likewise.
      	* testsuite/26_numerics/complex/requirements/
      	constexpr_functions.cc: Likewise.
      	* testsuite/23_containers/bitset/requirements/
      	constexpr_functions.cc: Likewise.
      	* testsuite/23_containers/array/requirements/
      	constexpr_functions.cc: Likewise.
      	* testsuite/util/testsuite_common_types.h: Likewise.
      	* testsuite/20_util/duration/requirements/
      	constexpr_functions.cc: Likewise.
      	* testsuite/20_util/duration_cast/constexpr.cc: Likewise.
      	* testsuite/20_util/time_point/requirements/
      	constexpr_functions.cc: Likewise.
      	* testsuite/20_util/ratio/requirements/constexpr_data.cc: Likewise.
      
      	* testsuite/tr1/4_metaprogramming/integral_constant/
      	requirements/constexpr_data.cc: Remove.
      
      From-SVN: r166210
      Paolo Carlini committed
    • * ChangeLog: Fix last commit entry. · 21736ec2
      From-SVN: r166209
      Uros Bizjak committed
    • Emit vzerouppers after reload. · cfec3a7c
      gcc/
      
      2010-11-02  Uros Bizjak  <ubizjak@gmail.com>
      	    H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386-protos.h (ix86_split_call_vzeroupper): New.
      	(ix86_split_call_pop_vzeroupper): Likewise.
      
      	* config/i386/i386.c (move_or_delete_vzeroupper_2): Rewrite
      	the loop.
      	(ix86_expand_call): Use UNSPEC_CALL_NEEDS_VZEROUPPER.
      	(ix86_split_call_vzeroupper): New.
      	(ix86_split_call_pop_vzeroupper): Likewise.
      
      	* config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): New.
      	(*call_pop_0_vzeroupper): Likewise.
      	(*call_pop_1_vzeroupper): Likewise.
      	(*sibcall_pop_1_vzeroupper): Likewise.
      	(*call_0_vzeroupper): Likewise.
      	(*call_1_vzeroupper): Likewise.
      	(*sibcall_1_vzeroupper): Likewise.
      	(*call_1_rex64_vzeroupper): Likewise.
      	(*call_1_rex64_ms_sysv_vzeroupper): New.
      	(*call_1_rex64_large_vzeroupper): Likewise.
      	(*sibcall_1_rex64_vzeroupper): Likewise.
      	(*call_value_pop_0_vzeroupper): New.
      	(*call_value_pop_1_vzeroupper): Likewise.
      	(*sibcall_value_pop_1_vzeroupper): Likewise.
      	(*call_value_0_vzeroupper): New.
      	(*call_value_0_rex64_vzeroupper): Use
      	(*call_value_0_rex64_ms_sysv_vzeroupper): Likewise.
      	(*call_value_1_vzeroupper): Likewise.
      	(*sibcall_value_1_vzeroupper): Likewise.
      	(*call_value_1_rex64_vzeroupper): Likewise.
      	(*call_value_1_rex64_ms_sysv_vzeroupper): Likewise.
      	(*call_value_1_rex64_large_vzeroupper): Likewise.
      	(*sibcall_value_1_rex64_vzeroupper): Likewise.
      
      gcc/testsuite/
      
      2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.target/i386/avx-vzeroupper-15.c: New.
      	* gcc.target/i386/avx-vzeroupper-16.c: Likewise.
      	* gcc.target/i386/avx-vzeroupper-17.c: Likewise.
      	* gcc.target/i386/avx-vzeroupper-18.c: Likewise.
      
      	PR target/46253
      	* gcc.target/i386/pr46253.c: New.
      
      From-SVN: r166208
      H.J. Lu committed
    • re PR lto/46273 (Failed to bootstrap) · 12243af6
      	PR lto/46273
      	* config.gcc: Revert last patch: set lto_binary_reader.
      
      From-SVN: r166207
      Ian Lance Taylor committed
    • 2010-11-02 Steven G. · e69afb29
      2010-11-02  Steven G. Kargl  < kargl@gcc.gnu.org>
                  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/45170
              * array.c (gfc_match_array_constructor): Reject deferred type
              parameter (DTP) in type-spec.
              * decl.c (char_len_param_value, match_char_length,
              gfc_match_char_spec, build_sym, variable_decl,
              enumerator_decl): Support DTP.
              * expr.c (check_inquiry): Fix check due to support for DTP.
              * gfortran.h (gfc_typespec): Add Boolean 'deferred'.
              * misc.c (gfc_clear_ts): Set it to false.
              * match.c (gfc_match_allocate): Support DTP.
              * resolve.c (resolve_allocate_expr): Not-implemented error for
              * DTP.
              (resolve_fl_variable): Add DTP constraint check.
              * trans-decl.c (gfc_trans_deferred_vars): Add not-implemented
              error for DTP.
      
      2010-11-02  Steven G. Kargl  < kargl@gcc.gnu.org>
                  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/45170
              * gfortran.dg/deferred_type_param_1.f90: New.
              * gfortran.dg/deferred_type_param_2.f90: New.
              * gfortran.dg/initialization_1.f90: Update dg-errors.
              * gfortran.dg/initialization_9.f90: Update dg-errors.
      
      
      Co-Authored-By: Tobias Burnus <burnus@net-b.de>
      
      From-SVN: r166205
      Steven G. Kargl committed
    • re PR tree-optimization/46149 (26_numerics/valarray/27867.cc FAILs with -O2 -fno-tree-sra) · 343b2efc
      2010-11-02  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/46149
      	* tree-ssa-structalias.c (get_constraint_for_1): Properly handle
      	non-indirect MEM_REF variants.
      
      	* g++.dg/torture/pr46149.C: New testcase.
      
      From-SVN: r166204
      Richard Guenther committed
    • re PR tree-optimization/46216 (ICE: SSA corruption) · f26aa48e
      2010-11-02  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/46216
      	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
      	Check if we can propagate from a POINTER_PLUS_EXPR before doing so.
      
      	* gcc.dg/torture/pr46216.c: New testcase.
      
      From-SVN: r166203
      Richard Guenther committed
    • configure.ac (*-*-irix6*): Disable set_have_as_tls. · 23d50abb
      	* configure.ac (*-*-irix6*): Disable set_have_as_tls.
      	(*-*-osf*): Likewise.
      	* configure: Regenerate.
      
      From-SVN: r166200
      Rainer Orth committed
    • re PR target/45693 (All Tru64 UNIX C++ EH tests fail) · f986c466
      	PR target/45693
      	* configure.host (osf*): Set os_include_dir to os/generic.
      	Add -lpthread to OPT_LDFLAGS.
      
      From-SVN: r166199
      Rainer Orth committed
    • re PR target/46131 (Some TLS execution tests fail on Tru64 UNIX with emutls) · 3451f439
      	PR target/46131
      	* lib/target-supports.exp (add_options_for_tls): Pass -pthread for
      	*-*-osf*.
      
      From-SVN: r166198
      Rainer Orth committed
    • Update -march=native/-mtune=native for Intel Core 2 and Core i7. · eefe143b
      2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/driver-i386.c (host_detect_local_cpu): Updated
      	for Intel Core 2 and Core i7.
      
      From-SVN: r166197
      H.J. Lu committed
    • Model decoder of Core 2/i7 for multipass scheduling. · 894fd6f2
      	* config/i386/i386-protos.h (struct ix86_first_cycle_multipass_data_):
      	New type to hold target-specific data for multipass scheduling.
      	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
      	* config/i386/i386.c (ia32_multipass_dfa_lookahead): Update for
      	Core 2/i7.
      	(core2i7_secondary_decoder_max_insn_size,)
      	(core2i7_secondary_ifetch_block_size, core2i7_ifetch_block_max_insns):
      	New static variables.
      	([const_]ix86_first_cycle_multipass_data_t): New typedefs.
      	([_]ix86_first_cycle_multipass_data): New static variable.
      	(core2i7_first_cycle_multipass_init, core2i7_dfa_poast_advance_cycle):
      	Implement targetm.sched hooks.
      	(core2i7_first_cycle_multipass_filter_ready_try): New static subroutine
      	of ...
      	(core2i7_first_cycle_multipass_{begin, issue, backtrack, end, fini}):
      	Implement new targetm.sched hooks.
      	(ix86_sched_init_global, TARGET_SCHED_INIT_GLOBAL): Define
      	targetm.sched hook to install multipass scheduling hooks on demand.
      
      	* doc/tm.texi.in: Document new targetm.sched hooks.
      	* doc/tm.texi: Regenerate.
      
      	* haifa-sched.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
      	(first_cycle_multipass_data_t): New typedef.
      	(struct choice_entry: target_data): New field.
      	(max_issue): Add first_cycle_insn_p parameter.  Call new target hooks
      	to allow target model restrictions not represented in DFA.
      	(choose_ready, schedule_block): Update.
      	(sched_extend_ready_list, sched_finish_ready_list): Call new target
      	hooks to initialize target-specific data for multipass scheduling.
      	* sched-int.h (max_issue): Update declaration.
      	* sel-sched.c (choose_best_insn): Update.
      	* target.def (first_cycle_multipass_{begin, issue, backtrack},)
      	(first_cycle_multipass_{init, fini}): Define and document new
      	targetm.sched hooks.
      
      From-SVN: r166196
      Maxim Kuvyrkov committed
    • bitset (_Base_bitset<>_Base_bitset(unsigned long long)): Convert __val to _WordT. · 7350a361
      2010-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/std/bitset (_Base_bitset<>_Base_bitset(unsigned long long)):
      	Convert __val to _WordT.
      
      From-SVN: r166195
      Paolo Carlini committed
    • re PR tree-optimization/46184 (ICE: SIGSEGV in vectorizable_reduction… · 43427f3c
      re PR tree-optimization/46184 (ICE: SIGSEGV in vectorizable_reduction (tree-vect-loop.c:4067) with -O -ftree-vectorize -fno-tree-copy-prop -fno-tree-dce)
      
      2010-11-02  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/46184
      	* tree-vect-loop.c (vectorizable_reduction): Try to obtain the
      	input vector type from the reduction operand as well.
      
      	* gcc.dg/pr46184.c: New testcase.
      
      From-SVN: r166194
      Richard Guenther committed
    • re PR tree-optimization/46177 (ICE: in prop_phis, at… · 1bbd3bde
      re PR tree-optimization/46177 (ICE: in prop_phis, at tree-loop-distribution.c:327 with -fno-tree-copy-prop -ftree-loop-distribution)
      
      2010-11-02  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/46177
      	* tree-loop-distribution.c (prop_phis): Use
      	mark_virtual_phi_result_for_renaming.
      
      	* gcc.dg/pr46177.c: New testcase.
      
      From-SVN: r166193
      Richard Guenther committed
    • re PR middle-end/46120 (g++.dg/ipa/ivinline-?.C) · 4c203066
      2010-11-02  Martin Jambor  <mjambor@suse.cz>
      
      	PR middle-end/46120
      	* tree.c (get_binfo_at_offset): Bail out on artificial
      	fields. Identify primary bases according to their offsets.
      
      	* testsuite/g++.dg/ipa/ivinline-9.C: New test.
      
      From-SVN: r166192
      Martin Jambor committed
    • Trivial cleanup of ChangeLog entry · 7a2b3e20
      From-SVN: r166191
      Dodji Seketeli committed
    • re PR tree-optimization/45875 (ice in gimple_fold_obj_type_ref_known_binfo with -O2) · b85020cb
      2010-11-02  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/45875
      	* gimple-fold.c (get_first_base_binfo_with_virtuals): Removed.
      	(gimple_get_relevant_ref_binfo): Detect primary bases according to
      	their field offset.
      
      	* testsuite/g++.dg/torture/pr45875.C: New test.
      
      From-SVN: r166190
      Martin Jambor committed
    • configure.ac: Remove elf_getshdrstrndx test. · 181e5ea4
      	* configure.ac: Remove elf_getshdrstrndx test.  Don't substitute
      	LTO_BINARY_READER or LTO_USE_LIBELF.  Remove LIBELFLIBS and
      	LIBELFINC.  Remove HAVE_libelf.
      	* config.gcc: Don't set lto_binary_reader.
      	* Makefile.in (LIBELFLIBS, LIBELFINC): Remove variables.
      	(LTO_BINARY_READER, LTO_USE_LIBELF): Remove variables.
      	(LIBS): Remove $(LIBELFLIBS).
      	(INCLUDES): Remove $(LIBELFINC).
      	* configure: Rebuild.
      	* config.in: Rebuild.
      
      From-SVN: r166189
      Ian Lance Taylor committed
    • microblaze-protos.h (function_arg): Delete. · 5239874d
      	* config/microblaze/microblaze-protos.h (function_arg): Delete.
      	(function_arg_advance): Delete.
      	* config/microblaze/microblaze.h (FUNCTION_ARG_ADVANCE): Delete.
      	(FUNCTION_ARG): Delete.
      	* config/microblaze/microblaze.c (function_arg_advance): Rename to...
      	(microblaze_function_arg_advance): ...this.  Make static.  Take a
      	const_tree and a bool.
      	(function-arg): Rename to...
      	(microblaze_function_arg): ...this.  Make static.  Take a const_tree
      	and a bool.
      	(microblaze_expand_prologue): Call targetm.calls.function_arg and
      	targetm.calls.function_arg_advance.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      From-SVN: r166188
      Nathan Froyd committed
    • lto-object.c: New file. · 6b3456d1
      	* lto-object.c: New file.
      	* lto-elf.c: Remove file.
      	* lto-macho.c: Remove file.
      	* lto-macho.h: Remove file.
      	* lto-coff.c: Remove file.
      	* lto-coff.h: Remove file.
      	* Make-lang.in (LTO_OBJS): Change lto/$(LTO_BINARY_READER).o to
      	lto/lto-object.o.
      	($(LTO_EXE)): Remove $(LTO_USE_LIBELF)
      	(lto/lto-objfile.o): New target.
      	(lto/lto-elf.o, lto/lto-coff.o, lto/lto-macho.o): Remove targets.
      	(lto/lto.o): Remove $(LIBIBERTY_H).
      
      From-SVN: r166187
      Ian Lance Taylor committed
    • simple-object.h: New file. · 1cfabf34
      include/:
      	* simple-object.h: New file.
      libiberty/:
      	* simple-object.c: New file.
      	* simple-object-common.h: New file.
      	* simple-object-elf.c: New file.
      	* simple-object-mach-o.c: New file.
      	* simple-object-coff.c: New file.
      	* simple-object.txh: New file.
      	* configure.ac: Add AC_TYPE_SSIZE_T.
      	* Makefile.in: Rebuild dependencies.
      	(CFILES): Add simple-object.c, simple-object-coff,
      	simple-object-elf.c, and simple-object-mach-o.c.
      	(REQUIRED_OFILES): Add corresponding object files.
      	* configure: Rebuild.
      	* config.in: Rebuild.
      	* functions.texi: Rebuild.
      
      Co-Authored-By: Dave Korn <dave.korn.cygwin@gmail.com>
      Co-Authored-By: Iain Sandoe <iains@gcc.gnu.org>
      
      From-SVN: r166185
      Ian Lance Taylor committed
    • update darwin x86 output. · fee3eacd
      gcc:
      	Merge from FSF "apple/trunk" branch.
      
      	* config/rs6000/darwin.opt (mdynamic-no-pic): move from here ...
      	* config/darwin.opt: .. to here.
      	(matt-stubs): New option.
      	* config/i386/darwin.opt: Delete.
      	* config/i386/i386.h (MACHOPIC_ATT_STUB): New.
      	(MACHO_DYNAMIC_NO_PIC_P): New.
      	(MACHOPIC_INDIRECT): New.
      	(MACHOPIC_PURE): New.
      	* config/i386/darwin.h (DARWIN_X86) Define to 1.
      	(MACHOPIC_ATT_STUB): New.
      	(CC1_SPEC): Do not remove mdynamic-no-pic.
      	Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
      	UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
      	(FUNCTION_PROFILER): Correct over-length line.
      	(SUBTARGET_OVERRIDE_OPTIONS): New.
      	(MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
      	* config/i386/i386.c (config/i386/i386.c): Darwin has no PLT.
      	(legitimate_constant_p): Handle mdynamic-no-pic.
      	(ix86_legitimate_address_p): Likewise.
      	(ix86_legitimize_address): Likewise.
      	(ix86_expand_move): Likewise.
      	(machopic_output_stub): Update for ATT-style stubs and
      	mdynamic-no-pic.
      	* config/darwin-protos.h (machopic_symbol_defined_p): New.
      	* config/rs6000/darwin.h (DARWIN_PPC): Define to 1.
      	TARGET_DYNAMIC_NO_PIC: Remove.
      	Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
      	UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
      	* config/rs6000/rs6000.c (darwin_rs6000_override_options):
      	Remove handling of mdynamic-no-pic.
      	* config/darwin.c (HAVE_lo_sum, gen_macho_high, gen_macho_low):
      	Define if required.
      	(machopic_symbol_defined_p): Do not try to use current_function_decl
      	when generating _get_pc thunks within stubs.
      	(machopic_indirect_data_reference): Rework for direct conditionals 
      	rather than #ifdefs, add x86 mdynamic-no-pic
      	(machopic_legitimize_pic_address): Update to use HAVE_lo_sum with a
      	defined value.
      	(darwin_override_options): Handle mdynamic-no-pic here.
      	* config/darwin-sections.def (machopic_lazy_symbol_ptr2_section): New.
      	(machopic_lazy_symbol_ptr3_section): New.
      	(machopic_picsymbol_stub2_section): New.
      	(machopic_picsymbol_stub3_section): New.
      	* config/darwin.h (DARWIN_X86, DARWIN_PPC): Define to 0.
      	(MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
      	(HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
      	Moved common definition from x86 and rs6000.
      	(MACHO_DYNAMIC_NO_PIC_P): Override value.
      	(MACHOPIC_INDIRECT): Likewise.
      	(MACHOPIC_PURE): Likewise.
      	* config.gcc (x86-darwin-*): Remove darwin.opt.
      
      From-SVN: r166184
      Iain Sandoe committed
    • re PR testsuite/46249 (gcc.dg/tree-ssa/ssa-ccp-32.c: dubious test) · 551677bf
      2010-11-02  Richard Guenther  <rguenther@suse.de>
      
      	PR testsuite/46249
      	* gcc.dg/tree-ssa/ssa-ccp-32.c: Fix operator precedence.
      
      From-SVN: r166183
      Richard Guenther committed
    • re PR debug/46255 (-fcompare-debug failure with -fprofile-generate) · f6f2ca8f
      	PR debug/46255
      	* tree-cfg.c (gimple_flow_call_edges_add): Use gsi_last_nondebug_bb
      	instead of gsi_last_bb.
      
      	* gcc.dg/pr46255.c: New test.
      
      From-SVN: r166182
      Jakub Jelinek committed
    • Fix PR c++/46170, c++/46162 · 574e2ba2
      gcc/cp/ChangeLog:
      	PR c++/46170
      	PR c++/46162
      	* pt.c (check_valid_ptrmem_cst_expr): Add a complain parameter to
      	control diagnostic.
      	(convert_nontype_argument, convert_nontype_argument): Pass the
      	complain parameter down to check_valid_ptrmem_cst_expr.
      
      gcc/testsuite/ChangeLog:
      	PR c++/46170
      	PR c++/46162
      	* g++.dg/template/sfinae26.C: New test.
      	* g++.dg/template/sfinae27.C: Likewise.
      
      From-SVN: r166181
      Dodji Seketeli committed
    • PR 45629 Remove usage of setjmp/longjmp · c86af7f3
      From-SVN: r166180
      Janne Blomqvist committed
    • Restore canonical type comparison for dependent type(def)s · 6f1abb06
      This patch restores canonical type comparison for dependent types and
      then dependent typedefs. After this patch, two template type
      parameters T are equal if they have the same index, level, *and*
      number of sibling parameters. The novelty is to take in account the
      number of sibling parameters.
      
      To do this we first build the template parameters w/o taking in
      account their number of siblings. When we know the number of template
      parameters we fix up each template parameter with the number of
      slibling parameters and we build the appropriate canonical types
      accordingly. The patch fixes the fallouts deemed necessary.
      
      This fixes PR c++/45606 but actually fixes all the previous bugs
      related to dependent typedef comparison we had since we started to
      properly representing dependent typedefs.
      
      gcc/cp/ChangeLog:
      	PR c++/45606
      	* cp-tree.h (TEMPLATE_TYPE_PARM_SIBLING_PARMS): Remove.
      	(struct template_parm_index_s)<num_siblings>: New field.
      	(TEMPLATE_PARM_NUM_SIBLINGS): New accessor.
      	(process_template_parm): Extend the API to accept the number of
      	template parms in argument.
      	(cp_set_underlying_type): Remove this.
      	* class.c (build_self_reference): Require canonical type equality
      	back on the self reference of class.
      	* decl2.c (grokfield): Require canonical type equality back on
      	typedef class fields.
      	* name-lookup.c (pushdecl_maybe_friend): Require canonical type
      	equality back on typedefs.
      	* parser.c (cp_parser_template_parameter_list): Do not require
      	canonical type equality on dependent types created during
      	template parameters parsing.
      	* pt.c (fixup_template_type_parm_type, fixup_template_parm_index)
      	(fixup_template_parm, fixup_template_parms): New private
      	functions.
      	(current_template_args): Declare this.
      	(process_template_parm): Pass the total number of template parms
      	to canonical_type_parameter.
      	(build_template_parm_index): Add a new argument to carry the total
      	number of template parms.
      	(reduce_template_parm_level, process_template_parm, make_auto): Adjust.
      	(current_template_args): Fix this for template template
      	parameters.
      	(tsubst_template_parm): Split out of ...
      	(tsubst_template_parms): ... this.
      	(reduce_template_parm_level): Don't loose
      	TEMPLATE_PARM_NUM_SIBLINGS when cloning a TEMPLATE_PARM_INDEX.
      	(template_parm_to_arg): Extracted this function from
      	current_template_args. Make it represent invalid template parms
      	with an error_mark_node instead of a LIST_TREE containing an
      	error_mark_node.
      	(current_template_args): Use template_parm_to_arg.
      	(dependent_template_arg_p): Consider an invalid template argument
      	as dependent.
      	(end_template_parm_list): Do not update template sibling parms
      	here anymore. Use fixup_template_parms instead.
      	(process_template_parm): Pass the number of template parms to
      	canonical_type_parameter.
      	(make_auto): Require structural equality on auto
      	TEMPLATE_TYPE_PARM for now.
      	(unify)<BOUND_TEMPLATE_TEMPLATE_PARM>: Coerce template parameters
      	using all the arguments deduced so far.
      	(tsubst)<TEMPLATE_TYPE_PARM>: Pass the number of sibling parms to
      	canonical_type_parameter.
      	* tree.c (cp_set_underlying_type): Remove.
      	* typeck.c (get_template_parms_of_dependent_type)
      	(incompatible_dependent_types_p): Remove.
      	(structural_comptypes): Do not call incompatible_dependent_types_p
      	anymore.
      	(comp_template_parms_position): Re-organized. Take the length of
      	template parms list in account.
      
      gcc/testsuite/ChangeLog:
      	PR c++/45606
      	* g++.dg/template/typedef36.C: New test.
      	* gcc/testsuite/g++.dg/template/canon-type-9.C: Likewise.
      	* g++.dg/template/canon-type-10.C: Likewise.
      	* g++.dg/template/canon-type-11.C: Likewise.
      	* g++.dg/template/canon-type-12.C: Likewise.
      	* g++.dg/template/canon-type-13.C: Likewise.
      
      From-SVN: r166179
      Dodji Seketeli committed