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

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


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

	* fibonacci_heap.h: New file.
	(fibonacci_heap::insert): Created from fibheap_insert.
	(fibonacci_heap::empty): Created from fibheap_empty.
	(fibonacci_heap::nodes): Created from fibheap_nodes.
	(fibonacci_heap::min_key): Created from fibheap_min_key.
	(fibonacci_heap::decrease_key): Created from fibheap_replace_key.
	(fibonacci_heap::replace_key_data): Created from fibheap_replace_key_data.
	(fibonacci_heap::extract_min): Created from fibheap_extract_min.
	(fibonacci_heap::min): Created from fibheap_min.
	(fibonacci_heap::replace_data): Created from fibheap_replace_data.
	(fibonacci_heap::delete_node): Created from fibheap_delete_node.
	(fibonacci_heap::union_with): Created from fibheap_union.
	* ipa-inline.c (update_edge_key): New heap API is used.
	(update_caller_keys): Likewise.
	(update_callee_keys): Likewise.
	(lookup_recursive_calls): Likewise.
	(recursive_inlining): Likewise.
	(add_new_edges_to_heap): Likewise.
	(heap_edge_removal_hook): Likewise.
	(inline_small_functions): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217720 138bc75d-0d04-0410-961f-82ee72b054a4
fibonacci_heap is used for bb-reoder purpose.

	* bb-reorder.c (mark_bb_visited): New fibonacci_heap is used.
	(find_traces): Likewise.
	(find_traces_1_round): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217721 138bc75d-0d04-0410-961f-82ee72b054a4
tracer ported to new fibonacci_heap data structure.

	* tracer.c (tail_duplicate): New fibonacci_heap class is used.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217722 138bc75d-0d04-0410-961f-82ee72b054a4
bt-load is ported to fibonacci_heap.

	* bt-load.c (add_btr_def): New fibonacci_heap is used.
	(migrate_btr_defs): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217723 138bc75d-0d04-0410-961f-82ee72b054a4
fibonacci_heap is used for var-tracking.

	* var-tracking.c (vt_find_locations): New fibonacci_node is used.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217724 138bc75d-0d04-0410-961f-82ee72b054a4
[ARM/AArch64] Improve modeled latency between FP operations and FP->GP register moves

	* config/arm/cortex-a15-neon.md (cortex_a15_vfp_to_from_gp):
	Split into...
	(cortex_a15_gp_to_vfp): ...This.
	(cortex_a15_fp_to_gp): ...And this.
	Define and comment bypass from vfp operations to fp->gp moves.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217725 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc.dg/atomic/c11-atomic-exec-5.c (dg-timeout-factor): New
	setting.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217726 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc/config/mips/mips.md (*jump_absolute): Use a branch when in
	range, a jump otherwise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217727 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/mips/mips.md (compression): Add `micromips32' setting.
	(enabled, length): Handle it.
	(shift_compression): Replace `micromips' with `micromips32' in
	the `compression' attribute.
	(*add<mode>3, sub<mode>3): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217728 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/63934
	* constexpr.c (cxx_eval_call_expression): Check DECL_CONSTRUCTOR_P
	rather than VOID_TYPE_P.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217729 138bc75d-0d04-0410-961f-82ee72b054a4
compiler: Initialize variables in declaration order.

Fixes issue 8052.


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