]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
12 years agoImplement the K-distribution as an extension.
Edward Smith-Rowland [Tue, 25 Sep 2012 03:26:36 +0000 (03:26 +0000)] 
Implement the K-distribution as an extension.

From-SVN: r191688

12 years agoDaily bump.
GCC Administrator [Tue, 25 Sep 2012 00:17:43 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r191687

12 years agocompiler: Better warning for switch on non-comparable type.
Ian Lance Taylor [Mon, 24 Sep 2012 22:21:49 +0000 (22:21 +0000)] 
compiler: Better warning for switch on non-comparable type.

From-SVN: r191683

12 years agotree-cfg.c (move_stmt_op): Reset the expr block only when necessary.
Dehao Chen [Mon, 24 Sep 2012 20:50:46 +0000 (20:50 +0000)] 
tree-cfg.c (move_stmt_op): Reset the expr block only when necessary.

2012-09-24  Dehao Chen  <dehao@google.com>

* tree-cfg.c (move_stmt_op): Reset the expr block only
when necessary.
(move_block_to_fn): Reset the edge's goto block even
when the goto locus is unknown.

From-SVN: r191680

12 years agore PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers)
François Dumont [Mon, 24 Sep 2012 19:53:36 +0000 (19:53 +0000)] 
re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers)

2012-09-24  François Dumont  <fdumont@gcc.gnu.org>

PR libstdc++/44436
* include/bits/stl_tree.h
(_Rb_tree<>::_M_insert_): Take _Base_ptr rather than
_Const_Base_ptr.
(_Rb_tree<>::_M_insert_node): New.
(_Rb_tree<>::_M_get_insert_unique_pos): New, search code of
_M_insert_unique method.
(_Rb_tree<>::_M_insert_unique): Use latter.
(_Rb_tree<>::_M_emplace_unique): New, likewise.
(_Rb_tree<>::_M_get_insert_equal_pos): New, search code of
_M_insert_equal method.
(_Rb_tree<>::_M_insert_equal): Use latter.
(_Rb_tree<>::_M_emplace_equal): New, likewise.
(_Rb_tree<>::_M_get_insert_hint_unique_pos): New, search code of
_M_insert_unique_ method.
(_Rb_tree<>::_M_insert_unique_): Use latter.
(_Rb_tree<>::_M_emplace_hint_unique): New, likewise.
(_Rb_tree<>::_M_get_insert_hint_equal_pos): New, search code of
_M_insert_equal_ method.
(_Rb_tree<>::_M_insert_equal_): Use latter.
(_Rb_tree<>::_M_emplace_hint_equal): New, likewise.
(_Rb_tree<>::_M_insert_lower): Remove first _Base_ptr parameter,
useless as always null.
* include/bits/stl_map.h: Include <tuple> in C++11.
(map<>::operator[](const key_type&)): Use
_Rb_tree<>::_M_emplace_hint_unique in C++11.
(map<>::operator[](key_type&&)): Likewise.
(map<>::emplace): New.
(map<>::emplace_hint): New.
* include/bits/stl_multimap.h (multimap<>::emplace): New.
(multimap<>::emplace_hint): New.
* include/bits/stl_set.h (set<>::emplace): New.
(set<>::emplace_hint): New.
* include/bits/stl_multiset.h (multiset<>::emplace): New.
(multiset<>::emplace_hint): New.
* include/debug/map.h (std::__debug::map<>::emplace): New.
(std::__debug::map<>::emplace_hint): New.
* include/debug/multimap.h (std::__debug::multimap<>::emplace):
New.
(std::__debug::multimap<>::emplace_hint): New.
* include/debug/set.h (std::__debug::set<>::emplace): New.
(std::__debug::set<>::emplace_hint): New.
* include/debug/multiset.h (std::__debug::multiset<>::emplace):
New.
(std::__debug::multiset<>::emplace_hint): New.
* include/profile/map.h (std::__profile::map<>::emplace): New.
(std::__profile::map<>::emplace_hint): New.
* include/profile/multimap.h (std::__profile::multimap<>::emplace):
New.
(std::__profile::multimap<>::emplace_hint): New.
* include/profile/set.h (std::__profile::set<>::emplace): New.
(std::__profile::set<>::emplace_hint): New.
* include/profile/multiset.h (std::__profile::multiset<>::emplace):
New.
(std::__profile::multiset<>::emplace_hint): New.
* testsuite/util/testsuite_container_traits.h: Signal that emplace
and emplace_hint are available on std::map, std::multimap,
std::set and std::multiset in C++11.
* testsuite/23_containers/map/operators/2.cc: New.
* testsuite/23_containers/map/modifiers/emplace/1.cc: New.
* testsuite/23_containers/multimap/modifiers/emplace/1.cc: New.
* testsuite/23_containers/set/modifiers/emplace/1.cc: New.
* testsuite/23_containers/multiset/modifiers/emplace/1.cc: New.

From-SVN: r191679

12 years ago41975.cc: Use __uset_hashtable rather than removed __unordered_set.
François Dumont [Mon, 24 Sep 2012 19:48:06 +0000 (19:48 +0000)] 
41975.cc: Use __uset_hashtable rather than removed __unordered_set.

2012-09-24  François Dumont  <fdumont@gcc.gnu.org>

* testsuite/performance/23_containers/insert_erase/41975.cc: Use
__uset_hashtable rather than removed __unordered_set.

From-SVN: r191678

12 years agoAdd missing PR to the ChangeLog
Tobias Burnus [Mon, 24 Sep 2012 19:07:28 +0000 (21:07 +0200)] 
Add missing PR to the ChangeLog

From-SVN: r191677

12 years agore PR fortran/54618 ([OOP] wrong-code with CLASS(...), INTENT(OUT) -- and OPTIONAL...
Tobias Burnus [Mon, 24 Sep 2012 19:05:18 +0000 (21:05 +0200)] 
re PR fortran/54618 ([OOP] wrong-code with CLASS(...), INTENT(OUT) -- and OPTIONAL or ALLOCATABLE)

2012-09-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54618
        * trans-expr.c (gfc_conv_procedure_call): Fix INTENT(OUT)
        handling for allocatable BT_CLASS.

From-SVN: r191676

12 years agoFinish conversion of uses of double_int to the new API.
Lawrence Crowl [Mon, 24 Sep 2012 18:22:31 +0000 (18:22 +0000)] 
Finish conversion of uses of double_int to the new API.

Some old functionality required new interfaces, and these have been added to
double-int.[hc]:

  double_int::from_pair - static constructor function
  wide_mul_with_sign - double-wide multiply instruction
  sub_with_overflow - subtraction with overlow testing
  neg_with_overflow - negation with overlow testing
  divmod_with_overflow - div and mod with overlow testing

This patch corrects the bootstrap problem on HPPA, via the addition of
sub_with_overflow.  (The overflow properties of negation and addition are
different from subtraction.)

The prior two generations of the interface have been removed.

Some of these old interfaces are still used as static implementation in
double-int.c.

The changed compiler appears 0.321% faster with 80% confidence of being faster.

Tested on x86_64, HPPA, and SPARC.  However, there are changes to the avr
config files, and I have not tested those.

Index: gcc/java/ChangeLog

2012-09-24  Lawrence Crowl  <crowl@google.com>

* decl.c (java_init_decl_processing): Change to new double_int API.
* jcf-parse.c (get_constant): Likewise.
* boehm.c (mark_reference_fields): Likewise.
(get_boehm_type_descriptor): Likewise.

Index: gcc/ChangeLog

2012-09-24  Lawrence Crowl  <crowl@google.com>

* double-int.h (double_int::from_pair): New.
(double_int::wide_mul_with_sign): New.
(double_int::sub_with_overflow): New.
(double_int::neg_with_overflow): New.
(double_int::divmod_with_overflow): New.
(shwi_to_double_int): Remove.
(uhwi_to_double_int): Remove.
(double_int_to_shwi): Remove.
(double_int_to_uhwi): Remove.
(double_int_fits_in_uhwi_p): Remove.
(double_int_fits_in_shwi_p): Remove.
(double_int_fits_in_hwi_p): Remove.
(double_int_mul): Remove.
(double_int_mul_with_sign): Remove.
(double_int_add): Remove.
(double_int_sub): Remove.
(double_int_neg): Remove.
(double_int_div): Remove.
(double_int_sdiv): Remove.
(double_int_udiv): Remove.
(double_int_mod): Remove.
(double_int_smod): Remove.
(double_int_umod): Remove.
(double_int_divmod): Remove.
(double_int_sdivmod): Remove.
(double_int_udivmod): Remove.
(double_int_multiple_of): Remove.
(double_int_setbit): Remove.
(double_int_ctz): Remove.
(double_int_not): Remove.
(double_int_ior): Remove.
(double_int_and): Remove.
(double_int_and_not): Remove.
(double_int_xor): Remove.
(double_int_lshift): Remove.
(double_int_rshift): Remove.
(double_int_lrotate): Remove.
(double_int_rrotate): Remove.
(double_int_negative_p): Remove.
(double_int_cmp): Remove.
(double_int_scmp): Remove.
(double_int_ucmp): Remove.
(double_int_max): Remove.
(double_int_smax): Remove.
(double_int_umax): Remove.
(double_int_min): Remove.
(double_int_smin): Remove.
(double_int_umin): Remove.
(double_int_ext): Remove.
(double_int_sext): Remove.
(double_int_zext): Remove.
(double_int_mask): Remove.
(double_int_max_value): Remove.
(double_int_min_value): Remove.
(double_int_zero_p): Remove.
(double_int_one_p): Remove.
(double_int_minus_one_p): Remove.
(double_int_equal_p): Remove.
(double_int_popcount): Remove.
(extern add_double_with_sign): Remove.
(#define add_double): Remove.
(extern neg_double): Remove.
(extern mul_double_with_sign): Remove.
(extern mul_double_wide_with_sign): Remove.
(#define mul_double): Remove.
(extern lshift_double): Remove.
(extern div_and_round_double): Remove.
* double-int.c (add_double_with_sign): Make static.
(#defined add_double): Localized from header.
(neg_double): Make static.
(mul_double_with_sign): Make static.
(mul_double_wide_with_sign): Make static.
(#defined mul_double): Localized from header.
(lshift_double): Make static.
(div_and_round_double): Make static.
(double_int::wide_mul_with_sign): New.
(double_int::sub_with_overflow): New.
(double_int::neg_with_overflow): New.
(double_int::divmod_with_overflow): New.
* emit-rtl.c (init_emit_once): Change to new double_int API.
* explow.c (plus_constant): Likewise.
* expmed.c (choose_multiplier): Likewise.
* fold-const.c (#define OVERFLOW_SUM_SIGN): Remove.
(int_const_binop_1): Change to new double_int API.
(fold_div_compare): Likewise.
(maybe_canonicalize_comparison): Likewise.
(pointer_may_wrap_p): Likewise.
(fold_negate_const): Likewise.
(fold_abs_const): Likewise.
* simplify-rtx.c (simplify_const_unary_operation): Likewise.
(simplify_const_binary_operation): Likewise.
* tree-chrec.c (tree_fold_binomial): Likewise.
* tree-vrp.c (extract_range_from_binary_expr_1): Likewise.
* config/sparc/sparc.c (sparc_fold_builtin): Likewise.
* config/avr/avr.c (avr_double_int_push_digit): Likewise.
(avr_map): Likewise.
(avr_map_decompose): Likewise.
(avr_out_insert_bits): Likewise.

Index: gcc/cp/ChangeLog

2012-09-24  Lawrence Crowl  <crowl@google.com>

* init.c (build_new_1): Change to new double_int API.
* decl.c (build_enumerator): Likewise.
* typeck2.c (process_init_constructor_array): Likewise.
* mangle.c (write_array_type): Likewise.

Index: gcc/fortran/ChangeLog

2012-09-24  Lawrence Crowl  <crowl@google.com>

* trans-expr.c (gfc_conv_cst_int_power): Change to new double_int API.
* target-memory.c (gfc_interpret_logical): Likewise.

From-SVN: r191675

12 years agore PR c++/50828 (class template parameter not printed for member function template...
Paolo Carlini [Mon, 24 Sep 2012 16:56:41 +0000 (16:56 +0000)] 
re PR c++/50828 (class template parameter not printed for member function template in candidate list)

2012-09-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50828
* error.c (dump_function_decl): Strip TFF_TEMPLATE_NAME from flags
at the outset.

From-SVN: r191673

12 years ago* decl.c (get_atexit_node): Remove dead code.
Jason Merrill [Mon, 24 Sep 2012 15:37:42 +0000 (11:37 -0400)] 
* decl.c (get_atexit_node): Remove dead code.

From-SVN: r191672

12 years ago* Make-lang.in (cp/parser.o): Depend on decl.h.
Jason Merrill [Mon, 24 Sep 2012 15:36:51 +0000 (11:36 -0400)] 
* Make-lang.in (cp/parser.o): Depend on decl.h.

From-SVN: r191671

12 years agodoc/sourcebuild.texi (Selectors): Document the use of target and xfail used together.
Janis Johnson [Mon, 24 Sep 2012 15:15:14 +0000 (15:15 +0000)] 
doc/sourcebuild.texi (Selectors): Document the use of target and xfail used together.

doc/sourcebuild.texi (Selectors): Document the use of target
and xfail used together.
testsuite/
* lib/target-supports-dg.exp (dg-require-effective-target,
dg-skip-if, dg-xfail-if, dg-xfail-run-if, dg-shouldfail): Call
dg-process-target-1 instead of dg-process-target.
(dg-process-target-1): Rename from dg-process-target.
(dg-process-target): New.

From-SVN: r191670

12 years agore PR lto/54632 (not supported in LTO streams : tree code '�F ��D�� `)
Richard Guenther [Mon, 24 Sep 2012 15:02:53 +0000 (15:02 +0000)] 
re PR lto/54632 (not supported in LTO streams : tree code '�F ��D�� `)

2012-09-24  Richard Guenther  <rguenther@suse.de>

PR middle-end/54632
* tree-ssa-live.c (clear_unused_block_pointer_1): Do not
handle DECL_DEBUG_EXPR_IS_FROM here...
(clear_unused_block_pointer): ... but here when walking all
local decls.

From-SVN: r191669

12 years agore PR tree-optimization/54684 (bootstrap broken with --disable-checking)
Richard Guenther [Mon, 24 Sep 2012 14:14:18 +0000 (14:14 +0000)] 
re PR tree-optimization/54684 (bootstrap broken with --disable-checking)

2012-09-24  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54684
* tree-ssa-ccp.c (optimize_unreachable): Properly update stmts.

* g++.dg/torture/pr54684.C: New testcase.

From-SVN: r191667

12 years agotree-ssa-forwprop.c: Include tree-ssa-propagate.h.
Marc Glisse [Mon, 24 Sep 2012 12:43:43 +0000 (14:43 +0200)] 
tree-ssa-forwprop.c: Include tree-ssa-propagate.h.

2012-09-24  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree-ssa-forwprop.c: Include tree-ssa-propagate.h.
(simplify_bitfield_ref): Handle constructors.
* Makefile.in (tree-ssa-forwprop.o): Depend on tree-ssa-propagate.h.

gcc/testsuite/
* gcc.dg/tree-ssa/forwprop-23.c: New testcase.

From-SVN: r191665

12 years agotree-ssa-pre.c (bitmap_find_leader, [...]): Remove dominating stmt argument.
Richard Guenther [Mon, 24 Sep 2012 10:53:22 +0000 (10:53 +0000)] 
tree-ssa-pre.c (bitmap_find_leader, [...]): Remove dominating stmt argument.

2012-09-24  Richard Guenther  <rguenther@suse.de>

* tree-ssa-pre.c (bitmap_find_leader, create_expression_by_pieces,
find_or_generate_expression): Remove dominating stmt argument.
(find_leader_in_sets, phi_translate_1, bitmap_find_leader,
create_component_ref_by_pieces_1, create_component_ref_by_pieces,
do_regular_insertion, do_partial_partial_insertion): Adjust.
(compute_avail): Do not set uids.

From-SVN: r191664

12 years agotree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in TYPE_NONALIASED_CO...
Eric Botcazou [Mon, 24 Sep 2012 10:27:18 +0000 (10:27 +0000)] 
tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in TYPE_NONALIASED_COMPONENT flag.

* tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
TYPE_NONALIASED_COMPONENT flag.
* tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
TYPE_NONALIASED_COMPONENT flag.

From-SVN: r191662

12 years agolto.texi: Separate sections.
Jia Liu [Mon, 24 Sep 2012 09:36:42 +0000 (09:36 +0000)] 
lto.texi: Separate sections.

2012-09-24  Jia Liu  <proljc@gmail.com>

       * doc/lto.texi: Separate sections.
       * doc/plugins.texi: Likewise.

From-SVN: r191659

12 years agore PR middle-end/52173 (internal compiler error: verify_ssa failed possibly caused...
Richard Guenther [Mon, 24 Sep 2012 08:57:08 +0000 (08:57 +0000)] 
re PR middle-end/52173 (internal compiler error: verify_ssa failed possibly caused by itm)

2012-09-24  Richard Guenther  <rguenther@suse.de>

PR middle-end/52173
* gimple.c (gimple_copy): Properly mark the copy modified
if SSA operands are present.

* gcc.dg/tm/pr52173-1.c: New.
* gcc.dg/tm/pr52173-2.c: New.

From-SVN: r191658

12 years agoDaily bump.
GCC Administrator [Mon, 24 Sep 2012 00:17:52 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r191657

12 years agore PR tree-optimization/54669 (verify_flow_info failure after loop unrolling with...
Eric Botcazou [Sun, 23 Sep 2012 20:37:37 +0000 (20:37 +0000)] 
re PR tree-optimization/54669 (verify_flow_info failure after loop unrolling with -fnon-call-exceptions)

PR tree-optimization/54669
* tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Invoke
maybe_clean_or_replace_eh_stmt on the modified use statements.

From-SVN: r191654

12 years agoexpr.c (do_store_flag): Remove duplicated code.
Marc Glisse [Sun, 23 Sep 2012 19:58:28 +0000 (21:58 +0200)] 
expr.c (do_store_flag): Remove duplicated code.

2012-09-23  Marc Glisse  <marc.glisse@inria.fr>

* expr.c (do_store_flag): Remove duplicated code.

From-SVN: r191653

12 years agorevert: stl_algobase.h (max, min): Use conditional operator.
Paolo Carlini [Sun, 23 Sep 2012 19:58:16 +0000 (19:58 +0000)] 
revert: stl_algobase.h (max, min): Use conditional operator.

2012-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

Revert:
2012-09-21  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/stl_algobase.h (max, min): Use conditional operator.

From-SVN: r191652

12 years agore PR testsuite/54677 (FAIL: g++.dg/cpp0x/decltype32.C (test for excess errors) with...
Paolo Carlini [Sun, 23 Sep 2012 14:21:35 +0000 (14:21 +0000)] 
re PR testsuite/54677 (FAIL: g++.dg/cpp0x/decltype32.C (test for excess errors) with -m64 after revision 191564)

2012-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
    Dominique Dhumieres  <dominiq@lps.ens.fr>

PR testsuite/54677
* g++.dg/cpp0x/decltype32.C: Add -ftemplate-depth=10.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
From-SVN: r191651

12 years agore PR libstdc++/54675 (Many libstdc++ testsuite failures in ext/random)
Uros Bizjak [Sun, 23 Sep 2012 11:24:46 +0000 (13:24 +0200)] 
re PR libstdc++/54675 (Many libstdc++ testsuite failures in ext/random)

PR libstdc++/54675
* include/ext/random: Avoid the badname __alpha (and, for
consistency, __mu, __nu, __sigma and __omega too).
* include/bits/random.tcc: Likewise.

From-SVN: r191650

12 years agore PR fortran/54599 (Issues found in gfortran by the Coverity Scan)
Tobias Burnus [Sun, 23 Sep 2012 06:48:48 +0000 (08:48 +0200)] 
re PR fortran/54599 (Issues found in gfortran by the Coverity Scan)

2012-09-23  Tobias Burnus  <burnus@net-b.de>

        * parse.c (parse_derived): Don't set attr.alloc_comp
        for pointer components with allocatable subcomps.

        PR fortran/54599
        * resolve.c (resolve_fl_namelist): Remove superfluous
        NULL check.
        * simplify.c (simplify_min_max): Remove unreachable code.
        * trans-array.c (gfc_trans_create_temp_array): Change
        a condition into an assert.

        PR fortran/54618
        * trans-expr.c (gfc_trans_class_init_assign): Guard
        re-setting of the _data by gfc_conv_expr_present.
        (gfc_conv_procedure_call): Fix INTENT(OUT) handling
        for allocatable BT_CLASS.

2012-09-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54618
        * gfortran.dg/class_array_14.f90: New.

From-SVN: r191649

12 years agoDaily bump.
GCC Administrator [Sun, 23 Sep 2012 00:17:43 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r191648

12 years agopredicates.md (altivec_register_operand, [...]): If op is a SUBREG, consider its...
Segher Boessenkool [Sat, 22 Sep 2012 23:02:06 +0000 (01:02 +0200)] 
predicates.md (altivec_register_operand, [...]): If op is a SUBREG, consider its SUBREG_REG instead.

gcc/
* config/rs6000/predicates.md (altivec_register_operand,
vsx_register_operand, vfloat_operand, vint_operand,
vlogical_operand, gpc_reg_operand, cc_reg_operand,
cc_reg_not_cr0_operand, cc_reg_not_micro_cr0_operand):
If op is a SUBREG, consider its SUBREG_REG instead.

From-SVN: r191645

12 years agoscev-3.c: Add llp64 to xfail.
Kai Tietz [Sat, 22 Sep 2012 12:10:30 +0000 (14:10 +0200)] 
scev-3.c: Add llp64 to xfail.

        * gcc.dg/tree-ssa/scev-3.c: Add llp64 to xfail.
        * gcc.dg/tree-ssa/scev-4.c: Likewise.

From-SVN: r191642

12 years agooptabs.c (prepare_cmp_insn): Expand comparison of the result of memcmp through generi...
Uros Bizjak [Sat, 22 Sep 2012 11:39:48 +0000 (13:39 +0200)] 
optabs.c (prepare_cmp_insn): Expand comparison of the result of memcmp through generic comparison expansion code.

* optabs.c (prepare_cmp_insn): Expand comparison of the result
of memcmp through generic comparison expansion code.

From-SVN: r191641

12 years agore PR fortran/54599 (Issues found in gfortran by the Coverity Scan)
Thomas Koenig [Sat, 22 Sep 2012 10:32:51 +0000 (10:32 +0000)] 
re PR fortran/54599 (Issues found in gfortran by the Coverity Scan)

2012-09-22  Thomas König  <tkoenig@gcc.gnu.org>

PR fortran/54599
* dependency.c (gfc_dep_compare_expr):  Clarify logic,
remove dead code.

From-SVN: r191640

12 years agoruntime: Reject surrogate pairs in range over string.
Ian Lance Taylor [Sat, 22 Sep 2012 07:18:45 +0000 (07:18 +0000)] 
runtime: Reject surrogate pairs in range over string.

From-SVN: r191638

12 years agocompiler, runtime: Reject surrogate pair converting int to string.
Ian Lance Taylor [Sat, 22 Sep 2012 06:51:59 +0000 (06:51 +0000)] 
compiler, runtime: Reject surrogate pair converting int to string.

From-SVN: r191636

12 years agocompiler: No error if shift operand inherits interface type.
Ian Lance Taylor [Sat, 22 Sep 2012 06:33:10 +0000 (06:33 +0000)] 
compiler: No error if shift operand inherits interface type.

From-SVN: r191634

12 years agoruntime: Return random number of hash of NaN.
Ian Lance Taylor [Sat, 22 Sep 2012 06:06:31 +0000 (06:06 +0000)] 
runtime: Return random number of hash of NaN.

From-SVN: r191632

12 years agocompiler: Fix determining types for builtin complex function.
Ian Lance Taylor [Sat, 22 Sep 2012 06:02:35 +0000 (06:02 +0000)] 
compiler: Fix determining types for builtin complex function.

From-SVN: r191630

12 years agoAdd -mno-crt0 to moxie port
Anthony Green [Sat, 22 Sep 2012 02:04:56 +0000 (02:04 +0000)] 
Add -mno-crt0 to moxie port

From-SVN: r191629

12 years agocompiler: Fix unnamed struct type converted to interface type.
Ian Lance Taylor [Sat, 22 Sep 2012 01:15:28 +0000 (01:15 +0000)] 
compiler: Fix unnamed struct type converted to interface type.

From-SVN: r191627

12 years agoDaily bump.
GCC Administrator [Sat, 22 Sep 2012 00:17:24 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r191625

12 years agocompiler: Better error messages for single- and multiple- value.
Ian Lance Taylor [Fri, 21 Sep 2012 22:11:24 +0000 (22:11 +0000)] 
compiler: Better error messages for single- and multiple- value.

From-SVN: r191621

12 years agocompiler: Better error message if method requires pointer receiver.
Ian Lance Taylor [Fri, 21 Sep 2012 21:07:24 +0000 (21:07 +0000)] 
compiler: Better error message if method requires pointer receiver.

From-SVN: r191619

12 years agoRemove lto-symtab.o's dependency on gt-lto-symtab.h
Jack Howarth [Fri, 21 Sep 2012 20:07:36 +0000 (20:07 +0000)] 
Remove lto-symtab.o's dependency on gt-lto-symtab.h

PR bootstrap/54642
* Makefile.in (lto-symtab.o): Remove gt-lto-symtab.h dependency.

From-SVN: r191618

12 years agocompiler: len(<-c) is not a constant.
Ian Lance Taylor [Fri, 21 Sep 2012 17:48:30 +0000 (17:48 +0000)] 
compiler: len(<-c) is not a constant.

From-SVN: r191616

12 years agore PR middle-end/54649 (Go bootstrap failed)
Dehao Chen [Fri, 21 Sep 2012 17:01:36 +0000 (17:01 +0000)] 
re PR middle-end/54649 (Go bootstrap failed)

2012-09-21  Dehao Chen  <dehao@google.com>

PR go/54649
PR tree-optimization/54655
* g++.dg/pr54655.C: New testcase.

From-SVN: r191615

12 years agore PR middle-end/54649 (Go bootstrap failed)
Dehao Chen [Fri, 21 Sep 2012 15:35:46 +0000 (15:35 +0000)] 
re PR middle-end/54649 (Go bootstrap failed)

2012-09-21  Dehao Chen  <dehao@google.com>

PR go/54649
* tree-eh.c (lower_try_finally_dup_block): Set the correct block for
stmts in the duplicated EH block.

From-SVN: r191614

12 years agore PR tree-optimization/54647 (Segmentation fault in get_expr_value_id with -O2)
Richard Guenther [Fri, 21 Sep 2012 12:44:07 +0000 (12:44 +0000)] 
re PR tree-optimization/54647 (Segmentation fault in get_expr_value_id with -O2)

2012-09-21  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54647
* tree-ssa-pre.c (compute_avail): Do not put COND_EXPR
or VEC_COND_EXPR into EXP_GEN again.

* g++.dg/torture/pr54647.C: New testcase.

From-SVN: r191613

12 years agoImplement the Pareto distribution as an extension.
Edward Smith-Rowland [Fri, 21 Sep 2012 12:33:20 +0000 (12:33 +0000)] 
Implement the Pareto distribution as an extension.

From-SVN: r191612

12 years agore PR tree-optimization/54629 (ICE (segfault) in index_in_loop_nest tree-data-ref...
Jakub Jelinek [Fri, 21 Sep 2012 11:54:14 +0000 (13:54 +0200)] 
re PR tree-optimization/54629 (ICE (segfault) in index_in_loop_nest tree-data-ref.h:608)

2012-09-21  Jakub Jelinek  <jakub@redhat.com>

PR tree-optimization/54629
* tree-loop-distribution.c (classify_partition): Free loop nest only
after freeing ddr.  Free ddr and loop nest also if successful.

From-SVN: r191611

12 years agoarm.c (arm_mangle_type): Don't warn anymore that 4.4 has changed the `va_list' mangling.
Matthias Klose [Fri, 21 Sep 2012 11:12:44 +0000 (11:12 +0000)] 
arm.c (arm_mangle_type): Don't warn anymore that 4.4 has changed the `va_list' mangling.

2012-09-21  Matthias Klose  <doko@ubuntu.com>

        * config/arm/arm.c (arm_mangle_type): Don't warn anymore that
        4.4 has changed the `va_list' mangling.

From-SVN: r191610

12 years agore PR rtl-optimization/54290 (wrong code at -O2 with large offset)
Eric Botcazou [Fri, 21 Sep 2012 11:06:51 +0000 (11:06 +0000)] 
re PR rtl-optimization/54290 (wrong code at -O2 with large offset)

PR rtl-optimization/54290
PR rtl-optimization/54644
* reload1.c (choose_reload_regs): Fix thinko in previous change.

From-SVN: r191609

12 years agostl_algobase.h (max, min): Use conditional operator.
Paolo Carlini [Fri, 21 Sep 2012 10:48:30 +0000 (10:48 +0000)] 
stl_algobase.h (max, min): Use conditional operator.

2012-09-21  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/stl_algobase.h (max, min): Use conditional operator.

From-SVN: r191608

12 years agore PR c++/54427 (Expose more vector extensions)
Marc Glisse [Fri, 21 Sep 2012 09:19:39 +0000 (11:19 +0200)] 
re PR c++/54427 (Expose more vector extensions)

2012-09-21  Marc Glisse  <marc.glisse@inria.fr>

PR c++/54427
* c-c++-common/torture/vector-compare-2.c: Add -w.

From-SVN: r191604

12 years agors6000.md (define_split for plus_eqsi): Fix output pattern.
Segher Boessenkool [Fri, 21 Sep 2012 00:33:27 +0000 (02:33 +0200)] 
rs6000.md (define_split for plus_eqsi): Fix output pattern.

2012-09-20  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/
        * config/rs6000/rs6000.md (define_split for plus_eqsi):
        Fix output pattern.

From-SVN: r191600

12 years agoDaily bump.
GCC Administrator [Fri, 21 Sep 2012 00:18:32 +0000 (00:18 +0000)] 
Daily bump.

From-SVN: r191599

12 years ago* reload1.c (choose_reload_regs): Add missing #ifdef/#endif pair.
Eric Botcazou [Thu, 20 Sep 2012 22:38:42 +0000 (22:38 +0000)] 
* reload1.c (choose_reload_regs): Add missing #ifdef/#endif pair.

From-SVN: r191596

12 years agore PR bootstrap/54643 (Build hangs compiling unwind-arm.c)
Bernd Schmidt [Thu, 20 Sep 2012 22:01:47 +0000 (22:01 +0000)] 
re PR bootstrap/54643 (Build hangs compiling unwind-arm.c)

PR bootstrap/54643
* haifa-sched.c (schedule_block): Skip find_modifiable_mems if using
SCHED_PRESSURE_MODEL.

From-SVN: r191595

12 years agoopt20.ads: Move dg directive to...
Eric Botcazou [Thu, 20 Sep 2012 21:58:46 +0000 (21:58 +0000)] 
opt20.ads: Move dg directive to...

* gnat.dg/opt20.ads: Move dg directive to...
* gnat.dg/opt20.adb: ...here.
* gnat.dg/addr1.ad[sb]: Likewise.
* gnat.dg/concat2.ad[sb]: Likewise.
* gnat.dg/array16.ad[sb]: Likewise.
* gnat.dg/atomic5.ad[sb]: Likewise.
* gnat.dg/discr29.ad[sb]: Likewise.
* gnat.dg/noreturn5.ad[sb]: Likewise.
* gnat.dg/vect8.ad[sb]: Likewise.  Add dg-options.
* gnat.dg/discr23.ads: Remove dg directive.
* gnat.dg/nested_float_packed.ads: Likewise.
* gnat.dg/oconst6.ads: Move to...
* gnat.dg/specs/oconst6.ads: ...here.

From-SVN: r191592

12 years agore PR fortran/54599 (Issues found in gfortran by the Coverity Scan)
Tobias Burnus [Thu, 20 Sep 2012 20:49:20 +0000 (22:49 +0200)] 
re PR fortran/54599 (Issues found in gfortran by the Coverity Scan)

2012-09-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54599
        * cpp.c (print_line): Properly handle extern C.

From-SVN: r191590

12 years ago* rtlanal.c (dead_or_set_regno_p): Fix COND_EXEC handling.
Joern Rennecke [Thu, 20 Sep 2012 20:17:34 +0000 (20:17 +0000)] 
* rtlanal.c (dead_or_set_regno_p): Fix COND_EXEC handling.

From-SVN: r191586

12 years agoAdd tilegx to list of targets that support gold.
Walter Lee [Thu, 20 Sep 2012 19:17:51 +0000 (19:17 +0000)] 
Add tilegx to list of targets that support gold.

       * configure.ac: Add tilegx to list of targets that support gold.
       * configure: Regenerate.

From-SVN: r191585

12 years agocompiler: Update for GCC push_cfun changes.
Ian Lance Taylor [Thu, 20 Sep 2012 17:33:26 +0000 (17:33 +0000)] 
compiler: Update for GCC push_cfun changes.

From-SVN: r191582

12 years agoMerge identical cases.
Marek Polacek [Thu, 20 Sep 2012 17:05:41 +0000 (17:05 +0000)] 
Merge identical cases.

From-SVN: r191581

12 years agoDon't cast XNEWVEC's result.
Marek Polacek [Thu, 20 Sep 2012 17:02:40 +0000 (17:02 +0000)] 
Don't cast XNEWVEC's result.

From-SVN: r191580

12 years agoAdd myself to MAINTAINERS.
Marek Polacek [Thu, 20 Sep 2012 16:45:28 +0000 (16:45 +0000)] 
Add myself to MAINTAINERS.

From-SVN: r191578

12 years agofunction.c (push_cfun): Check old current_function_decl matches old cfun...
Martin Jambor [Thu, 20 Sep 2012 16:35:40 +0000 (18:35 +0200)] 
function.c (push_cfun): Check old current_function_decl matches old cfun...

2012-09-20  Martin Jambor  <mjambor@suse.cz>

* function.c (push_cfun): Check old current_function_decl matches
old cfun, set new current_function_decl to the decl of the new
cfun.
(push_struct_function): Likewise.
(pop_cfun): Likewise.
(allocate_struct_function): Move call to
invoke_set_current_function_hook to the end of the function.
* cfgexpand.c (estimated_stack_frame_size): Do not set and restore
current_function_decl.
* cgraph.c (cgraph_release_function_body): Likewise.
* cgraphunit.c (cgraph_process_new_functions): Likewise.
(cgraph_add_new_function): Likewise.
(cgraph_analyze_function): Likewise.
(assemble_thunk): Set cfun to NULL at the end.
(expand_function): Move call to set_cfun downwards.
* gimple-low.c (record_vars_into): Only check current_function_decl
before possibly doing push_cfun.
* gimplify.c (gimplify_function_tree): Do not set and restore
current_function_decl.
* ipa-inline-analysis.c (compute_inline_parameters): Likewise.
(inline_analyze_function): Likewise.
* ipa-prop.c (ipa_analyze_node): Likewise.
* ipa-pure-const.c (analyze_function): Likewise.
* lto-streamer-in.c (lto_input_function_body): Do not set
current_function_decl.
* lto-streamer-out.c (output_function): Do not set and restore
current_function_decl.
* omp-low.c (finalize_task_copyfn): Likewise.
(expand_omp_taskreg): Likewise.
(create_task_copyfn): Likewise, move push_cfun up quite a bit.
* passes.c (dump_passes): Do not set and restore current_function_decl.
(do_per_function): Likewise.
(do_per_function_toporder): Likewise.
* trans-mem.c (ipa_tm_scan_irr_function): Likewise.
(ipa_tm_transform_transaction): Likewise.
(ipa_tm_transform_clone): Likewise.
(ipa_tm_execute): Likewise.
* tree-emutls.c (lower_emutls_function_body): Likewise.
* tree-inline.c (initialize_cfun): Do not call pop_cfun.
(tree_function_versioning): Do not call push_cfun, do not set and
restore current_function_decl.  Remove assert checking consistency of
cfun and current_function_decl.
* tree-profile.c (tree_profiling): Do not set and restore
current_function_decl.
* tree-sra.c (convert_callers_for_node): Do not set
current_function_decl.
(convert_callers): Do not restore current_function_decl.
(modify_function): Do not set current_function_decl.
* tree-ssa-structalias.c (ipa_pta_execute): Do not set and restore
current_function_decl.

fortran/
* trans-decl.c (gfc_get_extern_function_decl): Push NULL cfun.  Do not
set and restore current_function_decl.
(gfc_init_coarray_decl): Do not set and restore current_function_decl.

lto/
* lto.c (lto_materialize_function): Call push_struct_function and
pop_cfun.

From-SVN: r191577

12 years agolibgo: Add no-dist and -Wno-portability to AM_INIT_AUTOMAKE.
Ian Lance Taylor [Thu, 20 Sep 2012 16:32:27 +0000 (16:32 +0000)] 
libgo: Add no-dist and -Wno-portability to AM_INIT_AUTOMAKE.

From-SVN: r191575

12 years agore PR target/54631 (vxworks.c fails to compile)
Diego Novillo [Thu, 20 Sep 2012 16:31:05 +0000 (12:31 -0400)] 
re PR target/54631 (vxworks.c fails to compile)

PR target/54631
* config/vxworks.c (vxworks_emutls_var_init): Update for new
VEC_quick_push interface.

From-SVN: r191574

12 years agore PR tree-optimization/54634 (miscompilation with -O3 -ftree-loop-distribution)
Richard Guenther [Thu, 20 Sep 2012 14:46:32 +0000 (14:46 +0000)] 
re PR tree-optimization/54634 (miscompilation with -O3  -ftree-loop-distribution)

2012-09-20  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54634
* tree-data-ref.c (get_references_in_stmt): For now give
up for pure functions.

From-SVN: r191567

12 years agore PR other/43620 ([4.3 Release Blocker] Uploading to gnu.org will fail due to automa...
Jakub Jelinek [Thu, 20 Sep 2012 14:41:17 +0000 (16:41 +0200)] 
re PR other/43620 ([4.3 Release Blocker] Uploading to gnu.org will fail due to automake security issue)

PR other/43620
libatomic/
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* configure: Regenerate.
* Makefile.in: Regenerate.
libitm/
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
* configure: Regenerate.
* Makefile.in: Regenerate.

From-SVN: r191565

12 years agore PR c++/52432 ([C++11] -fdump-tree-gimple causes ICE: Error reporting routines...
Paolo Carlini [Thu, 20 Sep 2012 14:05:19 +0000 (14:05 +0000)] 
re PR c++/52432 ([C++11] -fdump-tree-gimple causes ICE: Error reporting routines re-entered.)

/cp
2012-09-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52432
* pt.c (tsubst_copy_and_build): If tf_error is not set in the complain
argument don't call unqualified_name_lookup_error.

/testsuite
2012-09-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52432
* g++.dg/cpp0x/decltype32.C: Tweak.

From-SVN: r191564

12 years agoforwprop-19.c: Check in forwprop1.
Marc Glisse [Thu, 20 Sep 2012 09:37:05 +0000 (11:37 +0200)] 
forwprop-19.c: Check in forwprop1.

2012-09-20  Marc Glisse  <marc.glisse@inria.fr>

* gcc.dg/tree-ssa/forwprop-19.c: Check in forwprop1.
* gcc.dg/tree-ssa/forwprop-20.c: Check in forwprop1.
* gcc.dg/tree-ssa/forwprop-21.c: Check in copyprop1.
* gcc.dg/tree-ssa/forwprop-22.c: Check in copyprop1.

From-SVN: r191560

12 years ago2012-09-20 Chen Wei-Ren <chenwj@iis.sinica.edu.tw>
Chen Wei-Ren [Thu, 20 Sep 2012 09:26:07 +0000 (17:26 +0800)] 
2012-09-20  Chen Wei-Ren  <chenwj@iis.sinica.edu.tw>

doc/lto.texi: Correct typo.

From-SVN: r191559

12 years agocompiler: Fix struct hash and equality with _ fields.
Ian Lance Taylor [Thu, 20 Sep 2012 04:35:13 +0000 (04:35 +0000)] 
compiler: Fix struct hash and equality with _ fields.

From-SVN: r191511

12 years agos390.c (s390_chunkify_start): Replacing INSN_LOCATOR.
Dehao Chen [Thu, 20 Sep 2012 03:17:26 +0000 (03:17 +0000)] 
s390.c (s390_chunkify_start): Replacing INSN_LOCATOR.

2012-09-19  Dehao Chen  <dehao@google.com>

* config/s390/s390.c (s390_chunkify_start): Replacing INSN_LOCATOR.
* config/spu/spu.c (emit_nop_for_insn): Likewise.
(pad_bb): Likewise.
(spu_emit_branch_hint): Likewise.
(insert_hbrp_for_ilb_runout): Likewise.
* config/mep/mep.c (mep_make_bundle): Likewise.
(mep_bundle_insns): Likewise.
* config/sh/sh.c (gen_block_redirect): Likewise.
* config/c6x/c6x.c (gen_one_bundle): Likewise.
* config/rs6000/rs6000.c (rs6000_final_prescan_insn): Likewise.
* config/picochip/picochip.c (picochip_reorg): Likewise.
* config/arm/arm.c (require_pic_register): Likewise.
* config/mips/mips.c (mips16_gp_pseudo_reg): Likewise.
* config/bfin/bfin.c (gen_one_bundle): Likewise.

From-SVN: r191510

12 years agore PR libstdc++/28811 (--with-pic vs static libraries and libstdc++)
Benjamin Kosnik [Thu, 20 Sep 2012 02:10:22 +0000 (02:10 +0000)] 
re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++)

2012-09-18  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/28811
        PR libstdc++/54482
        * configure.ac (glibcxx_lt_pic_flag,
          glibcxx_compiler_pic_flag,
          glibcxx_compiler_shared_flag): New. Use them.
        (lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.
        (pic_mode): Set to default.
        (PIC_CXXFLAGS): Remove.
        * Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.
        * libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and
          glibcxx_compiler_shared_flag. Comment.
        * src/c++11/Makefile.am: Same.
        * src/c++98/Makefile.am: Same.
        * src/Makefile.am: Use glibcxx_compiler_pic_flag.

        * Makefile.in: Regenerated.
        * aclocal.m4: Same.
        * configure: Same.
        * doc/Makefile.in: Same.
        * include/Makefile.in: Same.
        * libsupc++/Makefile.in: Same.
        * po/Makefile.in: Same.
        * python/Makefile.in: Same.
        * src/Makefile.in: Same.
        * src/c++11/Makefile.in: Same.
        * src/c++98/Makefile.in: Same.
        * testsuite/Makefile.in: Same.

        * src/c++11/compatibility-atomic-c++0x.cc: Use
          _GLIBCXX_SHARED instead of PIC to designate shared-only
          code blocks.
        * src/c++11/compatibility-c++0x.cc: Same.
        * src/c++11/compatibility-thread-c++0x.cc: Same.
        * src/c++98/compatibility-list-2.cc: Same.
        * src/c++98/compatibility.cc: : Same.

        * testsuite/17_intro/shared_with_static_deps.cc: New.

        * doc/xml/manual/build_hacking.xml: Separate configure from
        make/build issues, add build details.

From-SVN: r191509

12 years agoconfig.host (hppa-*-openbsd*): New target.
Mark Kettenis [Thu, 20 Sep 2012 01:20:34 +0000 (01:20 +0000)] 
config.host (hppa-*-openbsd*): New target.

libgcc/:

        * config.host (hppa-*-openbsd*): New target.
        * config/pa/t-openbsd: New file.

gcc:/

        * config.gcc (hppa*-*-openbsd*): New target.
        * config/pa/pa-openbsd.h: New file.
        * config/pa/pa32-openbsd.h: New file.
        * config/host-openbsd.c: Update copyright year.
        (TRY_EXCEPT_VM_SPACE): Define for OpenBSD/hppa.

From-SVN: r191508

12 years agocompiler: Give error for byte-order-mark in middle of file.
Ian Lance Taylor [Thu, 20 Sep 2012 00:54:30 +0000 (00:54 +0000)] 
compiler: Give error for byte-order-mark in middle of file.

From-SVN: r191507

12 years agoDaily bump.
GCC Administrator [Thu, 20 Sep 2012 00:18:01 +0000 (00:18 +0000)] 
Daily bump.

From-SVN: r191506

12 years agoconfigure.ac: Only use GCC_CHECK_UNWIND_GETIPINFO when compiled as a target library.
Ian Lance Taylor [Wed, 19 Sep 2012 22:57:53 +0000 (22:57 +0000)] 
configure.ac: Only use GCC_CHECK_UNWIND_GETIPINFO when compiled as a target library.

* configure.ac: Only use GCC_CHECK_UNWIND_GETIPINFO when compiled
as a target library.
* configure: Rebuild.

From-SVN: r191503

12 years agoipa-prop.c (prune_expression_for_jf): New function.
Martin Jambor [Wed, 19 Sep 2012 21:46:47 +0000 (23:46 +0200)] 
ipa-prop.c (prune_expression_for_jf): New function.

2012-09-19  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (prune_expression_for_jf): New function.
(ipa_set_jf_constant): Use it.
(ipa_set_jf_arith_pass_through): Likewise.
(determine_known_aggregate_parts): Likewise.

From-SVN: r191502

12 years agoconfigure.ac: Add mips*-mti-elf* target.
Steve Ellcey [Wed, 19 Sep 2012 20:46:44 +0000 (20:46 +0000)] 
configure.ac: Add mips*-mti-elf* target.

2012-09-19  Steve Ellcey  <sellcey@mips.com>

* configure.ac: Add mips*-mti-elf* target.
* configure: Regenerate.

From-SVN: r191501

12 years agore PR c++/54581 (decltype and opaque vector types)
Marc Glisse [Wed, 19 Sep 2012 20:45:03 +0000 (22:45 +0200)] 
re PR c++/54581 (decltype and opaque vector types)

2012-09-19  Marc Glisse  <marc.glisse@inria.fr>

PR c++/54581

gcc/cp/
* semantics.c (finish_decltype_type): Make vectors not opaque.

gcc/testsuite/
* g++.dg/cpp0x/decltype-54581.C: New testcase.

From-SVN: r191500

12 years agomt-sde: Change -mcode-xonly to -mcode-readable=pcrel.
Steve Ellcey [Wed, 19 Sep 2012 20:42:01 +0000 (20:42 +0000)] 
mt-sde: Change -mcode-xonly to -mcode-readable=pcrel.

2012-09-19  Steve Ellcey  <sellcey@mips.com>

* mt-sde: Change -mcode-xonly to -mcode-readable=pcrel.

From-SVN: r191499

12 years agopr37362.c: Add mips*-mti-elf exception.
Steve Ellcey [Wed, 19 Sep 2012 20:29:53 +0000 (20:29 +0000)] 
pr37362.c: Add mips*-mti-elf exception.

2012-09-19  Steve Ellcey  <sellcey@mips.com>

* gcc.target/mips/pr37362.c: Add mips*-mti-elf exception.

From-SVN: r191497

12 years agoconfig.gcc (mips*-mti-elf*): New target.
Steve Ellcey [Wed, 19 Sep 2012 20:23:34 +0000 (20:23 +0000)] 
config.gcc (mips*-mti-elf*): New target.

2012-09-19  Steve Ellcey  <sellcey@mips.com>

* config.gcc (mips*-mti-elf*): New target.
* config/mips/mti-elf.h: New file.
* config/mips/t-mti-elf: New file.

From-SVN: r191496

12 years agoIntegrate lexical block into source_location.
Dehao Chen [Wed, 19 Sep 2012 19:56:42 +0000 (19:56 +0000)] 
Integrate lexical block into source_location.

gcc:
2012-09-19  Dehao Chen  <dehao@google.com>

* toplev.c (general_init): Init block_locations.
* tree.c (tree_set_block): New.
(tree_block): Change to use LOCATION_BLOCK.
* tree.h (TREE_SET_BLOCK): New.
* final.c (reemit_insn_block_notes): Change to use LOCATION_BLOCK.
(final_start_function): Likewise.
* input.c (expand_location_1): Likewise.
* input.h (LOCATION_LOCUS): New.
(LOCATION_BLOCK): New.
(IS_UNKNOWN_LOCATION): New.
* fold-const.c (expr_location_or): Change to use new location.
* reorg.c (emit_delay_sequence): Likewise.
(try_merge_delay_insns): Likewise.
* modulo-sched.c (dump_insn_location): Likewise.
* lto-streamer-out.c (lto_output_location_bitpack): Likewise.
* lto-cgraph.c (output_node_opt_summary): Likewise.
* jump.c (rtx_renumbered_equal_p): Likewise.
* ifcvt.c (noce_try_move): Likewise.
(noce_try_store_flag): Likewise.
(noce_try_store_flag_constants): Likewise.
(noce_try_addcc): Likewise.
(noce_try_store_flag_mask): Likewise.
(noce_try_cmove): Likewise.
(noce_try_cmove_arith): Likewise.
(noce_try_minmax): Likewise.
(noce_try_abs): Likewise.
(noce_try_sign_mask): Likewise.
(noce_try_bitop): Likewise.
(noce_process_if_block): Likewise.
(cond_move_process_if_block): Likewise.
(find_cond_trap): Likewise.
* ipa-prop.c (ipa_set_jf_constant): Likewise.
(ipa_write_jump_function): Likewise.
* dwarf2out.c (add_src_coords_attributes): Likewise.
* expr.c (expand_expr_real): Likewise.
* tree-parloops.c (create_loop_fn): Likewise.
* recog.c (peep2_attempt): Likewise.
* function.c (free_after_compilation): Likewise.
(expand_function_end): Likewise.
(set_insn_locations): Likewise.
(thread_prologue_and_epilogue_insns): Likewise.
* print-rtl.c (print_rtx): Likewise.
* profile.c (branch_prob): Likewise.
* trans-mem.c (ipa_tm_scan_irr_block): Likewise.
* gimplify.c (gimplify_call_expr): Likewise.
* except.c (duplicate_eh_regions_1): Likewise.
* emit-rtl.c (try_split): Likewise.
(make_insn_raw): Likewise.
(make_debug_insn_raw): Likewise.
(make_jump_insn_raw): Likewise.
(make_call_insn_raw): Likewise.
(emit_pattern_after_setloc): Likewise.
(emit_pattern_after): Likewise.
(emit_debug_insn_after): Likewise.
(emit_pattern_before): Likewise.
(emit_insn_before_setloc): Likewise.
(emit_jump_insn_before): Likewise.
(emit_call_insn_before_setloc): Likewise.
(emit_call_insn_before): Likeise.
(emit_debug_insn_before_setloc): Likewise.
(emit_copy_of_insn_after): Likewise.
(insn_locators_alloc): Remove.
(insn_locators_finalize): Remove.
(insn_locators_free): Remove.
(set_curr_insn_source_location): Remove.
(get_curr_insn_source_location): Remove.
(set_curr_insn_block): Remove.
(get_curr_insn_block): Remove.
(locator_scope): Remove.
(insn_scope): Change to use new location.
(locator_location): Remove.
(insn_line): Change to use new location.
(locator_file): Remove.
(insn_file): Change to use new location.
(locator_eq): Remove.
(insn_locations_init): New.
(insn_locations_finalize): New.
(set_curr_insn_location): New.
(curr_insn_location): New.
* cfgexpand.c (gimple_assign_rhs_to_tree): Change to use new location.
(expand_gimple_cond): Likewise.
(expand_call_stmt): Likewise.
(expand_gimple_stmt_1): Likewise.
(expand_gimple_basic_block): Likewise.
(construct_exit_block): Likewise.
(gimple_expand_cfg): Likewise.
* cfgcleanup.c (try_forward_edges): Likewise.
* tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
(dump_scope_block): Likewise.
(remove_unused_locals): Likewise.
* rtl.c (rtx_equal_p_cb): Likewise.
(rtx_equal_p): Likewise.
* rtl.h (XUINT): New.
(INSN_LOCATOR): Remove.
(CURR_INSN_LOCATION): Remove.
(INSN_LOCATION): New.
(INSN_HAS_LOCATION): New.
* tree-inline.c (remap_gimple_op_r): Change to use new location.
(copy_tree_body_r): Likewise.
(copy_phis_for_bb): Likewise.
(expand_call_inline): Likewise.
* tree-streamer-in.c (lto_input_ts_exp_tree_pointers): Likewise.
* tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
* gimple-streamer-out.c (output_gimple_stmt): Likewise.
* combine.c (try_combine): Likewise.
* tree-outof-ssa.c (set_location_for_edge): Likewise.
(insert_partition_copy_on_edge): Likewise.
(insert_value_copy_on_edge): Likewise.
(insert_rtx_to_part_on_edge): Likewise.
(insert_part_to_rtx_on_edge): Likewise.
* basic-block.h (edge_def): Remove field.
* gimple.h (gimple_statement_base): Remove field.
(gimple_bb): Change to use new location.
(gimple_set_block): Likewise.
(gimple_has_location): Likewise.
* tree-cfg.c (make_cond_expr_edges): Likewise.
(make_goto_expr_edges): Likewise.
(gimple_can_merge_blocks_p): Likewise.
(move_stmt_op): Likewise.
(move_block_to_fn): Likewise.
* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
* config/i386/i386.c (x86_output_mi_thunk): Likewise.
* config/tilegx/tilegx.c (tilegx_output_mi_thunk): Likewise.
* config/sh/sh.c (sh_output_mi_thunk): Likewise.
* config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
* config/score/score.c (score_output_mi_thunk): Likewise.
* config/tilepro/tilepro.c (tilepro_asm_output_mi_thunk): Likewise.
* config/mips/mips.c (mips_output_mi_thunk): Likewise.
* cfgrtl.c (unique_locus_on_edge_between_p): Likewise.
(unique_locus_on_edge_between_p): Likewise.
(emit_nop_for_unique_locus_between): Likewise.
(force_nonfallthru_and_redirect): Likewise.
(fixup_reorder_chain): Likewise.
(cfg_layout_merge_blocks): Likewise.
* stmt.c (emit_case_nodes): Likewise.

gcc/lto:
2012-09-19  Dehao Chen  <dehao@google.com>

* lto/lto.c (lto_fixup_prevailing_decls): Remove tree.exp.block field.

libcpp:
2012-09-19  Dehao Chen  <dehao@google.com>

* include/line-map.h (MAX_SOURCE_LOCATION): New value.
(location_adhoc_data_fini): New.
(get_combined_adhoc_loc): New.
(get_data_from_adhoc_loc): New.
(get_location_from_adhoc_loc): New.
(location_adhoc_data_map): New.
(COMBINE_LOCATION_DATA): New.
(IS_ADHOC_LOC): New.
(expanded_location): New field.
(line_maps): New field.
* line-map.c (location_adhoc_data): New.
(location_adhoc_data_hash): New.
(location_adhoc_data_eq): New.
(location_adhoc_data_update): New.
(get_combined_adhoc_loc): New.
(get_data_from_adhoc_loc): New.
(get_location_from_adhoc_loc): New.
(location_adhoc_data_init): New.
(location_adhoc_data_fini): New.
(linemap_init): Initialize location_adhoc_data.
(linemap_lookup): Change to use new location.
(linemap_ordinary_map_lookup): Likewise.
(linemap_macro_map_lookup): Likewise.
(linemap_macro_map_loc_to_def_point): Likewise.
(linemap_macro_map_loc_unwind_toward_spel): Likewise.
(linemap_get_expansion_line): Likewise.
(linemap_get_expansion_filename): Likewise.
(linemap_location_in_system_header_p): Likewise.
(linemap_location_from_macro_expansion_p): Likewise.
(linemap_macro_loc_to_spelling_point): Likewise.
(linemap_macro_loc_to_def_point): Likewise.
(linemap_macro_loc_to_exp_point): Likewise.
(linemap_resolve_location): Likewise.
(linemap_unwind_toward_expansion): Likewise.
(linemap_unwind_to_first_non_reserved_loc): Likewise.
(linemap_expand_location): Likewise.
(linemap_dump_location): Likewise.
(linemap_line_start): Likewise.

From-SVN: r191494

12 years agodbgcnt.def (sched_breakdep): New counter.
Bernd Schmidt [Wed, 19 Sep 2012 19:37:31 +0000 (19:37 +0000)] 
dbgcnt.def (sched_breakdep): New counter.

* dbgcnt.def (sched_breakdep): New counter.
* haifa-sched.c (update_insn_after_change): New static function,
broken out of haifa_change_pattern.
(haifa_change_pattern): Call it.
(dep_t heap vecs): Declare.
(INSN_COST): Define earlier.
(next_cycle_replace_deps, next_cycle_apply): New static
variables.
(apply_replacement): New static function.
(recompute_todo_spec): New argument FOR_BACKTRACK.  All callers
changed.  Handle DEP_REPLACE deps.
(contributes_to_priority_p): False for replaceable deps.
(must_restore_pattern_p, restore_pattern): New static functions.
(schedule_insn): Use them.  Apply replacements for broken deps.
(struct haifa_saved_data): Add new fields to keep track of
replacements.
(save_backtrack_point): Initialize them.
(undo_replacements_for_backtrack): New static function.
(restore_last_backtrack_point, free_topmost_backtrack_point):
Use it and keep track of replacements.
(perform_replacements_new_cycle, undo_all_replacements): New static
functions.
(schedule_block): Call these two as necessary.  Call
find_modifiable_mems.
(try_ready): Tweak the assert.  Check for DEP_POSTPONED.
* sched-deps.c: Include "emit-rtl.h".
(init_dep_1): Initialize DEP_NONREG, DEP_MULTIPLE and DEP_REPLACE.
(dep_spec_p): True for DEP_REPLACE deps.
(mark_as_hard): New static variable.
(update_dep): Update DEP_NONREG and DEP_MULTIPLE.
(add_dependence_list): New argument hard.  All callers changed.  Set
and clear mark_as_hard around function body.
(add_dependence_list_and_free): Likewise.
(haifa_note_mem_dep): Set DEP_NONREG.
(haifa_note_dep): Likewise if mark_as_hard is true.
(sched_analyze_insn): Switch loop with if statement testing for
sel_sched_p.
(struct mem_inc_info): New.
(attempt_change, parse_add_or_inc, find_inc, find_mem): New static
functions.
(find_modifiable_mems): New function.
* sched-int.h (struct dep_replacement): New.
(struct _dep): Add replace, nonreg and multiple fields.  Make type and
cost bitfields.
(UNKNOWN_DEP_COST): Change to match the bitfield.
(DEP_NONREG, DEP_MULTIPLE, DEP_REPLACE): New macros.
(DEP_POSTPONED): New macro.
(DEP_CANCELLED): Renumber.
(find_modifiable_mems): Declare.
(enum SCHED_FLAGS): Add DONT_BREAK_DEPENDENCIES.
* sched-rgn.c (init_ready_list): Set TODO_SPEC here.
(new_ready): Don't set HARD_DEP, use DEP_POSTPONED.
(debug_dependencies): Dump DEP_NONREG and DEP_MULTIPLE.
* Makefile.in (sched-deps.o): Update dependencies.
* config/c6x/c6x.c (in_hwloop): New static variable.
(c6x_set_sched_flags): If it is true, add DONT_BREAK_DEPENDENCIES.
(hwloop_optimize): Set and clear it around preliminary scheduling
pass.

From-SVN: r191493

12 years agoppc-get-timebase.c: New file.
Tulio Magno Quites Machado Filho [Wed, 19 Sep 2012 19:08:00 +0000 (19:08 +0000)] 
ppc-get-timebase.c: New file.

2012-09-19  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>

        * gcc.target/powerpc/ppc-get-timebase.c: New file.
        * gcc.target/powerpc/ppc-mftb.c: New file.

From-SVN: r191492

12 years ago[multiple changes]
David Edelsohn [Wed, 19 Sep 2012 19:05:34 +0000 (15:05 -0400)] 
[multiple changes]

2012-09-19  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>

        * config/rs6000/rs6000-builtin.def: Add __builtin_ppc_get_timebase
        and __builtin_ppc_mftb.
        * config/rs6000/rs6000.c (rs6000_expand_zeroop_builtin): New
        function to expand an expression that calls a built-in without
        arguments.
        (rs6000_expand_builtin): Add __builtin_ppc_get_timebase and
        __builtin_ppc_mftb.
        (rs6000_init_builtins): Likewise.
        * config/rs6000/rs6000.md (rs6000_get_timebase): New pattern.
        (rs6000_get_timebase_ppc32): New pattern.
        (rs6000_mftb_<mode>): New pattern.

        * doc/extend.texi (PowerPC Built-in Functions): New section.
        (PowerPC AltiVec/VSX Built-in Functions):
        Move some built-ins unrelated to Altivec/VSX to the new section.

2012-09-19  David Edelsohn  <dje.gcc@gmail.com>

        * rs6000.md (mac*): Remove extra spaces.
        (mulhw*): Same.

From-SVN: r191491

12 years agore PR target/54089 ([SH] Refactor shift patterns)
Oleg Endo [Wed, 19 Sep 2012 17:48:25 +0000 (17:48 +0000)] 
re PR target/54089 ([SH] Refactor shift patterns)

PR target/54089
* config/sh/predicates.md (arith_reg_or_t_reg_operand): New predicate.
* config/sh/sh.md (*rotcr): Use arith_reg_or_t_reg_operand predicate.
Handle the case where one of the operands is T_REG.
Add new pattern to handle MSB extraction.

PR target/54089
* gcc.target/sh/pr54089-1.c (test_11, test_12, test_13, test_14): New
functions.

From-SVN: r191490

12 years agore PR target/54236 ([SH] Improve addc and subc insn utilization)
Oleg Endo [Wed, 19 Sep 2012 17:45:37 +0000 (17:45 +0000)] 
re PR target/54236 ([SH] Improve addc and subc insn utilization)

PR target/54236
* config/sh/sh.md (*addc): Add pattern to handle one bit left shifts.

PR target/54236
* gcc.target/sh/pr54236-1.c (test_08): Add one bit left shift case.

From-SVN: r191489

12 years agosh.md (prologue, epilogue): Use braced strings.
Oleg Endo [Wed, 19 Sep 2012 17:42:28 +0000 (17:42 +0000)] 
sh.md (prologue, epilogue): Use braced strings.

* config/sh/sh.md (prologue, epilogue): Use braced strings.

From-SVN: r191488

12 years agocompiler: Ignore byte-order-mark at start of file.
Ian Lance Taylor [Wed, 19 Sep 2012 15:51:16 +0000 (15:51 +0000)] 
compiler: Ignore byte-order-mark at start of file.

From-SVN: r191485

12 years agore PR rtl-optimization/54290 (wrong code at -O2 with large offset)
Eric Botcazou [Wed, 19 Sep 2012 15:38:16 +0000 (15:38 +0000)] 
re PR rtl-optimization/54290 (wrong code at -O2 with large offset)

PR rtl-optimization/54290
* reload1.c (choose_reload_regs): Also take into account secondary MEMs
to remove address replacements for inherited reloads.
(replaced_subreg): Move around.

From-SVN: r191484

12 years ago* cpplib.pot: Regenerate.
Joseph Myers [Wed, 19 Sep 2012 14:58:40 +0000 (15:58 +0100)] 
* cpplib.pot: Regenerate.

From-SVN: r191483

12 years ago* gcc.pot: Regenerate.
Joseph Myers [Wed, 19 Sep 2012 14:58:08 +0000 (15:58 +0100)] 
* gcc.pot: Regenerate.

From-SVN: r191482

12 years agoaix61.h (TARGET_DEFAULT): Add MASK_PPC_GPOPT, MASK_PPC_GFXOPT, and MASK_MFCRF.
David Edelsohn [Wed, 19 Sep 2012 14:21:52 +0000 (14:21 +0000)] 
aix61.h (TARGET_DEFAULT): Add MASK_PPC_GPOPT, MASK_PPC_GFXOPT, and MASK_MFCRF.

        * config/rs6000/aix61.h (TARGET_DEFAULT): Add MASK_PPC_GPOPT,
        MASK_PPC_GFXOPT, and MASK_MFCRF.

From-SVN: r191480

12 years agoc-torture.exp (TORTURE_OPTIONS): Add -Og -g.
Richard Guenther [Wed, 19 Sep 2012 14:05:26 +0000 (14:05 +0000)] 
c-torture.exp (TORTURE_OPTIONS): Add -Og -g.

2012-09-19  Richard Guenther  <rguenther@suse.de>

* lib/c-torture.exp (TORTURE_OPTIONS): Add -Og -g.

From-SVN: r191478

12 years agopasses.c (init_optimization_passes): For -Og move pass_object_sizes inbetween CCP...
Richard Guenther [Wed, 19 Sep 2012 13:46:34 +0000 (13:46 +0000)] 
passes.c (init_optimization_passes): For -Og move pass_object_sizes inbetween CCP and copyprop.

2012-09-19  Richard Guenther  <rguenther@suse.de>

* passes.c (init_optimization_passes): For -Og move
pass_object_sizes inbetween CCP and copyprop.

From-SVN: r191476