]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
9 years agocloog.m4: Remove.
Tobias Burnus [Tue, 11 Nov 2014 18:54:16 +0000 (19:54 +0100)] 
cloog.m4: Remove.

2014-11-11  Tobias Burnus  <burnus@net-b.de>

        * config/cloog.m4: Remove.
        * Makefile.def: Remove CLooG.
        * Makefile.tpl: Ditto.
        * configure.ac: Ditto.
        * configure: Regenerate.
        * Makefile.in: Ditto.

From-SVN: r217364

9 years ago[Patch AArch64] Fix up BSL expander for floating point types
James Greenhalgh [Tue, 11 Nov 2014 17:37:35 +0000 (17:37 +0000)] 
[Patch AArch64] Fix up BSL expander for floating point types

gcc/

* config/aarch64/aarch64-simd.md
(aarch64_simd_bsl<mode>_internal): Remove float cases, canonicalize.
(aarch64_simd_bsl<mode>): Add gen_lowpart expressions where we
are punning between float vectors and integer vectors.

gcc/testsuite/

* gcc.target/aarch64/vbslq_f64_1.c: New.
* gcc.target/aarch64/vbslq_f64_2.c: Likewise.
* gcc.target/aarch64/vbslq_u64_1.c: Likewise.
* gcc.target/aarch64/vbslq_u64_2.c: Likewise.

From-SVN: r217362

9 years agore PR c++/63265 (Constexpr variables can trigger spurious compiler warnings)
Paolo Carlini [Tue, 11 Nov 2014 17:34:12 +0000 (17:34 +0000)] 
re PR c++/63265 (Constexpr variables can trigger spurious compiler warnings)

/cp
2014-11-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/63265
* pt.c (tsubst_copy_and_build, case COND_EXPR): Maybe fold to
constant the condition.

/testsuite
2014-11-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/63265
* g++.dg/cpp0x/constexpr-63265.C: New.

From-SVN: r217361

9 years agoalpha.c (alpha_emit_conditional_branch): Replace open-coded swap with std::swap to...
Uros Bizjak [Tue, 11 Nov 2014 17:07:47 +0000 (18:07 +0100)] 
alpha.c (alpha_emit_conditional_branch): Replace open-coded swap with std::swap to swap values.

* config/alpha/alpha.c (alpha_emit_conditional_branch): Replace
open-coded swap with std::swap to swap values.
(alpha_emit_setcc): Ditto.
(alpha_emit_conditional_move): Ditto.
(alpha_split_tmode_pair): Ditto.

From-SVN: r217360

9 years agotree-vect-data-refs.c (vect_shift_permute_load_chain): Extend shift permutations...
Evgeny Stupachenko [Tue, 11 Nov 2014 16:07:52 +0000 (16:07 +0000)] 
tree-vect-data-refs.c (vect_shift_permute_load_chain): Extend shift permutations on power of 2 cases.

gcc/

        * tree-vect-data-refs.c (vect_shift_permute_load_chain): Extend shift
permutations on power of 2 cases.

gcc/testsuites/

* gcc.target/i386/pr52252-atom-1.c: New.

From-SVN: r217359

9 years ago[AArch64] Properly guard CUMULATIVE_ARGS definition and remove 'enum' from machine_mo...
Kyrylo Tkachov [Tue, 11 Nov 2014 15:29:21 +0000 (15:29 +0000)] 
[AArch64] Properly guard CUMULATIVE_ARGS definition and remove 'enum' from machine_mode in aarch64.h

* config/aarch64/aarch64.h (MACHMODE): Remove 'enum' keyword.
(CUMULATIVE_ARGS): Guard on !defined(USED_FOR_TARGET).

From-SVN: r217358

9 years agomklog: Symbol '}' stops search for changes.
Marat Zakirov [Tue, 11 Nov 2014 15:26:03 +0000 (15:26 +0000)] 
mklog: Symbol '}' stops search for changes.

contrib/

2014-11-11  Marat Zakirov  <m.zakirov@samsung.com>

* mklog: Symbol '}' stops search for changes.

From-SVN: r217357

9 years agotree-core.h (pedantic_lvalues): Remove.
Richard Biener [Tue, 11 Nov 2014 15:21:12 +0000 (15:21 +0000)] 
tree-core.h (pedantic_lvalues): Remove.

2014-11-11  Richard Biener  <rguenther@suse.de>

* tree-core.h (pedantic_lvalues): Remove.
* fold-const.c (pedantic_lvalues): Likewise.
(pedantic_non_lvalue_loc): Remove conditional non_lvalue_loc call.

c/
* c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues
to true.

From-SVN: r217356

9 years agore PR bootstrap/63622 (Bootstrap fails on x86_64-apple-darwin1[34] after revision...
Martin Liska [Tue, 11 Nov 2014 14:58:21 +0000 (15:58 +0100)] 
re PR bootstrap/63622 (Bootstrap fails on x86_64-apple-darwin1[34] after revision r216305)

PR ipa/63622

        PR ipa/63795
* g++.dg/ipa/ipa-icf-4.C: Add more precise dump scan.
* g++.dg/ipa/ipa-icf-5.C: Add condition for target
with symbol alias support.
* ipa-icf.c (sem_function::merge): Add new target symbol alias
support guard.
(sem_variable::merge): Likewise.
* ipa-icf.h (target_supports_symbol_aliases_p): New function.

From-SVN: r217355

9 years agomatch.pd: Implement patterns from associate_plusminus and factor in differences from...
Richard Biener [Tue, 11 Nov 2014 13:23:26 +0000 (13:23 +0000)] 
match.pd: Implement patterns from associate_plusminus and factor in differences from the...

2014-11-11  Richard Biener  <rguenther@suse.de>

* match.pd: Implement patterns from associate_plusminus
and factor in differences from the fold-const.c implementation.
* fold-const.c (fold_binary_loc): Remove patterns here.
* tree-ssa-forwprop.c (associate_plusminus): Remove.
(pass_forwprop::execute): Don't call it.
* tree.c (tree_nop_conversion_p): New function, factored
from tree_nop_conversion.
* tree.h (tree_nop_conversion_p): Declare.

From-SVN: r217349

9 years agosystem.h: Include algorithm and utility.
Uros Bizjak [Tue, 11 Nov 2014 13:12:39 +0000 (14:12 +0100)] 
system.h: Include algorithm and utility.

* system.h: Include algorithm and utility.
* rtl.h: Do not include utility here.
* wide-int.h: Ditto.
* tree-vect-data-refs.c (swap): Remove template.
(vect_prune_runtime_alias_test_list): Use std::swap instead of swap.

From-SVN: r217348

9 years agore PR ada/42978 (gnatmake doesn't report the options it actually provides to ranlib)
Simon Wright [Tue, 11 Nov 2014 11:58:26 +0000 (11:58 +0000)] 
re PR ada/42978 (gnatmake doesn't report the options it actually provides to ranlib)

PR ada/42978
* mlib-utl.adb (ar): Output the options passed to ranlib.

From-SVN: r217346

9 years ago[Fortran] PR 63701 Make sure variable is always used initialised
Kyrylo Tkachov [Tue, 11 Nov 2014 11:52:36 +0000 (11:52 +0000)] 
[Fortran] PR 63701 Make sure variable is always used initialised

PR fortran/63701
* trans-expr.c (gfc_get_tree_for_caf_expr): Initialise found to false.

From-SVN: r217345

9 years agoxmethods.py: Add xmethods for associative containers.
Siva Chandra Reddy [Tue, 11 Nov 2014 11:35:34 +0000 (11:35 +0000)] 
xmethods.py: Add xmethods for associative containers.

2014-11-11  Siva Chandra Reddy  <sivachandra@google.com>

* python/libstdcxx/v6/xmethods.py: Add xmethods for associative
containers.
* testsuite/libstdc++-xmethods/associative-containers.cc: New file.

From-SVN: r217344

9 years agore PR libstdc++/63811 (r217322 breaks bootstrap)
Jonathan Wakely [Tue, 11 Nov 2014 10:41:46 +0000 (10:41 +0000)] 
re PR libstdc++/63811 (r217322 breaks bootstrap)

PR libstdc++/63811
* include/bits/stl_deque.h (_Deque_base::_M_move_impl()): Avoid using
badname.

From-SVN: r217343

9 years agore PR bootstrap/63699 (Bootstrap fails in libcc1 on darwin14)
Francois-Xavier Coudert [Tue, 11 Nov 2014 09:20:07 +0000 (09:20 +0000)] 
re PR bootstrap/63699 (Bootstrap fails in libcc1 on darwin14)

PR bootstrap/63699
PR bootstrap/63750

* system.h: Include <string> before "safe-ctype.h"
* wide-int.h (wi::smin, wi::smax, wi::umin, wi::umax): Prefix
calls to min/max with wi namespace.
* ipa-chkp.c: Don't include <string>.

* plugin.cc: Don't include <string>.

From-SVN: r217342

9 years agoinvoke.texi (-masm-syntax-unified): Reword and fix typo.
Terry Guo [Tue, 11 Nov 2014 09:18:35 +0000 (09:18 +0000)] 
invoke.texi (-masm-syntax-unified): Reword and fix typo.

2014-11-11  Terry Guo  <terry.guo@arm.com>

* doc/invoke.texi (-masm-syntax-unified): Reword and fix typo.
* config/arm/thumb1.md (*thumb_mulsi3): Use movs to move low
registers.
(*thumb1_movhf): Likewise.

From-SVN: r217341

9 years agosreal.c (sreal::to_int): Use INTTYPE_MAXIMUM (int64_t) instead of INT64_MAX.
Uros Bizjak [Tue, 11 Nov 2014 08:53:08 +0000 (09:53 +0100)] 
sreal.c (sreal::to_int): Use INTTYPE_MAXIMUM (int64_t) instead of INT64_MAX.

* sreal.c (sreal::to_int): Use INTTYPE_MAXIMUM (int64_t)
instead of INT64_MAX.

From-SVN: r217340

9 years agodownload_prerequisites: Stop downloading CLooG.
Tobias Burnus [Tue, 11 Nov 2014 06:55:31 +0000 (07:55 +0100)] 
download_prerequisites: Stop downloading CLooG.

2014-11-11  Tobias Burnus  <burnus@net-b.de>

contrib/
        * download_prerequisites: Stop downloading CLooG.
gcc/
        * doc/install.texi (Prerequisites): Remove CLooG.

From-SVN: r217339

9 years agoAdd illegal cilk checks to C++ front.
Andi Kleen [Tue, 11 Nov 2014 05:11:09 +0000 (05:11 +0000)] 
Add illegal cilk checks to C++ front.

Add calls for several illegal Cilk cases to the C++ frontend.
C++ usually doesn't ICE unlike C on illegal cilk, but it's
better to match C in what is allowed and what is not.

if (_Cilk_spawn ...) is still not errored, but at least it doesn't ICE.

gcc/cp/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

* semantics.c (finish_goto_stmt): Call check_no_cilk.
(finish_while_stmt_cond): Dito.
(finish_do_stmt): Dito.
(finish_for_cond): Dito.
(finish_switch_cond): Dito.

From-SVN: r217337

9 years agoError out for Cilk_spawn or array expression in forbidden places
Andi Kleen [Tue, 11 Nov 2014 05:10:58 +0000 (05:10 +0000)] 
Error out for Cilk_spawn or array expression in forbidden places

_Cilk_spawn or Cilk array expressions are only allowed on their own,
but not in for(), if(), switch, do, while, goto, etc.
The C parser didn't always check for that, which lead to ICEs earlier
for invalid code.

Add a generic helper that checks this and call it where needed
in the C frontend.

I chose to allow spawn/array for for init and increment expressions.
While the Cilk spec could be interpreted to forbid it there too
there didn't seem any reason to not allow it.

One dark corner is spawn, array in statement expressions not at
the end. Right now that's forbidden too.

gcc/c-family/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

PR c/60804
* c-common.h (check_no_cilk): Declare.
* cilk.c (get_error_location): New function.
(check_no_cilk): Dito.

gcc/c/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

PR c/60804
* c-parser.c (c_parser_statement_after_labels): Call
check_no_cilk.
(c_parser_if_statement): Dito.
(c_parser_switch_statement): Dito.
(c_parser_while_statement): Dito.
(c_parser_do_statement): Dito.
(c_parser_for_statement): Dito.
* c-typeck.c (c_finish_loop): Dito.

From-SVN: r217336

9 years agoFix some of the existing Cilk tests for the new errors.
Andi Kleen [Tue, 11 Nov 2014 05:10:46 +0000 (05:10 +0000)] 
Fix some of the existing Cilk tests for the new errors.

gcc/testsuite/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

* c-c++-common/cilk-plus/AN/misc.c (main): Handle
new cilk errors.

From-SVN: r217335

9 years agoAdd test cases for all the new cilk errors
Andi Kleen [Tue, 11 Nov 2014 05:10:35 +0000 (05:10 +0000)] 
Add test cases for all the new cilk errors

gcc/testsuite/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

* c-c++-common/cilk-plus/CK/errors.c: New test.

From-SVN: r217334

9 years agoFix error location for cilk error message
Andi Kleen [Tue, 11 Nov 2014 05:10:24 +0000 (05:10 +0000)] 
Fix error location for cilk error message

Output the correct location for an existing cilk error message.

gcc/c-family/:

2014-11-10  Andi Kleen  <ak@linux.intel.com>

* cilk.c (recognize_spawn): Use expression location
for error message.

From-SVN: r217333

9 years agoc++ify sreal
Trevor Saunders [Tue, 11 Nov 2014 02:31:00 +0000 (02:31 +0000)] 
c++ify sreal

gcc/ChangeLog:

2014-11-10  Trevor Saunders  <tsaunders@mozilla.com>

* ipa-inline.c (edge_badness): Adjust.
(inline_small_functions): Likewise.
* predict.c (propagate_freq): Likewise.
(estimate_bb_frequencies): Likewise.
* sreal.c (sreal::dump): Rename from dump_sreal.
(debug): Adjust.
(copy): Remove function.
(sreal::shift_right): Rename from sreal_sift_right.
(sreal::normalize): Rename from normalize.
(sreal_init): Remove function.
(sreal::to_int): Rename from sreal_to_int.
(sreal_compare): Remove function.
(sreal::operator+): Rename from sreal_add.
(sreal::operator-): Rename from sreal_sub.
(sreal::operator*): Rename from sreal_mul.
(sreal::operator/): Rename from sreal_div.
* sreal.h (class sreal): Adjust.
(inline sreal &operator+=): New operator.
(inline sreal &operator-=): Likewise.
(inline sreal &operator/=): Likewise.
(inline sreal &operator*=): Likewise.
(inline bool operator!=): Likewise.
(inline bool operator>): Likewise.
(inline bool operator<=): Likewise.
(inline bool operator>=): Likewise.

From-SVN: r217332

9 years agosched-deps.c (sched_analyze_1): Check pending list if it is not less than MAX_PENDING...
Bin Cheng [Tue, 11 Nov 2014 02:10:37 +0000 (02:10 +0000)] 
sched-deps.c (sched_analyze_1): Check pending list if it is not less than MAX_PENDING_LIST_LENGTH.

* sched-deps.c (sched_analyze_1): Check pending list if it is not
less than MAX_PENDING_LIST_LENGTH.
(sched_analyze_2, sched_analyze_insn, deps_analyze_insn): Ditto.

From-SVN: r217331

9 years agoDaily bump.
GCC Administrator [Tue, 11 Nov 2014 00:16:26 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r217330

9 years agoi386.c (ix86_decompose_address): Replace open-coded swap with std::swap to swap values.
Uros Bizjak [Mon, 10 Nov 2014 23:41:41 +0000 (00:41 +0100)] 
i386.c (ix86_decompose_address): Replace open-coded swap with std::swap to swap values.

* config/i386/i386.c (ix86_decompose_address): Replace open-coded
swap with std::swap to swap values.
(ix86_fixup_binary_operands): Ditto.
(ix86_binary_operator_ok): Ditto.
(ix86_prepare_fp_compare_args): Ditto.
(ix86_expand_branch): Ditto.
(ix86_expand_carry_flag_compare): Ditto.
(ix86_expand_int_movcc): Ditto.
(ix86_prepare_sse_fp_compare_args): Ditto.
(ix86_expand_sse_fp_minmax): Ditto.
(ix86_expand_int_vcond): Ditto.
(ix86_split_long_move): Ditto.
(ix86_expand_sse_comi): Ditto.
(ix86_expand_sse_compare_and_jump): Ditto.
(ix86_expand_sse_compare_mask): Ditto.
* config/i386/i386.md (*add<mode>_1): Ditto.
(addsi_1_zext): Ditto.
(*addhi_1): Ditto.
(*addqi_1): Ditto.
(*add<mode>_2): Ditto.
(*addsi_2_zext): Ditto.
(*add<mode>_3): Ditto.
(*addsi_3_zext): Ditto.
(*add<mode>_5): Ditto.
(absneg splitter): Ditto.

From-SVN: r217326

9 years agorevert: re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)
Uros Bizjak [Mon, 10 Nov 2014 23:29:59 +0000 (00:29 +0100)] 
revert: re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)

2014-11-11  Uros Bizjak  <ubizjak@gmail.com>

Revert:
2014-10-31  Uros Bizjak  <ubizjak@gmail.com>

PR target/63620
* config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): Declare.
* config/i386/i386.c (ix86_use_pseudo_pic_reg): Export.
* config/i386/i386.md (*pushtf): Allow only CONST_DOUBLEs that won't
be reloaded through memory.
(*pushxf): Ditto.
(*pushdf): Ditto.

testsuite/ChangeLog:

2014-11-11  Uros Bizjak  <ubizjak@gmail.com>
    Ilya Enkovich  <ilya.enkovich@intel.com>

PR target/63620
* gcc.target/i386/pr63620.c: New test.

Co-Authored-By: Ilya Enkovich <ilya.enkovich@intel.com>
From-SVN: r217325

9 years ago* gcc.dg/tm/memopt-15.c: Add -msse2 to dg-options.
Jakub Jelinek [Mon, 10 Nov 2014 23:09:09 +0000 (00:09 +0100)] 
* gcc.dg/tm/memopt-15.c: Add -msse2 to dg-options.

From-SVN: r217324

9 years agoipa-icf-gimple.c (func_checker::compare_bb): Fix comment typo.
Jakub Jelinek [Mon, 10 Nov 2014 23:08:08 +0000 (00:08 +0100)] 
ipa-icf-gimple.c (func_checker::compare_bb): Fix comment typo.

* ipa-icf-gimple.c (func_checker::compare_bb): Fix comment typo.
(func_checker::compare_gimple_call): Compare gimple_call_fn,
gimple_call_chain, gimple_call_fntype and call flags.
testsuite/
* gcc.dg/ubsan/ipa-icf-1.c: New test.
* gcc.dg/ipa/ipa-icf-31.c: New test.

Co-Authored-By: Martin Liska <mliska@suse.cz>
From-SVN: r217323

9 years agoFix std::deque move construction with non-equal allocators.
Jonathan Wakely [Mon, 10 Nov 2014 22:44:07 +0000 (22:44 +0000)] 
Fix std::deque move construction with non-equal allocators.

* include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)):
Dispatch according to whether allocators are always equal.
(_Deque_base::_M_move_impl()): Implement move-from state.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Fix
dg-error line number.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.

From-SVN: r217322

9 years agoMajor maintenance patch of the profile mode.
François Dumont [Mon, 10 Nov 2014 21:51:58 +0000 (21:51 +0000)] 
Major maintenance patch of the profile mode.

2014-11-10  François Dumont  <fdumont@gcc.gnu.org>

Major maintenance patch of the profile mode.
* include/profile/impl/profiler_container_size.h
(__container_size_info()): Delete.
(__container_size_info(const __container_size_info&)): Delete.
(virtual ~__container_size_info()): Delete.
(__container_size_info(__stack_t, size_t)): Delete.
(__container_size_info(__stack_t)): New.
(__container_size_info::__init(size_t)): New.
(__container_size_info::__merge): Call __object_info_base::__merge.
(__trace_container_size::__construct): Delete declaration.
(__trace_container_size::__insert): Return __container_size_info*,
call __init.
* include/profile/impl/profiler_hash_func.h
(__hashfunc_into()): Delete.
(__hashfunc_info(const __hashfunc_info&)): Delete.
(virtual ~__hashfunc_info()): Delete.
(__hashfunc_info::__merge): Call __object_info_base::__merge.
(__trace_hash_func::__insert): Delete.
(__trace_hash_func_free): New.
(__trace_hash_func_report): Call __trace_report.
(__trace_hash_func_construct): Return __hashfunc_info*. Add check for
reentrancy.
* include/profile/impl/profiler_hashtable_size.h
(__trace_hashtable_size_free): New.
(__trace_hashtable_size_report): Call __trace_report.
(__trace_hashtable_size_construct): Return __container_size_info*. Add
check for reentrancy.
* include/profile/impl/profiler_list_to_slist.h
(__list2slist_info()): Delete.
(__list2slist_info(const __list2slist_info&)): Delete.
(virtual ~__list2slist_info()): Delete.
(__trace_list_to_slist::__merge(const __list2slist_info&)): Delete.
(__trace_list_to_slist::__opr_rewind(const void*)): Delete.
(__trace_list_to_slist::__record_operation(const void*)): Delete.
(__trace_list_to_slist::__insert(const __object_t, __stack_t)): Delete.
(__trace_list_to_slist::__destruct): Only call __retire_object.
(__trace_list_to_slist_free()): New.
(__trace_list_to_slist_report): Call __trace_report.
(__trace_list_to_slist_construct): Return __list2slist_info*. Add check
for reentrancy.
* include/profile/impl/profiler_list_to_vector.h
(__list2vector_info()): Delete.
(__list2vector_info(const __list2vector_info&)): Delete.
(virtual ~__list2vector_info()): Delete.
(_list2vector_info::__is_valid): Delete.
(_list2vector_info::__set_invalid): Delete.
(_list2vector_info::__opr_iterate): Use atomic operation.
(_list2vector_info::_M_valid): Delete.
(__trace_list_to_vector::__insert): Delete.
(__trace_list_to_vector::__find): Delete.
(__trace_list_to_vector::__opr_insert): Delete.
(__trace_list_to_vector::__opr_iterate): Delete.
(__trace_list_to_vector::__invalid_operator): Delete.
(__trace_list_to_vector::__resize): Delete.
(__trace_list_to_vector_free): New.
(__trace_list_to_vector_report): Call __trace_report.
(__trace_list_to_vector_construct): Return __list2vector_info*. Add
check for reentrancy.
* include/profile/impl/profiler_map_to_unordered_map.h
(__map2umap_info()): Delete.
(__map2umap_info(const __map2umap_info&)): Delete.
(virtual ~__map2umap_info()): Delete.
(__map2umap_info::__record_iterate): Use atomic operation.
(__map2umap_info::__set_iterate_costs): New.
(__map2umap_info::__record_invalidate): Delete.
(__map2umap_info::_M_valid): Delete.
(__trace_map2umap::__destruct): New.
(__trace_map_to_unordered_map_free): New.
(__trace_map_to_unordered_map_report): Call __trace_report.
(__trace_map_to_unordered_map_construct): Return __map2umap_info*. Add
check for reentrancy.
* include/profile/impl/profiler_node.h (__object_t): Delete typedef.
(__get_stack): Return null stack trace in case of (bad_alloc) exception.
(__object_info_base()): Delete.
(__object_info_base(const __object_info_base&)): Delete.
(virtual ~__object_info_base()): Delete.
(__object_info_base::__set_invalid): New.
(__object_info_base::__merge): New.
(virtual void __write(FILE*)): Delete.
(class __stack_info_base): Delete.
* include/profile/impl/profiler_trace.h (__global_lock): Rename into
__global_mutex.
(__trace_vector_size_free): New declaration.
(__trace_hashtable_size_free): Likewise.
(__trace_hash_func_free): Likewise.
(__trace_vector_to_list_free): Likewise.
(__trace_list_to_slist_free): Likewise.
(__trace_list_to_vector_free): Likewise.
(__trace_map_to_unordered_map_free): Likewise.
(__trace_base::~__trace_base()): Not virtual anymore. Delete stored
backtrace information.
(__trace_base::__add_object): Return __object_info*, take only a stack
trace.
(__trace_base::__get_object_info): Delete.
(__trace_base::__retire_object): Take __object_info* instead of
__object_t.
(__trace_base::__object_table_lock): Delete.
(__trace_base::__stack_table_lock): Delete.
(__trace_base::__object_table_t): Delete typedef.
(__trace_base::__object_table): Delete.
(__trace_base::__trace_mutex): New.
(__trace_base::__object_byte_size): New.
(__trace_report): New.
(__report): Use __gnu_cxx::__scoped_lock to lock/unlock __global_mutex
rather than explicitely calling lock() method, exception safe.
(__report_and_free): New. Call __report and free all profile mode
resources.
(__profcxx_init_unconditional): Use __scoped_lock. Register
__report_and_free with atexit.
* include/profile/impl/profiler_vector_size.h
(__trace_vector_size_free): New.
(__trace_vector_size_report): Call __trace_report.
(__trace_vector_size_construct): Return __container_size_info*. Add
check for reentrancy.
* include/profile/impl/profiler_vector_to_list.h
(__vector2list_info()): Delete.
(virtual ~__vector2list_info()): Delete.
(__vector2list_info(const __vector2list_info&)): Delete.
(__vector2list_info::__merge): Call __object_info_base::__merge.
(__vector2list_info::__is_valid): Delete.
(__vector2list_info::__set_valid): Delete.
(__vector2list_info::__opr_find): Delete.
(__vector2list_info::_M_valid): Delete.
(__trace_vector_to_list::__insert): Delete.
(__trace_vector_to_list::__find): Delete.
(__trace_vector_to_list::__opr_insert): Delete.
(__trace_vector_to_list::__opr_iterate): Delete.
(__trace_vector_to_list::__invalid_operator): Delete.
(__trace_vector_to_list::__resize): Delete.
(__trace_vector_to_list::__opr_find): Delete.
(__trace_vector_to_list_free): New.
(__trace_vector_to_list_report): Call __trace_report.
(__trace_vector_to_list_construct): Return __vector2list_info*. Add
check for reentrancy.
* include/profile/iterator_tracker.h
(__iterator_tracker<>::operator=): Add missing _M_ds assignment.
(__iterator_tracker<>::_M_find): Delete.
* include/profile/impl/profiler.h
([_GLIBCXX_PROFILE_REENTRANCE_GUARD]): Delete.
(__container_size_info): Add class declaration.
(__hashfunc_info): Likewise.
(__map2umap_info): Likewise.
(__vector2list_info): Likewise.
(__list2slist_info): Likewise.
(__list2vector_info): Likewise.
(__trace_list_to_set_destruct): Delete declaration.
(__trace_list_to_set_construct): Likewise.
(__trace_list_to_set_insert): Likewise.
(__trace_list_to_set_iterate): Likewise.
(__trace_list_to_set_invalid_operator): Likewise.
(__trace_list_to_set_find): Likewise.
([__profcxx_report]): Remove usage of _GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_turn_on]): Likewise.
([__profcxx_turn_off]): Likewise.
([__profcxx_is_invalid]): Likewise.
([__profcxx_is_on]): Likewise.
([__profcxx_is_off]): Likewise.
([__profcxx_hashtable_resize]): Likewise.
([__profcxx_hashtable_destruct]): Likewise.
([__profcxx_hashtable_construct]): Likewise.
([__profcxx_vector_size_construct]): Likewise.
([__profcxx_vector_size_resize]): Likewise.
([__profcxx_vector_size_destruct]): Likewise.
([__profcxx_inefficient_hash_is_on]): Delete.
([__profcxx_hash_func_construct]): Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_hash_func_destruct]): Likewise.
([__profcxx_vector_construct2]): Rename into...
([__profcxx_vector2list_construct]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_vector_insert]): Rename into...
([__profcxx_vector2list_insert]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_vector_iterate]): Rename into...
([__profcxx_vector2list_iterate]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_vector_invalid_operator]): Rename into...
([__profcxx_vector2list_invalid_operator]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_vector_resize2]): Rename into...
([__profcxx_vector2list_resize]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_vector_destruct2]): Rename into...
([__profcxx_vector2list_destruct]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_vector_find]): Delete.
([__profcxx_list_construct2]): Rename into...
([__profcxx_list2vector_construct]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_list_insert]): Rename into...
([__profcxx_list2vector_insert]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_list_iterate]): Rename into...
([__profcxx_list2vector_iterate]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([_profcxx_list_invalid_operator]): Rename into...
([__profcxx_list2vector_invalid_operator]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_list_destruct2]): Rename into...
([__profcxx_list2vector_destruct]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_list_construct]): Rename into...
([__profcxx_list2slist_construct]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_list_rewind]): Rename into...
([__profcxx_list2slist_rewind]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_list_operation]): Rename into...
([__profcxx_list2slist_operation]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_list_destruct]): Rename into...
([__profcxx_list2slist_destruct]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_map_to_unordered_map_construct]): Rename into...
([__profcxx_map2umap_construct]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_map_to_unordered_map_insert]): Rename into...
([__profcxx_map2umap_insert]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_map_to_unordered_map_erase]): Rename into...
([__profcxx_map2umap_erase]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_map_to_unordered_map_iterate]): Rename into...
([__profcxx_map2umap_iterate]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_map_to_unordered_map_invalidate]): Rename into...
([__profcxx_map2umap_invalidate]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_map_to_unordered_map_find]): Rename into...
([__profcxx_map2umap_find]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
([__profcxx_map_to_unordered_map_destruct]): Rename into...
([__profcxx_map2umap_destruct]): ... this. Remove usage of
_GLIBCXX_PROFILE_REENTRANCE_GUARD.
* include/profile/list
(_List_profile): Adapt.
(_List_profile::_M_profile_construct): New.
(_List_profile()): Call latter.
(_List_profile::_M_profile_destruct): New.
(~_List_profile()): Call latter.
(_List_profile::_M_swap): New.
(_List_profile(_List_profile&&)): Call latter.
(_List_profile::operator=(const _List_profile&)): Reinit profile
structures.
(_List_profile::operator=(_List_profile&&)): Move profile struct and
re-init profile structures on moved instance.
(std::__profile::list<>): Adapt.
* include/profile/ordered_base.h
(_Ordered_profile::_M_profile_iterate): New.
(_Ordered_profile::_M_profile_construct): New.
(_Ordered_profile()): Call latter.
(_Ordered_profile::_M_swap): New.
(_Ordered_profile(_Ordered_profile&&)): Call latter.
(_Ordered_profile::operator=(const _Ordered_profile&)): Reinit
profiling.
(_Ordered_profile::operator=(_Ordered_profile&&)): Swap and reinit
profiling on the moved instance.
(_Ordered_profile::_M_profile_destruct): New.
(~_Ordered_profile()): Call latter.
* include/profile/map.h (std::__profile::map<>): Add profiling on
iterators. Adapt.
* include/profile/multimap.h (std::__profile::multimap<>): Likewise.
* include/profile/set.h (std::__profile::set<>): Likewise.
* include/profile/multiset.h (std::__profile::multiset<>): Likewise.
* include/profile/unordered_base.h
(_Unordered_profile::_M_profile_construct): New.
(_Unordered_profile()): Call latter.
(_Unordered_profile::_M_swap): New.
(_Unordered_profile(_Unordered_profile&&)): Call latter.
(_Unordered_profile::operator=(const _Unordered_profile&)): Reinit
profiling.
(_Unordered_profile::operator=(_Unordered_profile&&)): Swap and reinit
profiling on the moved instance.
(_Unordered_profile::_M_profile_destruct): New.
(~_Ordered_profile()): Call latter.
* include/profile/unordered_map
(std::__profile::unordered_map<>): Adapt.
(std::__profile::unordered_multimap<>): Adapt.
* include/profile/unordered_set
(std::__profile::unordered_set<>): Adapt.
(std::__profile::unordered_multiset<>): Adapt.
* include/profile/vector
(_Vector_profile_pre::_M_profile_destruct): Move...
(_Vector_profile_post::_M_profile_destruct): ...here.
(_Vector_profile_post::_M_profile_construct): New.
(_Vector_profile_post()): Call latter.
(std::__profile::vector<>): Adapt.
* testsuite/ext/profile/mh.cc: Rename into...
* testsuite/ext/profile/replace_new.cc: ... this and fix test.

From-SVN: r217321

9 years agore PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)
Vladimir Makarov [Mon, 10 Nov 2014 21:33:06 +0000 (21:33 +0000)] 
re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)

2014-11-10  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/63620
PR rtl-optimization/63799
* lra-lives.c (process_bb_lives): Do not delete EH_REGION, trapped
and setting PIC pseudo insns.
(lra_create_live_ranges): Fix the typo.

From-SVN: r217320

9 years agore PR tree-optimization/63748 (wrong may be used uninitialized warning (abnormal...
Patrick Palka [Mon, 10 Nov 2014 20:43:40 +0000 (20:43 +0000)] 
re PR tree-optimization/63748 (wrong may be used uninitialized warning (abnormal edges))

2014-11-10  Patrick Palka  <ppalka@gcc.gnu.org>

gcc/
PR middle-end/63748
* tree-ssa-propagate.c (may_propagate_copy): Allow propagating
SSA copies whose source and destination names both occur in
abnormal PHIs.

gcc/testsuite/
PR middle-end/63748
* gcc.dg/pr63748.c: New testcase.

From-SVN: r217317

9 years agoAdd missing braces in gcc.dg/pr44194-1.c
H.J. Lu [Mon, 10 Nov 2014 20:35:45 +0000 (20:35 +0000)] 
Add missing braces in gcc.dg/pr44194-1.c

* gcc.dg/pr44194-1.c (dg-do): Add missing braces.

From-SVN: r217316

9 years agoMakefile.in: Remove the compilation of graphite-clast-to-gimple.o.
Roman Gareev [Mon, 10 Nov 2014 20:32:31 +0000 (20:32 +0000)] 
Makefile.in: Remove the compilation of graphite-clast-to-gimple.o.

[gcc/]

* Makefile.in: Remove the compilation of graphite-clast-to-gimple.o.
* common.opt: Remove using of fgraphite-code-generator flag.
* flag-types.h: Likewise.
* graphite.c: Remove using of CLooG.
* graphite-blocking.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-poly.h: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite-clast-to-gimple.c: Removed.
* graphite-clast-to-gimple.h: Likewise.
* graphite-htab.h: Likewise.

[gcc/testsuite]

* gcc.dg/graphite/isl-ast-gen-blocks-1.c: Remove using of
fgraphite-code-generator flag.
* gcc.dg/graphite/isl-ast-gen-blocks-2.c: Likewise.
* gcc.dg/graphite/isl-ast-gen-blocks-3.c: Likewise.
* gcc.dg/graphite/isl-ast-gen-blocks-4.c: Likewise.
* gcc.dg/graphite/isl-ast-gen-user-1.c: Likewise.
* gcc.dg/graphite/isl-codegen-loop-dumping.c: Likewise.
* gcc.dg/graphite/pr35356-2.c: Likewise.
* gcc.dg/graphite/isl-ast-gen-single-loop-1.c: Likewise.
* gcc.dg/graphite/isl-ast-gen-single-loop-2.c: Likewise.
* gcc.dg/graphite/isl-ast-gen-single-loop-3.c: Likewise.
* gcc.dg/graphite/isl-ast-gen-if-1.c: Likewise.
* gcc.dg/graphite/isl-ast-gen-if-2.c: Likewise.

From-SVN: r217315

9 years agoRevert the last change on gcc.c-torture/compile/pr35468.c
H.J. Lu [Mon, 10 Nov 2014 20:18:26 +0000 (20:18 +0000)] 
Revert the last change on gcc.c-torture/compile/pr35468.c

* gcc.c-torture/compile/pr35468.c: Revert the last change.

From-SVN: r217314

9 years agoinvoke.texi ([-Wshift-count-negative, [...]): Add.
Paolo Carlini [Mon, 10 Nov 2014 20:14:41 +0000 (20:14 +0000)] 
invoke.texi ([-Wshift-count-negative, [...]): Add.

2014-11-10  Paolo Carlini  <paolo.carlini@oracle.com>

* doc/invoke.texi ([-Wshift-count-negative, -Wshift-count-overflow]):
Add.

/c-family
2014-11-10  Paolo Carlini  <paolo.carlini@oracle.com>

* c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.

/cp
2014-11-10  Paolo Carlini  <paolo.carlini@oracle.com>

* typeck.c (cp_build_binary_op): Use OPT_Wshift_count_negative and
OPT_Wshift_count_overflow in the warnings.

/c
2014-11-10  Paolo Carlini  <paolo.carlini@oracle.com>

* c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and
OPT_Wshift_count_overflow in the warnings.

/testsuite
2014-11-10  Paolo Carlini  <paolo.carlini@oracle.com>

* c-c++-common/Wshift-count-overflow-1.c: New.
* c-c++-common/Wshift-count-overflow-2.c: Likewise.
* c-c++-common/Wshift-count-negative-1.c: Likewise.
* c-c++-common/Wshift-count-negative-2.c: Likewise.

From-SVN: r217313

9 years agofrv.c (frv_io_handle_use_1): Delete.
Richard Sandiford [Mon, 10 Nov 2014 19:52:14 +0000 (19:52 +0000)] 
frv.c (frv_io_handle_use_1): Delete.

gcc/
* config/frv/frv.c (frv_io_handle_use_1): Delete.
(frv_io_handle_use): Use find_all_hard_regs.

From-SVN: r217311

9 years agofrv.c (frv_registers_conflict_p_1): Take an rtx rather than an rtx *.
Richard Sandiford [Mon, 10 Nov 2014 19:52:05 +0000 (19:52 +0000)] 
frv.c (frv_registers_conflict_p_1): Take an rtx rather than an rtx *.

gcc/
* config/frv/frv.c (frv_registers_conflict_p_1): Take an rtx rather
than an rtx *.  Take the regstate_t directly rather than via a void *.
Return a bool rather than an int.  Iterate over all subrtxes here.
(frv_registers_conflict_p): Update accordingly.

From-SVN: r217310

9 years agofrv.c: Include rtl-iter.h.
Richard Sandiford [Mon, 10 Nov 2014 19:51:57 +0000 (19:51 +0000)] 
frv.c: Include rtl-iter.h.

gcc/
* config/frv/frv.c: Include rtl-iter.h.
(frv_acc_group_1): Delete.
(frv_acc_group): Use FOR_EACH_SUBRTX.

From-SVN: r217309

9 years agofrv.c: Move include of rtl.h after hard-reg-set.h.
Richard Sandiford [Mon, 10 Nov 2014 19:51:48 +0000 (19:51 +0000)] 
frv.c: Move include of rtl.h after hard-reg-set.h.

gcc/
* config/frv/frv.c: Move include of rtl.h after hard-reg-set.h.
(frv_clear_registers_used): Delete.
(frv_ifcvt_modify_tests): Use find_all_hard_regs.

From-SVN: r217308

9 years agore PR bootstrap/63573 (libgo: ICE building libgo on powerpc-linux-gnu)
Jan Hubicka [Mon, 10 Nov 2014 19:14:17 +0000 (20:14 +0100)] 
re PR bootstrap/63573 (libgo: ICE building libgo on powerpc-linux-gnu)

PR bootstrap/63573
* calls.c (initialize_argument_information): When emitting thunk call
use original memory placement of the argument.

From-SVN: r217307

9 years agofshort-wchar.c: Use arm_eabi instead of arm*-*-*eabi*.
Andreas Tobler [Mon, 10 Nov 2014 18:32:45 +0000 (19:32 +0100)] 
fshort-wchar.c: Use arm_eabi instead of arm*-*-*eabi*.

2014-11-10  Andreas Tobler  <andreast@gcc.gnu.org>

    * gcc.dg/fshort-wchar.c: Use arm_eabi instead of arm*-*-*eabi*.
    * gcc.target/arm/aapcs/neon-vect1.c: Likewise.
    * gcc.target/arm/aapcs/neon-vect2.c: Likewise.
    * gcc.target/arm/aapcs/neon-vect3.c: Likewise.
    * gcc.target/arm/aapcs/neon-vect4.c: Likewise.
    * gcc.target/arm/aapcs/neon-vect5.c: Likewise.
    * gcc.target/arm/aapcs/neon-vect6.c: Likewise.
    * gcc.target/arm/aapcs/neon-vect7.c: Likewise.
    * gcc.target/arm/aapcs/neon-vect8.c: Likewise.
    * gcc.target/arm/aapcs/vfp1.c: Likewise.
    * gcc.target/arm/aapcs/vfp2.c: Likewise.
    * gcc.target/arm/aapcs/vfp3.c: Likewise.
    * gcc.target/arm/aapcs/vfp4.c: Likewise.
    * gcc.target/arm/aapcs/vfp5.c: Likewise.
    * gcc.target/arm/aapcs/vfp6.c: Likewise.
    * gcc.target/arm/aapcs/vfp7.c: Likewise.
    * gcc.target/arm/aapcs/vfp8.c: Likewise.
    * gcc.target/arm/aapcs/vfp9.c: Likewise.
    * gcc.target/arm/aapcs/vfp10.c: Likewise.
    * gcc.target/arm/aapcs/vfp11.c: Likewise.
    * gcc.target/arm/aapcs/vfp12.c: Likewise.
    * gcc.target/arm/aapcs/vfp13.c: Likewise.
    * gcc.target/arm/aapcs/vfp14.c: Likewise.
    * gcc.target/arm/aapcs/vfp15.c: Likewise.
    * gcc.target/arm/aapcs/vfp16.c: Likewise.
    * gcc.target/arm/aapcs/vfp17.c: Likewise.

From-SVN: r217306

9 years agoAdd a testcase for PR tree-optimization/63778
H.J. Lu [Mon, 10 Nov 2014 18:08:00 +0000 (18:08 +0000)] 
Add a testcase for PR tree-optimization/63778

PR tree-optimization/63778
* gfortran.dg/pr63778.f: New test.

From-SVN: r217304

9 years ago[PATCH] Partially fix PR61529, bound basic block frequency
Renlin Li [Mon, 10 Nov 2014 17:53:21 +0000 (17:53 +0000)] 
[PATCH] Partially fix PR61529, bound basic block frequency

  2014-11-10  Renlin Li <Renlin.Li@arm.com>

  PR middle-end/61529

  gcc/
    * tree-ssa-threadupdate.c (compute_path_counts): Bound path_in_freq.

  gcc/testsuite/
    * gcc.dg/pr61529.c: New.

From-SVN: r217303

9 years agoexpmed.c (expand_shift_1): Expand 8 bit rotate of 16 bit value to bswaphi if available.
Thomas Preud'homme [Mon, 10 Nov 2014 17:18:23 +0000 (17:18 +0000)] 
expmed.c (expand_shift_1): Expand 8 bit rotate of 16 bit value to bswaphi if available.

2014-11-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * expmed.c (expand_shift_1): Expand 8 bit rotate of 16 bit value to
    bswaphi if available.

From-SVN: r217302

9 years agoptx testsuite fix for return addresses.
Bernd Schmidt [Mon, 10 Nov 2014 16:31:10 +0000 (16:31 +0000)] 
ptx testsuite fix for return addresses.

* lib/target-supports.exp (check_effective_target_return_address):
New function.
* gcc.c-torture/execute/20010122-1.c: Require return_address.
* gcc.c-torture/execute/20030323-1.c: Likewise.
* gcc.c-torture/execute/20030811-1.c: Likewise.
* gcc.c-torture/execute/eeprof-1.c: Likewise.
* gcc.c-torture/execute/frame-address.c: Likewise.
* gcc.c-torture/execute/pr17377.c: Likewise.

From-SVN: r217301

9 years agoRandom testsuite tweaks for ptx.
Bernd Schmidt [Mon, 10 Nov 2014 16:31:00 +0000 (16:31 +0000)] 
Random testsuite tweaks for ptx.

* gcc.c-torture/compile/920625-2.c: Add return type to
freeReturnStruct.
* gcc.c-torture/execute/20091229-1.c: Declare main properly.
* gcc.c-torture/execute/pr61375.c: Likewise.
* gcc.c-torture/execute/20111208-1.c: Use __SIZE_TYPE__ for size_t.
* gcc.dg/pr30904.c: Remove extern from declaration of t.

From-SVN: r217300

9 years agoptx testsuite fixes for issues like indirect jumps and jump labels.
Bernd Schmidt [Mon, 10 Nov 2014 16:30:50 +0000 (16:30 +0000)] 
ptx testsuite fixes for issues like indirect jumps and jump labels.

* lib/target-supports.exp (check_effective_target_indirect_jumps):
New function.
(check_effective_target_nonlocal_goto): New function.
(check_effective_target_label_values): New function.
* gcc.c-torture/execute/20071220-2.c: Require label_values.
* gcc.c-torture/compile/labels-2.c: Likewise.
* gcc.c-torture/compile/20000518-1.c: Likewise.
* gcc.c-torture/compile/20021108-1.c: Likewise.
* gcc.c-torture/compile/981006-1.c: Likewise.
* gcc.c-torture/execute/20040302-1.c: Likewise.
* gcc.dg/torture/pr33848.c: Likewise.

* gcc.c-torture/compile/pr46107.c: Require indirect jumps and
label values.
* gcc.c-torture/compile/pr32919.c: Likewise.
* gcc.c-torture/compile/pr17913.c: Likewise.
* gcc.c-torture/compile/pr51495.c: Likewise.
* gcc.c-torture/compile/pr25224.c: Likewise.
* gcc.c-torture/compile/labels-3.c: Likewise.
* gcc.c-torture/compile/pr27863.c: Likewise.
* gcc.c-torture/compile/20050510-1.c: Likewise.
* gcc.c-torture/compile/pr28489.c: Likewise.
* gcc.c-torture/compile/pr29128.c: Likewise.
* gcc.c-torture/compile/pr21356: Likewise.
* gcc.c-torture/execute/20071210-1.c: Likewise.
* gcc.c-torture/execute/200701220-1.c: Likewise.
* gcc.c-torture/execute/pr51447.c: Likewise.
* gcc.c-torture/execute/comp-goto-1.c: Likewise.
* gcc.c-torture/execute/comp-goto-2.c: Likewise.
* gcc.dg/20021029-1.c: Likewise.
* gcc.dg/pr43379.c: Likewise.
* gcc.dg/pr45259.c: Likewise.
* gcc.dg/torture/pr53695.c: Likewise.
* gcc.dg/torture/pr57584.c: Likewise.

* gcc.c-torture/execute/980526-1.c: Skip if -O0 and neither label_values
or indirect_jumps are available.
* gcc.c-torture/compile/920415-1.c: Likewise.  Remove NO_LABEL_VALUES
test.
* gcc.c-torture/compile/920428-3.c: Likewise.
* gcc.c-torture/compile/950613-1.c: Likewise.

* gcc.c-torture/compile/pr30984.c: Require indirect jumps.
* gcc.c-torture/compile/991213-3.c: Likewise.
* gcc.c-torture/compile/920825-1.c: Likewise.
* gcc.c-torture/compile/20011029-1.c: Likewise.
* gcc.c-torture/compile/complex-6.c: Likewise.
* gcc.c-torture/compile/pr27127.c: Likewise.
* gcc.c-torture/compile/pr58164.c: Likewise.
* gcc.c-torture/compile/20041214-1.c: Likewise.
* gcc.c-torture/execute/built-in-setjmp.c: Likewise.
* gcc.c-torture/execute/pr56982.c: Likewise.
* gcc.c-torture/execute/pr60003.c: Likewise.
* gcc.c-torture/execute/pr26983.c: Likewise.
* gcc.dg/pr57287-2.c: Likewise.
* gcc.dg/pr59920-1.c: Likewise.
* gcc.dg/pr59920-2.c: Likewise.
* gcc.dg/pr59920-3.c: Likewise.
* gcc.dg/setjmp-3.c: Likewise.
* gcc.dg/setjmp-4.c: Likewise.
* gcc.dg/setjmp-5.c: Likewise.
* gcc.dg/torture/pr48542.c: Likewise.
* gcc.dg/torture/pr57147-2.c: Likewise.
* gcc.dg/torture/pr59993.c: Likewise.

* gcc.dg/torture/stackalign/non-local-goto-1.c: Require nonlocal_goto.
* gcc.dg/torture/stackalign/non-local-goto-2.c: Likewise.
* gcc.dg/torture/stackalign/non-local-goto-3.c: Likewise.
* gcc.dg/torture/stackalign/non-local-goto-4.c: Likewise.
* gcc.dg/torture/stackalign/non-local-goto-5.c: Likewise.
* gcc.dg/torture/stackalign/setjmp-1.c: Likewise.
* gcc.dg/torture/stackalign/setjmp-3.c: Likewise.
* gcc.dg/torture/stackalign/setjmp-4.c: Likewise.
* gcc.dg/non-local-goto-1.c: Likewise.
* gcc.dg/non-local-goto-2.c: Likewise.
* gcc.dg/pr49994-1.c: Likewise.
* gcc.dg/torture/pr57036-2.c: Likewise.

* gcc.c-torture/compile/20040614-1.c: Require label_values.  Remove
NO_LABEL_VALUES test.
* gcc.c-torture/compile/920831-1.c: Likewise.
* gcc.c-torture/compile/920502-1.c: Likewise.
* gcc.c-torture/compile/920501-7.c: Likewise.
* gcc.dg/pr52139.c: Likewise.

From-SVN: r217299

9 years agoXFAILs and such for ptx.
Bernd Schmidt [Mon, 10 Nov 2014 16:30:33 +0000 (16:30 +0000)] 
XFAILs and such for ptx.

* lib/target-supports.exp (check_effective_target_trampolines,
check_profiling_available, check_effective_target_lto,
check_effective_target_vect_natural): False for nvptx-*-*.
* gcc.c-torture/compile/limits-fndefn.c: Skip for nvptx-*-*.
* gcc.c-torture/compile/pr34334.c: Likewise.
* gcc.c-torture/compile/pr37056.c: Likewise.
* gcc.c-torture/compile/pr39423-1.c: Likewise.
* gcc.c-torture/compile/pr46534.c: Likewise.
* gcc.c-torture/compile/pr49049.c: Likewise.
* gcc.c-torture/compile/pr59417.c: Likewise.
* gcc.c-torture/compile/20080721-1.c: Likewise.
* gcc.c-torture/compile/920501-4.c: Likewise.
* gcc.c-torture/compile/921011-1.c: Likewise.
* gcc.dg/20040813-1.c: Likewise.
* gcc.dg/pr28755.c: Likewise.
* gcc.dg/pr44194-1.c: Likewise.
* gcc.c-torture/compile/pr42717.c: Xfail for nvptx-*-*.
* gcc.c-torture/compile/pr61684.c: Likewise.
* gcc.c-torture/compile/pr20601-1.c: Likewise.
* gcc.c-torture/compile/pr59221.c: Likewise.
* gcc.c-torture/compile/20060208-1.c: Likewise.
* gcc.c-torture/execute/pr52129.c: Likewise.
* gcc.c-torture/execute/20020310-1.c: Likewise.
* gcc.c-torture/execute/20101011-1.c: Define DO_TEST to 0 for nvptx.
* gcc.c-torture/execute20020312-2.c: Add case for for nvptx.
* gcc.c-torture/compile/pr60655-1.c: Don't add -fdata-sections
for nvptx-*-*.
* gcc.dg/pr36400.c: Xfail scan-assembler test on nvptx-*-*.
* gcc.dg/const-elim-2.c: Likewise.

From-SVN: r217298

9 years agoTestsuite untyped assembly fixes for ptx.
Bernd Schmidt [Mon, 10 Nov 2014 16:30:22 +0000 (16:30 +0000)] 
Testsuite untyped assembly fixes for ptx.

* lib/target-supports.exp
(check_effective_target_untyped_assembly): New function.
* gcc.c-torture/compile/20091215-1.c: Require untyped_assembly.
* gcc.c-torture/compile/920917-1.c: Likewise.
* gcc.c-torture/compile/930120-1.c: Likewise.
* gcc.c-torture/compile/930411-1.c: Likewise.
* gcc.c-torture/compile/930529-1.c: Likewise.
* gcc.c-torture/compile/930623-1.c: Likewise.
* gcc.c-torture/compile/950329-1.c: Likewise.
* gcc.c-torture/compile/calls.c: Likewise.
* gcc.c-torture/compile/pr37258.c: Likewise.
* gcc.c-torture/compile/pr37327.c: Likewise.
* gcc.c-torture/compile/pr38360.c: Likewise.
* gcc.c-torture/compile/pr43635.c: Likewise.
* gcc.c-torture/compile/pr47428.c: Likewise.
* gcc.c-torture/compile/pr47967.c: Likewise.
* gcc.c-torture/compile/pr49145.c: Likewise.
* gcc.c-torture/compile/pr51694.c: Likewise.
* gcc.c-torture/compile/pr53411.c: Likewise.
* gcc.c-torture/execute/20001101.c: Likewise.
* gcc.c-torture/execute/20051012-1.c: Likewise.
* gcc.c-torture/execute/920501-1.c: Likewise.
* gcc.c-torture/execute/921202-1.c: Likewise.
* gcc.c-torture/execute/921208-2.c: Likewise.
* gcc.c-torture/execute/call-trap-1.c: Likewise.
* gcc.c-torture/compile/20010525-1.c: Likewise.
* gcc.c-torture/compile/20021015-2.c: Likewise.
* gcc.c-torture/compile/20031023-1.c: Likewise.
* gcc.c-torture/compile/20031023-2.c: Likewise.
* gcc.c-torture/compile/pr49206.c: Likewise.
* gcc.c-torture/execute/pr47237.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-1.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-3.c: Likewise.
* gcc.dg/torture/stackalign/builtin-apply-4.c: Likewise.
* gcc.dg/torture/stackalign/builtin-return-1.c: Likewise.
* gcc.dg/builtin-apply1.c: Likewise.
* gcc.dg/builtin-apply2.c: Likewise.
* gcc.dg/builtin-apply3.c: Likewise.
* gcc.dg/builtin-apply4.c: Likewise.
* gcc.dg/pr38338.c: Likewise.
* gcc.dg/torture/pr41993.c: Likewise.
* gcc.c-torture/compile/386.c: Likewise.
* gcc.c-torture/compile/cmpsi386.c: Likewise.
* gcc.c-torture/compile/consec.c: Likewise.
* gcc.c-torture/compile/ex.c: Likewise.
* gcc.c-torture/compile/pass.c: Likewise.
* gcc.c-torture/compile/scal.c: Likewise.
* gcc.c-torture/compile/uuarg.c: Likewise.
* gcc.c-torture/compile/conv_tst.c: Likewise.

From-SVN: r217297

9 years agoTestsuite alloca fixes for ptx.
Bernd Schmidt [Mon, 10 Nov 2014 16:30:09 +0000 (16:30 +0000)] 
Testsuite alloca fixes for ptx.

* lib/target-supports.exp (check_effective_target_alloca): New function.
* gcc.c-torture/execute/20010209-1.c: Require alloca.
* gcc.c-torture/execute/20020314-1.c: Likewise.
* gcc.c-torture/execute/20020412-1.c: Likewise.
* gcc.c-torture/execute/20021113-1.c: Likewise.
* gcc.c-torture/execute/20040223-1.c: Likewise.
* gcc.c-torture/execute/20040308-1.c: Likewise.
* gcc.c-torture/execute/20040811-1.c: Likewise.
* gcc.c-torture/execute/20070824-1.c: Likewise.
* gcc.c-torture/execute/20070919-1.c: Likewise.
* gcc.c-torture/execute/built-in-setjmp.c: Likewise.
* gcc.c-torture/execute/pr22061-1.c: Likewise.
* gcc.c-torture/execute/pr22061-4.c: Likewise.
* gcc.c-torture/execute/pr43220.c: Likewise.
* gcc.c-torture/execute/vla-dealloc-1.c: Likewise.
* gcc.dg/torture/stackalign/alloca-1.c: Likewise.
* gcc.dg/torture/stackalign/vararg-1.c: Likewise.
* gcc.dg/torture/stackalign/vararg-2.c: Likewise.
* gcc.c-torture/compile/20000923-1.c: Likewise.
* gcc.c-torture/compile/20030224-1.c: Likewise.
* gcc.c-torture/compile/20071108-1.c: Likewise.
* gcc.c-torture/compile/20071117-1.c: Likewise.
* gcc.c-torture/compile/900313-1.c: Likewise.
* gcc.c-torture/compile/pr17397.c: Likewise.
* gcc.c-torture/compile/pr35006.c: Likewise.
* gcc.c-torture/compile/pr42956.c: Likewise.
* gcc.c-torture/compile/pr51354.c: Likewise.
* gcc.c-torture/compile/pr55851.c: Likewise.
* gcc.c-torture/compile/vla-const-1.c: Likewise.
* gcc.c-torture/compile/vla-const-2.c: Likewise.
* gcc.c-torture/compile/pr31507-1.c: Likewise.
* gcc.c-torture/compile/pr52714.c: Likewise.
* gcc.dg/20001012-2.c: Likewise.
* gcc.dg/auto-type-1.c: Likewise.
* gcc.dg/builtin-object-size-1.c: Likewise.
* gcc.dg/builtin-object-size-2.c: Likewise.
* gcc.dg/builtin-object-size-3.c: Likewise.
* gcc.dg/builtin-object-size-4.c: Likewise.
* gcc.dg/packed-vla.c: Likewise.
* gcc.c-torture/compile/parms.c: Likewise.
* gcc.c-torture/execute/920721-2.c: Skip -O0 unless alloca is available.
* gcc.c-torture/execute/920929-1.c: Likewise.
* gcc.c-torture/execute/921017-1.c: Likewise.
* gcc.c-torture/execute/941202-1.c: Likewise.
* gcc.c-torture/execute/align-nest.c: Likewise.
* gcc.c-torture/execute/alloca-1.c: Likewise.
* gcc.c-torture/execute/pr36321.c: Likewise.
* gcc.c-torture/compile/20001221-1.c: Likewise.
* gcc.c-torture/compile/20020807-1.c: Likewise.
* gcc.c-torture/compile/20050801-2.c: Likewise.
* gcc.c-torture/compile/920428-4.c: Likewise.
* gcc.c-torture/compile/debugvlafunction-1.c.c: Likewise.
* gcc.c-torture/compile/pr41469.c: Likewise.
* gcc.dg/torture/pr48953.c: Likewise.
* gcc.dg/torture/pr8081.c: Likewise.
* gcc.dg/torture/stackalign/inline-1.c: Skip if nvptx-*-*.
* gcc.dg/torture/stackalign/inline-2.c: Likewise.
* gcc.dg/torture/stackalign/nested-1.c: Likewise.
* gcc.dg/torture/stackalign/nested-2.c: Likewise.
* gcc.dg/torture/stackalign/nested-3.c: Likewise.
* gcc.dg/torture/stackalign/nested-4.c: Likewise.
* gcc.dg/torture/stackalign/nested-1.c: Likewise.
* gcc.dg/torture/stackalign/global-1.c: Likewise.
* gcc.dg/torture/stackalign/pr16660-1.c: Likewise.
* gcc.dg/torture/stackalign/pr16660-2.c: Likewise.
* gcc.dg/torture/stackalign/pr16660-3.c: Likewise.
* gcc.dg/torture/stackalign/ret-struct-1.c: Likewise.
* gcc.dg/torture/stackalign/struct-1.c: Likewise.

From-SVN: r217296

9 years agoAdd the nvptx port.
Bernd Schmidt [Mon, 10 Nov 2014 16:12:42 +0000 (16:12 +0000)] 
Add the nvptx port.

* configure.ac: Handle nvptx-*-*.
* configure: Regenerate.

gcc/
* config/nvptx/nvptx.c: New file.
* config/nvptx/nvptx.h: New file.
* config/nvptx/nvptx-protos.h: New file.
* config/nvptx/nvptx.md: New file.
* config/nvptx/t-nvptx: New file.
* config/nvptx/nvptx.opt: New file.
* common/config/nvptx/nvptx-common.c: New file.
* config.gcc: Handle nvptx-*-*.

libgcc/
* config.host: Handle nvptx-*-*.
* shared-object.mk (as-flags-$o): Define.
($(base)$(objext), $(base)_s$(objext)): Use it instead of
-xassembler-with-cpp.
* static-object.mk: Identical changes.
* config/nvptx/t-nvptx: New file.
* config/nvptx/crt0.s: New file.
* config/nvptx/free.asm: New file.
* config/nvptx/malloc.asm: New file.
* config/nvptx/realloc.c: New file.

From-SVN: r217295

9 years agoMake thread_prologue_and_epilogue_insns callable from backends.
Bernd Schmidt [Mon, 10 Nov 2014 16:12:30 +0000 (16:12 +0000)] 
Make thread_prologue_and_epilogue_insns callable from backends.

* function.c (thread_prologue_and_epilogue_insns): No longer static.
* function.h (thread_prologue_and_epilogue_insns): Declare.

From-SVN: r217294

9 years agoAdd a target hook for assembling undeclared decls.
Bernd Schmidt [Mon, 10 Nov 2014 16:12:21 +0000 (16:12 +0000)] 
Add a target hook for assembling undeclared decls.

* target.def (assemble_undefined_decl): New hooks.
* hooks.c (hook_void_FILEptr_constcharptr_const_tree): New function.
* hooks.h (hook_void_FILEptr_constcharptr_const_tree): Declare.
* doc/tm.texi.in (TARGET_ASM_ASSEMBLE_UNDEFINED_DECL): Add.
* doc/tm.texi: Regenerate.
* output.h (assemble_undefined_decl): Declare.
(get_fnname_from_decl): Declare.
* varasm.c (assemble_undefined_decl): New function.
(get_fnname_from_decl): New function.
* final.c (rest_of_handle_final): Use it.
* varpool.c (varpool_output_variables): Call assemble_undefined_decl
for nodes without a definition.

From-SVN: r217293

9 years agocpplib.h (cpp_callbacks): Add has_attribute.
Edward Smith-Rowland [Mon, 10 Nov 2014 15:53:12 +0000 (15:53 +0000)] 
cpplib.h (cpp_callbacks): Add has_attribute.

libcpp:

2014-11-10  Edward Smith-Rowland  <3dw4rd@verizon.net>

* include/cpplib.h (cpp_callbacks): Add has_attribute.
* internal.h (lexer_state): Add in__has_attribute__.
* directives.c (lex_macro_node): Prevent use of __has_attribute__
as a macro.
* expr.c (parse_has_attribute): New function; (eval_token): Look for
__has_attribute__ and route to parse_has_attribute.
* identifiers.c (_cpp_init_hashtable): Initialize n__has_attribute__.
* pch.c (cpp_read_state): Initialize n__has_attribute__.
* traditional.c (enum ls): Add ls_has_attribute, ls_has_attribute_close;
(_cpp_scan_out_logical_line): Attend to __has_attribute__.

gcc/c-family:

2014-11-10  Edward Smith-Rowland  <3dw4rd@verizon.net>

* c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
(__cpp_rtti, __cpp_exceptions): New macros for C++98;
(__cpp_range_based_for, __cpp_initializer_lists,
__cpp_delegating_constructors, __cpp_nsdmi,
__cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
for C++11; (__cpp_attribute_deprecated): Remove in favor of
__has_cpp_attribute.
* c-lex.c (cb_has_attribute): New callback CPP function;
(init_c_lex): Set has_attribute callback.

gcc/testsuite:

2014-11-10  Edward Smith-Rowland  <3dw4rd@verizon.net>

* g++.dg/cpp1y/feat-cxx11.C: Test new feature macros for C++98
and C++11; Test existence of __has_cpp_attribute;  Test C++11
attributes.
* g++.dg/cpp1y/feat-cxx11-neg.C: Ditto.
* g++.dg/cpp1y/feat-cxx14.C: Ditto and test for C++14 attributes.
* g++.dg/cpp1y/feat-cxx98.C: Test new feature macros for C++98.
* g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
* g++.dg/cpp1y/feat-neg.C: Test that __cpp_rtti, _cpp_exceptions
will be undefined for -fno-rtti -fno-exceptions.

From-SVN: r217292

9 years agotree-ssa-operands.c (finalize_ssa_uses): Properly put released operands on the free...
Richard Biener [Mon, 10 Nov 2014 15:46:23 +0000 (15:46 +0000)] 
tree-ssa-operands.c (finalize_ssa_uses): Properly put released operands on the free list.

2014-11-10  Richard Biener  <rguenther@suse.de>

* tree-ssa-operands.c (finalize_ssa_uses): Properly put
released operands on the free list.

From-SVN: r217291

9 years agomatch.pd: Implement pattern from simplify_mult.
Richard Biener [Mon, 10 Nov 2014 15:45:55 +0000 (15:45 +0000)] 
match.pd: Implement pattern from simplify_mult.

2014-11-10  Richard Biener  <rguenther@suse.de>

* match.pd: Implement pattern from simplify_mult.
* tree-ssa-forwprop.c (simplify_mult): Remove.
(pass_forwprop::execute): Do not call simplify_mult.

From-SVN: r217290

9 years agore PR tree-optimization/63800 (ICE on valid code at -O3 on x86_64-linux-gnu)
Richard Biener [Mon, 10 Nov 2014 14:31:31 +0000 (14:31 +0000)] 
re PR tree-optimization/63800 (ICE on valid code at -O3 on x86_64-linux-gnu)

2014-11-10  Richard Biener  <rguenther@suse.de>

PR tree-optimization/63800
* tree-ssa-pre.c (eliminate_push_avail): Push in a way so
we can restore the previous availability in after_dom_children.
(eliminate_dom_walker::after_dom_children): Restore
previous availability.

* gcc.dg/torture/pr63800.c: New testcase.

From-SVN: r217288

9 years agore PR tree-optimization/63798 (FAIL: gcc.target/powerpc/ppc-fmadd-1.c scan-assembler...
Richard Biener [Mon, 10 Nov 2014 14:06:56 +0000 (14:06 +0000)] 
re PR tree-optimization/63798 (FAIL: gcc.target/powerpc/ppc-fmadd-1.c scan-assembler-not f(add|sub|mul|neg))

2014-11-10  Richard Biener  <rguenther@suse.de>

PR middle-end/63798
* expr.c (expand_expr_real_2): When expanding FMA_EXPRs
properly treat the embedded multiplication as commutative
when looking for feeding negates.

From-SVN: r217287

9 years ago* config/avr/avr.h (CPLUSPLUS_CPP_SPEC): Define.
Joern Rennecke [Mon, 10 Nov 2014 13:06:22 +0000 (13:06 +0000)] 
* config/avr/avr.h (CPLUSPLUS_CPP_SPEC): Define.

From-SVN: r217286

9 years agoICF is disabled for the test because of default char signedness on powerpc64 target.
Martin Liska [Mon, 10 Nov 2014 12:21:50 +0000 (13:21 +0100)] 
ICF is disabled for the test because of default char signedness on powerpc64 target.

From-SVN: r217285

9 years agomatch.pd: Implement pattern from simplify_conversion_from_bitmask.
Richard Biener [Mon, 10 Nov 2014 11:47:53 +0000 (11:47 +0000)] 
match.pd: Implement pattern from simplify_conversion_from_bitmask.

2014-11-10  Richard Biener  <rguenther@suse.de>

* match.pd: Implement pattern from simplify_conversion_from_bitmask.
* tree-ssa-forwprop.c (simplify_conversion_from_bitmask): Remove.
(pass_forwprop::execute): Do not call simplify_conversion_from_bitmask.

From-SVN: r217284

9 years agoalign-7.c: Skip for -flto -fno-fat-lto-objects.
Marek Polacek [Mon, 10 Nov 2014 10:07:34 +0000 (10:07 +0000)] 
align-7.c: Skip for -flto -fno-fat-lto-objects.

* c-c++-common/ubsan/align-7.c: Skip for -flto -fno-fat-lto-objects.
* c-c++-common/ubsan/align-8.c: Likewise.
* g++.dg/ubsan/null-4.C: Likewise.
* g++.dg/ubsan/null-5.C: Likewise.

From-SVN: r217282

9 years agomatch.pd: Move rest of the conversion combining patterns from tree-ssa-forwprop.c.
Richard Biener [Mon, 10 Nov 2014 08:58:24 +0000 (08:58 +0000)] 
match.pd: Move rest of the conversion combining patterns from tree-ssa-forwprop.c.

2014-11-10  Richard Biener  <rguenther@suse.de>

* match.pd: Move rest of the conversion combining patterns
from tree-ssa-forwprop.c.
* tree-ssa-forwprop.c (combine_conversions): Remove.
(pass_forwprop::execute): Do not call it.

From-SVN: r217279

9 years agogimple-low.c (lower_function_body): Clear the location of the first inserted represen...
Eric Botcazou [Mon, 10 Nov 2014 08:53:16 +0000 (08:53 +0000)] 
gimple-low.c (lower_function_body): Clear the location of the first inserted representative return if...

* gimple-low.c (lower_function_body): Clear the location of the first
inserted representative return if it also fills in for the fallthru.

From-SVN: r217278

9 years agotree-if-conv.c (add_to_predicate_list): Check unconditionally that bb is always execu...
Yuri Rumyantsev [Mon, 10 Nov 2014 07:46:45 +0000 (07:46 +0000)] 
tree-if-conv.c (add_to_predicate_list): Check unconditionally that bb is always executed to early exit.

gcc/

* tree-if-conv.c (add_to_predicate_list): Check unconditionally
that bb is always executed to early exit. Use predicate of
cd-equivalent block for join blocks if it exists.
(if_convertible_loop_p_1): Recompute POST_DOMINATOR tree.
(tree_if_conversion): Free post-dominance information.

gcc/testsuite/

* gcc.dg/tree-ssa/ifc-cd.c: New test.

From-SVN: r217277

9 years agoDR 799
Jason Merrill [Mon, 10 Nov 2014 05:00:05 +0000 (00:00 -0500)] 
DR 799

DR 799
* typeck.c (build_reinterpret_cast_1): reinterpret_cast to the
same scalar type is an rvalue.

From-SVN: r217276

9 years agoDR 2007
Jason Merrill [Mon, 10 Nov 2014 05:00:00 +0000 (00:00 -0500)] 
DR 2007

DR 2007
* call.c (build_new_op_1): Don't do non-class lookup for =, -> or [].

From-SVN: r217275

9 years agoavx512vldqintrin.h (_mm256_broadcast_f32x2): __mmask8.
Jason Merrill [Mon, 10 Nov 2014 04:59:54 +0000 (23:59 -0500)] 
avx512vldqintrin.h (_mm256_broadcast_f32x2): __mmask8.

* config/i386/avx512vldqintrin.h (_mm256_broadcast_f32x2): __mmask8.
* config/i386/avx512vlintrin.h (_mm256_mask_cvtepi32_storeu_epi16)
(_mm_mask_cvtusepi32_storeu_epi16)
(_mm_mask_cvtsepi64_storeu_epi32): Return void.

From-SVN: r217274

9 years agoPR 47007 and 61847 Locale failures in libgfortran.
Janne Blomqvist [Mon, 10 Nov 2014 00:17:16 +0000 (02:17 +0200)] 
PR 47007 and 61847 Locale failures in libgfortran.

2014-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/47007
PR libfortran/61847
* config.h.in: Regenerated.
* configure: Regenerated.
* configure.ac (AC_CHECK_HEADERS_ONCE): Check for xlocale.h.
(AC_CHECK_FUNCS_ONCE): Check for newlocale, freelocale, uselocale,
strerror_l.
* io/io.h (locale.h): Include.
(xlocale.h): Include if present.
(c_locale): New variable.
(old_locale): New variable.
(old_locale_ctr): New variable.
(old_locale_lock): New variable.
(st_parameter_dt): Add old_locale member.
* io/transfer.c (data_transfer_init): Set locale to "C" if doing
formatted transfer.
(finalize_transfer): Reset locale to previous.
* io/unit.c (c_locale): New variable.
(old_locale): New variable.
(old_locale_ctr): New variable.
(old_locale_lock): New variable.
(init_units): Init c_locale, init old_locale_lock.
(close_units): Free c_locale.
* runtime/error.c (locale.h): Include.
(xlocale.h): Include if present.
(gf_strerror): Use strerror_l if available. Reset locale to
LC_GLOBAL_LOCALE for strerror_r branch.

2014-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/47007
PR libfortran/61847
* gfortran.texi: Add note about locale issues to thread-safety
section.

From-SVN: r217273

9 years agoDaily bump.
GCC Administrator [Mon, 10 Nov 2014 00:16:28 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r217272

9 years agoCorrect ChangeLog
H.J. Lu [Sun, 9 Nov 2014 17:56:51 +0000 (09:56 -0800)] 
Correct ChangeLog

From-SVN: r217268

9 years agoFix buffer overflow in avx256-unaligned-{load|store}-7.c
H.J. Lu [Sun, 9 Nov 2014 17:54:54 +0000 (17:54 +0000)] 
Fix buffer overflow in avx256-unaligned-{load|store}-7.c

* testsuite/63305
* gcc.target/i386/avx256-unaligned-load-7.c (avx_test): Fix
buffer overflow.
* gcc.target/i386/avx256-unaligned-store-7.c (avx_test): Likewise.

From-SVN: r217267

9 years ago* config/avr/predicates.md (low_io_address_operand): Fix typo.
Joern Rennecke [Sun, 9 Nov 2014 17:06:50 +0000 (17:06 +0000)] 
* config/avr/predicates.md (low_io_address_operand): Fix typo.

From-SVN: r217266

9 years agore PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)
Vladimir Makarov [Sun, 9 Nov 2014 16:45:15 +0000 (16:45 +0000)] 
re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)

2014-11-09  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/63620
* lra-constraints.c (substitute_pseudo): Add prefix lra_ to the
name.  Move to lra.c.  Make it external.
(substitute_pseudo_within_insn): Ditto.
(inherit_reload_reg, split_reg, remove_inheritance_pseudos): Use
the new names.
(undo_optional_reloads): Ditto.
* lra-int.h (lra_dump_bitmap_with_title, lra_substitute_pseudo):
New prototypes.
(lra_substitute_pseudo_within_insn): Ditto.
* lra-lives.c (bb_killed_pseudos, bb_gen_pseudos): New.
(mark_regno_live): Add parameter.  Update bb_gen_pseudos.
(mark_regno_dead): Add parameter.  Update bb_gen_pseudos and
bb_killed_pseudos.
(struct bb_data, bb_data_t, bb_data): New.
(get_bb_data, get_bb_data_by_index): Ditto.
(all_hard_regs_bitmap): New.
(live_trans_fun, live_con_fun_0, live_con_fun_n, all_blocks): New.
(initiate_live_solver, finish_live_solver): New.
(process_bb_lives): Change return type.  Add code updating local
live data and removing dead insns.  Pass new argument to
mark_regno_live and mark_regno_dead.  Check changing bb pseudo
life info.  Return the result.
(lra_create_live_ranges): Add code to do global pseudo live
analysis.
(lra_live_ranges_init): Call initiate_live_solver.
(lra_live_ranges_finish): Call finish_live_solver.
* lra.c (lra_dump_bitmap_with_title): New.
(lra_substitute_pseudo, lra_substitute_pseudo_within_insn): Move
from lra-constraints.c.

From-SVN: r217265

9 years ago* gcc.target/powerpc/pr51623.c: Fix implicit declarations.
Andreas Schwab [Sun, 9 Nov 2014 12:46:27 +0000 (12:46 +0000)] 
* gcc.target/powerpc/pr51623.c: Fix implicit declarations.

From-SVN: r217264

9 years agomatch.pd: Add patterns convering two conversions in a row from fold-const.c.
Richard Biener [Sun, 9 Nov 2014 11:27:00 +0000 (11:27 +0000)] 
match.pd: Add patterns convering two conversions in a row from fold-const.c.

2014-11-09  Richard Biener  <rguenther@suse.de>

* match.pd: Add patterns convering two conversions in a row
from fold-const.c.
* fold-const.c (fold_unary_loc): Remove them here.
* tree-ssa-forwprop.c (combine_conversions): Likewise.
* genmatch.c (dt_node::gen_kids): Check whether we may
follow SSA use-def chains.

* g++.dg/cpp0x/constexpr-reinterpret1.C: XFAIL.
* gcc.dg/tree-ssa/pr21031.c: XFAIL.

From-SVN: r217260

9 years agoDaily bump.
GCC Administrator [Sun, 9 Nov 2014 00:16:26 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r217259

9 years agoaarch64.c: Include rtl-iter.h.
Richard Sandiford [Sat, 8 Nov 2014 11:25:32 +0000 (11:25 +0000)] 
aarch64.c: Include rtl-iter.h.

gcc/
* config/aarch64/aarch64.c: Include rtl-iter.h.
(aarch64_tls_operand_p_1): Delete.
(aarch64_tls_operand_p): Use FOR_EACH_SUBRTX.

From-SVN: r217256

9 years agoarm.c (arm_note_pic_base): Delete.
Richard Sandiford [Sat, 8 Nov 2014 11:25:24 +0000 (11:25 +0000)] 
arm.c (arm_note_pic_base): Delete.

gcc/
* config/arm/arm.c (arm_note_pic_base): Delete.
(arm_cannot_copy_insn_p): Use FOR_EACH_SUBRTX.

From-SVN: r217255

9 years agoarm.c: Include rtl-iter.h.
Richard Sandiford [Sat, 8 Nov 2014 11:25:17 +0000 (11:25 +0000)] 
arm.c: Include rtl-iter.h.

gcc/
* config/arm/arm.c: Include rtl-iter.h.
(arm_tls_referenced_p_1): Delete.
(arm_tls_referenced_p): Use FOR_EACH_SUBRTX.

From-SVN: r217254

9 years agoaarch-common.c: Include rtl-iter.h.
Richard Sandiford [Sat, 8 Nov 2014 11:25:10 +0000 (11:25 +0000)] 
aarch-common.c: Include rtl-iter.h.

gcc/
* config/arm/aarch-common.c: Include rtl-iter.h.
(search_term, arm_find_sub_rtx_with_search_term): Delete.
(arm_find_sub_rtx_with_code): Use FOR_EACH_SUBRTX_VAR.
(arm_get_set_operands): Pass the insn pattern rather than the
insn itself.
(arm_no_early_store_addr_dep): Likewise.

From-SVN: r217253

9 years agoarm.c (arm_set_return_address): Mark the store as frame related, if any.
Eric Botcazou [Sat, 8 Nov 2014 09:17:23 +0000 (09:17 +0000)] 
arm.c (arm_set_return_address): Mark the store as frame related, if any.

* config/arm/arm.c (arm_set_return_address): Mark the store as frame
related, if any.
(thumb_set_return_address): Likewise.

From-SVN: r217251

9 years agoDR 1558
Jason Merrill [Sat, 8 Nov 2014 06:06:42 +0000 (01:06 -0500)] 
DR 1558

DR 1558
* pt.c (dependent_alias_template_spec_p): New.
(dependent_type_p_r): Handle dependent alias template specialization.
(template_args_equal): A dependent alias template specializations
is not equal to its underlying type as a template argument.
* tree.c (strip_typedefs): Don't strip a dependent alias
template-id.

From-SVN: r217250

9 years agoDaily bump.
GCC Administrator [Sat, 8 Nov 2014 00:16:20 +0000 (00:16 +0000)] 
Daily bump.

From-SVN: r217245

9 years ago20141107-1.c: New testcase.
Andrew Pinski [Fri, 7 Nov 2014 23:08:43 +0000 (23:08 +0000)] 
20141107-1.c: New testcase.

2014-11-07  Andrew Pinski  <apinski@cavium.com>

* gcc.c-torture/execute/20141107-1.c: New testcase.

From-SVN: r217242

9 years agoparser.c (cp_parser_unqualified_id): Handle __func__ here.
Jason Merrill [Fri, 7 Nov 2014 23:01:09 +0000 (18:01 -0500)] 
parser.c (cp_parser_unqualified_id): Handle __func__ here.

* parser.c (cp_parser_unqualified_id): Handle __func__ here.
(cp_parser_primary_expression): Not here.

From-SVN: r217241

9 years agoFix typo and line wrap in ChangeLog
Jeff Law [Fri, 7 Nov 2014 22:59:40 +0000 (15:59 -0700)] 
Fix typo and line wrap in ChangeLog

From-SVN: r217240

9 years agore PR tree-optimization/61515 (Extremely long compile time for generated code)
Jeff Law [Fri, 7 Nov 2014 22:55:00 +0000 (15:55 -0700)] 
re PR tree-optimization/61515 (Extremely long compile time for generated code)

PR tree-optimization/61515
* tree-ssa-threadedge.c (invalidate_equivalences): Walk the unwinding stack
rather than looking at ever SSA_NAME's value.

From-SVN: r217239

9 years agore PR tree-optimization/63605 (wrong code at -O3 on x86_64-linux-gnu)
Richard Biener [Fri, 7 Nov 2014 20:57:01 +0000 (20:57 +0000)] 
re PR tree-optimization/63605 (wrong code at -O3 on x86_64-linux-gnu)

2014-11-07  Richard Biener  <rguenther@suse.de>

PR tree-optimization/63605
* fold-const.c (fold_binary_loc): Properly use element_precision
for types that may not be scalar.

* gcc.dg/vect/pr63605.c: New testcase.

From-SVN: r217238

9 years agore PR target/63534 (Bootstrap failure on x86_64/i686-linux)
Evgeny Stupachenko [Fri, 7 Nov 2014 20:42:36 +0000 (20:42 +0000)] 
re PR target/63534 (Bootstrap failure on x86_64/i686-linux)

PR target/63534

gcc/
        * config/i386/i386.md (builtin_setjmp_receiver): Use
        pic_offset_table_rtx for PIC register.
        (nonlocal_goto_receiver): Delete.

From-SVN: r217237

9 years ago* g++.dg/pr61289-2.C: Renamed from pr61289-2.c.
Jeff Law [Fri, 7 Nov 2014 17:02:55 +0000 (10:02 -0700)] 
* g++.dg/pr61289-2.C: Renamed from pr61289-2.c.

From-SVN: r217234

9 years agoconfig.gcc (sparc-*-rtems*): Clean away unused t-elf.
Daniel Hellstrom [Fri, 7 Nov 2014 16:35:01 +0000 (17:35 +0100)] 
config.gcc (sparc-*-rtems*): Clean away unused t-elf.

2014-11-07  Daniel Hellstrom  <daniel@gaisler.com>

* config.gcc (sparc-*-rtems*): Clean away unused t-elf.
* config/sparc/t-rtems: Add leon3v7 and muser-mode multilibs.

From-SVN: r217231

9 years ago[PATCH] gnu11 cleanup for gcc.target/arm/lp1243022.c
Jiong Wang [Fri, 7 Nov 2014 16:28:37 +0000 (16:28 +0000)] 
[PATCH] gnu11 cleanup for gcc.target/arm/lp1243022.c

  gcc/testsuite/
    * gcc.target/arm/lp1243022.c (xhci_test_trb_in_td): Add return type.
    (xhci_check_trb_in_td_math): Likewise.

From-SVN: r217230

9 years agore PR c++/63366 (C++ __complex is not equivalent to __complex double)
Thomas Preud'homme [Fri, 7 Nov 2014 16:21:15 +0000 (16:21 +0000)] 
re PR c++/63366 (C++ __complex is not equivalent to __complex double)

PR c++/63366
* decl.c (grokdeclarator): Fix __complex meaning __complex double.

From-SVN: r217229

9 years ago[PATCH] Add AArch64 to the target list for 20040204-1.c
Jiong Wang [Fri, 7 Nov 2014 16:21:00 +0000 (16:21 +0000)] 
[PATCH] Add AArch64 to the target list for 20040204-1.c

gcc/testsuite/
  * gcc.dg/tree-ssa/20040204-1.c: Add aarch64*-*-* to the list.

From-SVN: r217228

9 years ago[multiple changes]
Arnaud Charlet [Fri, 7 Nov 2014 13:59:41 +0000 (14:59 +0100)] 
[multiple changes]

2014-11-07  Arnaud Charlet  <charlet@adacore.com>

* debug.adb, snames.adb-tmpl (Is_Keyword_Name): Consider 'overriding'
a keyword in Ada 95 mode when -gnatd.D is used.
* gnat_ugn.texi: Document -gnatd.D.

2014-11-07  Vasiliy Fofanov  <fofanov@adacore.com>

* gnatls.adb: Lower severity of the program's return value in
some common cases.

2014-11-07  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Decorate_Type): The limited view of a tagged
type has an empty list of primitive operations.

2014-11-07  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb (Analyze_Object_Declaration): Update references to SPARK
RM.
(Process_Full_View): Update references to SPARK RM.
* sem_ch6.adb (Analyze_Generic_Subprogram_Body): Update references
to SPARK RM.
(Analyze_Subprogram_Body_Helper): Update references
to SPARK RM.
* sem_ch7.adb (Analyze_Package_Body_Helper): Update references
to SPARK RM.
* sem_prag.adb (Check_Ghost_Constituent): Update references to
SPARK RM.
* sem_res.adb (Check_Ghost_Policy): Update references to SPARK RM.
(Resolve_Actuals): Ensure that the actual parameter of a Ghost
subprogram whose formal is of mode IN OUT or OUT is Ghost.
* sem_util.adb (Check_Ghost_Completion): Update references to
SPARK RM.

2014-11-07  Ed Schonberg  <schonberg@adacore.com>

* exp_ch7.adb (Make_Final_Call): If type of designated object is
derived from that of the formal of the Deep_Finalize procedure,
add an unchecked conversion to prevent spurious type error.

2014-11-07  Robert Dewar  <dewar@adacore.com>

* table.adb, inline.adb, einfo.adb, gnat1drv.adb, exp_ch13.adb,
exp_fixd.adb, prj-conf.adb, exp_strm.adb, a-cofove.adb, exp_ch3.ads:
Minor reformatting.

2014-11-07  Robert Dewar  <dewar@adacore.com>

* sem_ch12.adb, sem_ch13.adb, prj-tree.adb: Minor reformatting.

From-SVN: r217227