2014-12-20  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/vector (std::__debug::vector<>::clear()): Do not reset
	guaranteed capacity.
	* testsuite/23_containers/vector/bool/allocator/swap.cc: Move
	propagating_allocator equality and inequality operators to __gnu_test
	namespace.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218991 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218994 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/64359
	* pt.c (iterative_hash_template_arg): Hash alias specializations
	differently from their TYPE_CANONICAL.
	(alias_template_specialization_p): Optimize.
	(template_args_equal): Optimize alias handling.
	(dependent_alias_template_spec_p): Only check innermost args.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218995 138bc75d-0d04-0410-961f-82ee72b054a4
	PR libstdc++/64367
	* include/std/stdexcept: Don't use non-static member in sizeof.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218997 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/testsuite/
	PR target/17280
	* gcc.target/sh/torture/pr17280.c: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218998 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	PR target/55212
	* config/sh/sh.md (*addsi3_compact): Add parentheses around &&
	condition.  Add comments.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218999 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219002 138bc75d-0d04-0410-961f-82ee72b054a4
Add myself to RTEMS Ports maintainers.

ChangeLog
	* MAINTAINERS (RTEMS Ports): Add myself.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219003 138bc75d-0d04-0410-961f-82ee72b054a4
New symbol_summary class introduced.

	* cgraph.h (symbol_table::allocate_cgraph_symbol): Summary UID
	is filled up.
	* symbol-summary.h: New file.
	* gengtype.c (open_base_files): Add symbol-summary.h.
	* toplev.c (general_init): Call constructor of symbol_table.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219004 138bc75d-0d04-0410-961f-82ee72b054a4
ipa-prop uses symbol_summary class.

	* lto-partition.c: Include of symbol-summary.h is added.
	* lto-symtab.c: Likewise.
	* lto.c: Likewise.
	* auto-profile.c: Include of symbol-summary.h is added.
	* cgraph.c: Likewise.
	* cgraphbuild.c: Likewise.
	* cgraphclones.c: Likewise.
	* cgraphunit.c: Likewise.
	* ipa-cp.c: Likewise.
	* ipa-devirt.c: Likewise.
	* ipa-icf.c: Likewise.
	* ipa-inline-analysis.c (evaluate_properties_for_edge): New
	ipa_node_params_sum data structure is used.
	(inline_node_duplication_hook): Likewise.
	(estimate_function_body_sizes): Likewise.
	(remap_edge_change_prob): Likewise.
	(inline_merge_summary): Likewise.
	* ipa-inline-transform.c: Include of symbol-summary.h is added.
	* ipa-inline.c (early_inliner): New ipa_node_params_sum data structure
	is used.
	* ipa-polymorphic-call.c: Include of symbol-summary.h is added.
	* ipa-profile.c: Include of symbol-summary.h is added.
	* ipa-prop.c (ipa_propagate_indirect_call_infos): New ipa_node_params_sum
	data structure is used.
	(ipa_node_params::~ipa_node_params): New function.
	(ipa_free_all_node_params): Destruction is simplified.
	(ipa_node_removal_hook): Removed.
	(ipa_add_new_function): Renamed from ipa_node_duplication_hook.
	(ipa_node_params_t::duplicate): New function.
	(ipa_register_cgraph_hooks): Few hooks are removed.
	(ipa_unregister_cgraph_hooks): Likewise.
	(ipa_prop_write_jump_functions): New ipa_node_params_sum is used.
	* ipa-prop.h (struct ipa_node_params): Destructor introduced for
	the structure.
	(ipa_check_create_node_params): Vector for ipa_node_params is replaced
	with function_summary.
	* ipa-split.c: Include of symbol-summary.h is added.
	* ipa-utils.c: Include of symbol-summary.h is added.
	* ipa.c: Include of symbol-summary.h is added.
	* omp-low.c: Include of symbol-summary.h is added.
	* tree-inline.c: Include of symbol-summary.h is added.
	* tree-sra.c: Include of symbol-summary.h is added.
	* tree-ssa-pre.c: Include of symbol-summary.h is added.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219005 138bc75d-0d04-0410-961f-82ee72b054a4
symbol_summary is used for inline_summary.

	* lto-partition.c (add_symbol_to_partition_1): New inline_summaries
	is used.
	(undo_partition): Likewise.
	(lto_balanced_map): Likewise.
	* cgraphunit.c (symbol_table::process_new_functions): New inline_summaries
	is used.
	* ipa-cp.c (ipcp_cloning_candidate_p): Likewise.
	(devirtualization_time_bonus): Likewise.
	(estimate_local_effects): Likewise.
	(ipcp_propagate_stage): Likewise.
	* ipa-inline-analysis.c (evaluate_conditions_for_known_args): Likewise.
	(evaluate_properties_for_edge): Likewise.
	(inline_summary_alloc): Likewise.
	(reset_inline_summary): New inline_summary argument is introduced.
	(inline_summary_t::remove): New function.
	(inline_summary_t::duplicate): Likewise.
	(dump_inline_edge_summary): New inline_summaries is used.
	(dump_inline_summary): Likewise.
	(estimate_function_body_sizes): Likewise.
	(compute_inline_parameters): Likewise.
	(estimate_edge_devirt_benefit): Likewise.
	(estimate_node_size_and_time): Likewise.
	(inline_update_callee_summaries): Likewise.
	(inline_merge_summary): Likewise.
	(inline_update_overall_summary): Likewise.
	(simple_edge_hints): Likewise.
	(do_estimate_edge_time): Likewise.
	(estimate_time_after_inlining): Likewise.
	(estimate_size_after_inlining): Likewise.
	(do_estimate_growth): Likewise.
	(growth_likely_positive): Likewise.
	(inline_generate_summary): Likewise.
	(inline_read_section): Likewise.
	(inline_read_summary): Likewise.
	(inline_write_summary): Likewise.
	(inline_free_summary): Likewise.
	* ipa-inline-transform.c (clone_inlined_nodes): Likewise.
	(inline_call): Likewise.
	* ipa-inline.c (caller_growth_limits): Likewise.
	(can_inline_edge_p): Likewise.
	(want_early_inline_function_p): Likewise.
	(compute_uninlined_call_time): Likewise.
	(compute_inlined_call_time): Likewise.
	(big_speedup_p): Likewise.
	(want_inline_small_function_p): Likewise.
	(edge_badness): Likewise.
	(update_caller_keys): Likewise.
	(update_callee_keys): Likewise.
	(recursive_inlining): Likewise.
	(inline_small_functions): Likewise.
	(inline_to_all_callers): Likewise.
	(dump_overall_stats): Likewise.
	(early_inline_small_functions): Likewise.
	* ipa-inline.h: New class inline_summary_t replaces
	vec<inline_summary_t>.
	* ipa-split.c (execute_split_functions): New inline_summaries is used.
	* ipa.c (walk_polymorphic_call_targets): Likewise.
	* tree-sra.c (ipa_sra_preliminary_function_checks): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219006 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/decl.c (check_ok_for_atomic): Rename into...
	(check_ok_for_atomic_type): ...this.  When checking the mode, also
	check that the type is sufficient aligned.  Remove useless code and
	tidy up implementation.
	(gnat_to_gnu_entity): Adjust to above renaming.
	(gnat_to_gnu_component_type): Likewise.
	(gnat_to_gnu_field): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219007 138bc75d-0d04-0410-961f-82ee72b054a4
	PR rtl-optimization/62151
	* combine.c (try_combine): New local variables local_elim_i1
	and local_elim_i0.  Set elim_i1 and elim_i0 using the local
	version variables.  Distribute notes from i0notes or i1notes
	using the local variables.

	gcc/testsuite/ChangeLog
	PR rtl-optimization/62151
	* gcc.c-torture/execute/pr62151.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219008 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/decl.c (gnat_to_gnu_field): Post the error message
	for parent overlapping on the position instead of on the first bit.
	For a field that needs strict alignment, issue the error for the
	position first and, for the size, issue an error if it is too large
	only for the atomic and aliased cases.  Issue a specific error if
	the size is not a multiple of a byte in the volatile and the stric
	alignment cases.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219009 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_{Min,Max}>: If the
	type is a floating-point type, implement the semantics of the C99
	f{min,max} routines with regard to NaNs.
	(gnat_to_gnu): Call builtin_decl_implicit.
	* gcc-interface/utils2.c (compare_arrays): Adjust comments.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219010 138bc75d-0d04-0410-961f-82ee72b054a4
	* gnat.dg/nan_max.adb: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219011 138bc75d-0d04-0410-961f-82ee72b054a4
2014-12-22  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
	    Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/60396
	* config/abi/pre/gnu.ver: Add new exports.
	* include/bits/locale_facets_nonio.h (time_get::get): New overloads.
	(time_get::do_get):  New virtual function.
	* include/bits/locale_facets_nonio.tcc (time_get::get): Define.
	(time_get::do_get): Define.
	* src/c++11/string-inst.cc (time_get::get, time_get::do_get): Add
	C++11-only instantiations.
	* testsuite/22_locale/time_get/get/char/1.cc: New.
	* testsuite/22_locale/time_get/get/char/2.cc: New.
	* testsuite/22_locale/time_get/get/wchar_t/1.cc: New.
	* testsuite/22_locale/time_get/get/wchar_t/2.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219012 138bc75d-0d04-0410-961f-82ee72b054a4
2014-12-22  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>

	PR libstdc++/54354
	* include/std/iomanip (_Get_time): New struct.
	(get_time): New manipulator.
	(operator<<): New overloaded function.
	* testsuite/27_io/manipulators/extended/get_time/char/1.cc: New.
	* testsuite/27_io/manipulators/extended/get_time/char/2.cc: New.
	* testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: New.
	* testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219013 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/xml/manual/status_cxx2011.xml: Update.
	* doc/html/manual/status.html: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219014 138bc75d-0d04-0410-961f-82ee72b054a4
2014-12-22  Ville Voutilainen  <ville.voutilainen@gmail.com>

	PR libstdc++/60271
	C++14 constexpr min, max, minmax, min_element, max_element
	and minmax_element. Also constexpr for 20.9.5-20.9.9,
	aka various library functors.
	* include/bits/c++config: Add _GLIBCXX14_CONSTEXPR.
	* include/bits/algorithmfwd.h (min, max, minmax, min_element,
	max_element): Use it.
	* include/bits/predefined_ops.h (_Iter_less_iter, __iter_less_iter,
	_Iter_comp_iter, __iter_comp_iter): Likewise.
	* include/bits/stl_algo.h (minmax, __minmax_element, minmax_element,
	min, max, __min_element, min_element, __max_element, max_element)
	Likewise.
	* include/bits/stl_algobase.h (min, max): Likewise.
	* include/bits/stl_function.h (plus, minus, multiplies, divides,
	modulus, negate, equal_to, not_equal_to, greater, less, greater_equal,
	less_equal, logical_and, logical_or, logical_not, bit_and, bit_or,
	bit_xor, bit_not, unary_negate, not1, binary_negate, not2): Likewise.
	* testsuite/20_util/function_objects/constexpr.cc: New.
	* testsuite/25_algorithms/max/constexpr.cc: Likewise.
	* testsuite/25_algorithms/max_element/constexpr.cc: Likewise.
	* testsuite/25_algorithms/min/constexpr.cc: Likewise.
	* testsuite/25_algorithms/min_element/constexpr.cc: Likewise.
	* testsuite/25_algorithms/minmax/constexpr.cc: Likewise.
	* testsuite/25_algorithms/minmax_element/constexpr.cc: Likewise.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219015 138bc75d-0d04-0410-961f-82ee72b054a4