GCC: Upgrade GCC (merge from google/4_9 branch + cherry-picks)

Backport r226487 from GCC FSF mainline:

  r226487 | rguenth | 2015-08-03 00:13:36 -0700 (Mon, 03 Aug 2015)

  2015-08-03  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66917
	* tree-vectorizer.h (struct dataref_aux): Add base_element_aligned
	field.
	(DR_VECT_AUX): New macro.
	(set_dr_misalignment): Adjust.
	(dr_misalignment): Likewise.
	* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
	Compute whether the base is at least element aligned.
	* tree-vect-stmts.c (ensure_base_align): Adjust.
	(vectorizable_store): If the base is not element aligned
	preserve alignment of the original access if misalignment is unknown.
	(vectorizable_load): Likewise.

------------------------------------------------------------------------

Backport r223811 from gcc-5-branch:

    PR libstdc++/66017
    * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
    (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
    from _Base_ptr.
    (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
    (_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
    * include/ext/aligned_buffer.h (__aligned_membuf): New type using
    alignment of _Tp as a member subobject, not as a complete object.
    * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
    _Link_type manually as it might not be in the debug info.

------------------------------------------------------------------------

Merge google/gcc-4_9 (220271:227810] into google/gcc-4_9-mobile branch.

BUG=chromium:532101
    chromium:530369
TEST=Done GCC bootstrapping & regression test, plus building ChromeOS
     images & testing them on various boards, for x86, x86_64 and arm;
     also built arm64-generic ChromeOS image.

Change-Id: If2690af965c6be7254f1c49a73cfae7161569ba8
Reviewed-on: https://chromium-review.googlesource.com/302402
Commit-Ready: Luis Lozano <llozano@chromium.org>
Tested-by: Luis Lozano <llozano@chromium.org>
Reviewed-by: Han Shen <shenhan@chromium.org>
340 files changed