aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-11-11system.h: Include algorithm and utility.Uros Bizjak5-14/+13
* 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
2014-11-11re PR ada/42978 (gnatmake doesn't report the options it actually provides to ↵Simon Wright2-0/+9
ranlib) PR ada/42978 * mlib-utl.adb (ar): Output the options passed to ranlib. From-SVN: r217346
2014-11-11[Fortran] PR 63701 Make sure variable is always used initialisedKyrylo Tkachov2-1/+6
PR fortran/63701 * trans-expr.c (gfc_get_tree_for_caf_expr): Initialise found to false. From-SVN: r217345
2014-11-11xmethods.py: Add xmethods for associative containers.Siva Chandra Reddy2-0/+66
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
2014-11-11re PR libstdc++/63811 (r217322 breaks bootstrap)Jonathan Wakely2-1/+7
PR libstdc++/63811 * include/bits/stl_deque.h (_Deque_base::_M_move_impl()): Avoid using badname. From-SVN: r217343
2014-11-11re PR bootstrap/63699 (Bootstrap fails in libcc1 on darwin14)Francois-Xavier Coudert6-7/+26
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
2014-11-11invoke.texi (-masm-syntax-unified): Reword and fix typo.Terry Guo3-12/+17
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
2014-11-11sreal.c (sreal::to_int): Use INTTYPE_MAXIMUM (int64_t) instead of INT64_MAX.Uros Bizjak2-1/+6
* sreal.c (sreal::to_int): Use INTTYPE_MAXIMUM (int64_t) instead of INT64_MAX. From-SVN: r217340
2014-11-11download_prerequisites: Stop downloading CLooG.Tobias Burnus4-20/+8
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
2014-11-11Add illegal cilk checks to C++ front.Andi Kleen2-0/+30
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
2014-11-11Error out for Cilk_spawn or array expression in forbidden placesAndi Kleen6-34/+101
_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
2014-11-11Fix some of the existing Cilk tests for the new errors.Andi Kleen2-4/+9
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
2014-11-11Add test cases for all the new cilk errorsAndi Kleen2-0/+60
gcc/testsuite/: 2014-11-10 Andi Kleen <ak@linux.intel.com> * c-c++-common/cilk-plus/CK/errors.c: New test. From-SVN: r217334
2014-11-11Fix error location for cilk error messageAndi Kleen2-1/+6
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
2014-11-11c++ify srealTrevor Saunders5-481/+247
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
2014-11-11sched-deps.c (sched_analyze_1): Check pending list if it is not less than ↵Bin Cheng2-5/+11
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
2014-11-11Daily bump.GCC Administrator1-1/+1
From-SVN: r217330
2014-11-11i386.c (ix86_decompose_address): Replace open-coded swap with std::swap to ↵Uros Bizjak3-104/+61
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
2014-11-11revert: re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)Uros Bizjak6-22/+43
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
2014-11-11* gcc.dg/tm/memopt-15.c: Add -msse2 to dg-options.Jakub Jelinek2-1/+3
From-SVN: r217324
2014-11-11ipa-icf-gimple.c (func_checker::compare_bb): Fix comment typo.Jakub Jelinek5-6/+109
* 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
2014-11-10Fix std::deque move construction with non-equal allocators.Jonathan Wakely6-12/+60
* 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
2014-11-10Major maintenance patch of the profile mode.François Dumont24-1540/+1917
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
2014-11-10re PR rtl-optimization/63620 (RELOAD lost SET_GOT dependency on Darwin)Vladimir Makarov2-2/+17
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
2014-11-10re PR tree-optimization/63748 (wrong may be used uninitialized warning ↵Patrick Palka4-12/+63
(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
2014-11-10Add missing braces in gcc.dg/pr44194-1.cH.J. Lu2-1/+5
* gcc.dg/pr44194-1.c (dg-do): Add missing braces. From-SVN: r217316
2014-11-10Makefile.in: Remove the compilation of graphite-clast-to-gimple.o.Roman Gareev27-2085/+44
[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
2014-11-10Revert the last change on gcc.c-torture/compile/pr35468.cH.J. Lu2-1/+4
* gcc.c-torture/compile/pr35468.c: Revert the last change. From-SVN: r217314
2014-11-10invoke.texi ([-Wshift-count-negative, [...]): Add.Paolo Carlini13-13/+96
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
2014-11-10frv.c (frv_io_handle_use_1): Delete.Richard Sandiford2-19/+8
gcc/ * config/frv/frv.c (frv_io_handle_use_1): Delete. (frv_io_handle_use): Use find_all_hard_regs. From-SVN: r217311
2014-11-10frv.c (frv_registers_conflict_p_1): Take an rtx rather than an rtx *.Richard Sandiford2-43/+45
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
2014-11-10frv.c: Include rtl-iter.h.Richard Sandiford2-22/+24
gcc/ * config/frv/frv.c: Include rtl-iter.h. (frv_acc_group_1): Delete. (frv_acc_group): Use FOR_EACH_SUBRTX. From-SVN: r217309
2014-11-10frv.c: Move include of rtl.h after hard-reg-set.h.Richard Sandiford2-33/+13
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
2014-11-10re PR bootstrap/63573 (libgo: ICE building libgo on powerpc-linux-gnu)Jan Hubicka2-0/+16
PR bootstrap/63573 * calls.c (initialize_argument_information): When emitting thunk call use original memory placement of the argument. From-SVN: r217307
2014-11-10fshort-wchar.c: Use arm_eabi instead of arm*-*-*eabi*.Andreas Tobler27-26/+55
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
2014-11-10Add a testcase for PR tree-optimization/63778H.J. Lu2-0/+51
PR tree-optimization/63778 * gfortran.dg/pr63778.f: New test. From-SVN: r217304
2014-11-10[PATCH] Partially fix PR61529, bound basic block frequencyRenlin Li4-0/+42
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
2014-11-10expmed.c (expand_shift_1): Expand 8 bit rotate of 16 bit value to bswaphi if ↵Thomas Preud'homme2-0/+17
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
2014-11-10ptx testsuite fix for return addresses.Bernd Schmidt9-0/+26
* 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
2014-11-10Random testsuite tweaks for ptx.Bernd Schmidt6-5/+12
* 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
2014-11-10ptx testsuite fixes for issues like indirect jumps and jump labels.Bernd Schmidt75-20/+243
* 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
2014-11-10XFAILs and such for ptx.Bernd Schmidt27-7/+67
* 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
2014-11-10Testsuite untyped assembly fixes for ptx.Bernd Schmidt53-0/+126
* 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
2014-11-10Testsuite alloca fixes for ptx.Bernd Schmidt68-0/+148
* 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
2014-11-10Add the nvptx port.Bernd Schmidt22-4/+4260
* 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
2014-11-10Make thread_prologue_and_epilogue_insns callable from backends.Bernd Schmidt3-1/+6
* function.c (thread_prologue_and_epilogue_insns): No longer static. * function.h (thread_prologue_and_epilogue_insns): Declare. From-SVN: r217294
2014-11-10Add a target hook for assembling undeclared decls.Bernd Schmidt10-11/+73
* 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
2014-11-10cpplib.h (cpp_callbacks): Add has_attribute.Edward Smith-Rowland18-23/+424
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
2014-11-10tree-ssa-operands.c (finalize_ssa_uses): Properly put released operands on ↵Richard Biener2-2/+8
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
2014-11-10match.pd: Implement pattern from simplify_mult.Richard Biener3-55/+14
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