* libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
	dynamic_cast more gracefully.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215350 138bc75d-0d04-0410-961f-82ee72b054a4
/cp
2014-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/62232
	* class.c (finish_struct_1): Do not -Wnon-virtual-dtor warn
	for final class types.

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

	PR c++/62232
	* g++.dg/cpp0x/Wdtor1.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215351 138bc75d-0d04-0410-961f-82ee72b054a4
	PR testsuite/63292
	* gcc.dg/vect/pr59594.c (b): Increase size to N + 2 elements.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215352 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/62017
	* asan.c (transform_statements): Don't instrument clobber statements.

	* g++.dg/asan/pr62017.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215354 138bc75d-0d04-0410-961f-82ee72b054a4
2014-09-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config-list.mk (LIST): Add arm-rtems.
	Add nios2-rtems.  Remove extra option from powerpc-rtems.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215357 138bc75d-0d04-0410-961f-82ee72b054a4
2014-09-18  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/61360
	* lra.c (lra): Call recog_init.

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

	PR target/61360
	* gcc.target/i386/pr61360.c: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215358 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/63248
	* semantics.c (finish_omp_clauses): Don't call cp_omp_mappable_type
	on type of type dependent expressions, and don't call it if
	handle_omp_array_sections has kept TREE_LIST because something
	was type dependent.
	* pt.c (tsubst_expr) <case OMP_TARGET, case OMP_TARGET_DATA>:
	Use keep_next_level, begin_omp_structured_block and
	finish_omp_structured_block instead of push_stmt_list and
	pop_stmt_list.
libgomp/
	* testsuite/libgomp.c++/pr63248.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215359 138bc75d-0d04-0410-961f-82ee72b054a4
2014-09-18  Joel Sherrill <joel.sherrill@oarcorp.com>

	* config-list.mk (LIST): Add v850-rtems.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215362 138bc75d-0d04-0410-961f-82ee72b054a4
2014-09-18  Vladimir Makarov  <vmakarov@redhat.com>

	PR debug/63285
	* haifa-sched.c (schedule_block): Advance cycle at the end of BB
	if advance != 0.

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

	PR debug/63285
	* gcc.target/i386/pr63285.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215364 138bc75d-0d04-0410-961f-82ee72b054a4
Add header guard to several header files.

2014-09-19  Kito Cheng  <kito@0xlab.org>

	* except.h: Fix header guard.
	* addresses.h: Add missing header guard.
	* cfghooks.h: Likewise.
	* collect-utils.h: Likewise.
	* collect2-aix.h: Likewise.
	* conditions.h: Likewise.
	* cselib.h: Likewise.
	* dwarf2asm.h: Likewise.
	* graphds.h: Likewise.
	* graphite-scop-detection.h: Likewise.
	* gsyms.h: Likewise.
	* hw-doloop.h: Likewise.
	* incpath.h: Likewise.
	* ipa-inline.h: Likewise.
	* ipa-ref.h: Likewise.
	* ira-int.h: Likewise.
	* ira.h: Likewise.
	* lra-int.h: Likewise.
	* lra.h: Likewise.
	* lto-section-names.h: Likewise.
	* read-md.h: Likewise.
	* reload.h: Likewise.
	* rtl-error.h: Likewise.
	* sdbout.h: Likewise.
	* targhooks.h: Likewise.
	* tree-affine.h: Likewise.
	* xcoff.h: Likewise.
	* xcoffout.h: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215365 138bc75d-0d04-0410-961f-82ee72b054a4
Remove LIBGCC2_TF_CEXT target macro.

This patch removes the (undocumented) LIBGCC2_TF_CEXT target macro,
replacing it by -fbuilding-libgcc predefines (and thereby gets rid of
another LIBGCC2_LONG_DOUBLE_TYPE_SIZE conditional, though some more
patches are needed before that target macro can be eliminated).  This
macro indicated the suffix used on __builtin_huge_val,
__builtin_copysign, __builtin_fabs built-in function names to produce
the names for a given floating-point mode.

Predefines are added for all floating-point modes supported for
libgcc, not just TFmode.  These are fully accurate for modes
corresponding to float, double and long double.  For other modes, the
suffix for *constants* is determined by the targetm.c.mode_for_suffix
hook (the limit to two possible suffixes 'w' and 'q' being hardcoded
in various places).  This is in fact the suffix for built-in functions
as well where such functions exist.

* For i386, the *q functions always exist (whether or not TFmode is
  used for long double).  The *w functions never exist (but this
  doesn't matter for libgcc, since no i386 configuration treats XFmode
  as a supported scalar mode if long double is TFmode; if __float80
  were to be supported for 64-bit Android, properly such functions
  ought to be added).

* For ia64, the *q functions exist for non-HP-UX (under HP-UX, long
  double is TFmode, so they aren't needed).  The *w functions never
  exist.  This is an issue for this libgcc code for the XFmode complex
  functions in libgcc on HP-UX; as I understand it, right now those
  will accidentally be using TFmode versions of those three functions,
  so involving unnecessary conversions, while the sanity check on CEXT
  accidentally passes because all it tests is the sizes of the types.

Because of the lack of 'w' functions, the patch uses 'l' when the
constant suffix is 'w', matching what the existing libgcc code would
do for IA64 HP-UX in that case.

Ideally there would be generic code to create such built-in functions
for all supported floating-point types.  That may be something to
consider if support for TS 18661-3 (standard bindings for IEEE
754-2008, defining names such as _Float128, and function names such as
copysignf128) is added in future.

Bootstrapped with no regressions on x86_64-unknown-linux-gnu.

gcc:
	* system.h (LIBGCC2_TF_CEXT): Poison.
	* config/i386/cygming.h (LIBGCC2_TF_CEXT): Remove.
	* config/i386/darwin.h (LIBGCC2_TF_CEXT): Likewise.
	* config/i386/dragonfly.h (LIBGCC2_TF_CEXT): Likewise.
	* config/i386/freebsd.h (LIBGCC2_TF_CEXT): Likewise.
	* config/i386/gnu-user-common.h (LIBGCC2_TF_CEXT): Likewise.
	* config/i386/openbsdelf.h (LIBGCC2_TF_CEXT): Likewise.
	* config/i386/sol2.h (LIBGCC2_TF_CEXT): Likewise.
	* config/ia64/ia64.h (LIBGCC2_TF_CEXT): Likewise.
	* config/ia64/linux.h (LIBGCC2_TF_CEXT): Likewise.

gcc/c-family:
	* c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
	for supported floating-point modes.

libgcc:
	* libgcc2.c (CEXT): Define using __LIBGCC_*_FUNC_EXT__.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215368 138bc75d-0d04-0410-961f-82ee72b054a4
Update gcc.dg/pr61053.c for x32

	* gcc.dg/pr61053.c: Updated for x32.


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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215373 138bc75d-0d04-0410-961f-82ee72b054a4
	PR lto/63298
	* ipa-devirt.c (odr_subtypes_equivalent_p): Fix thinko in a condition.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215374 138bc75d-0d04-0410-961f-82ee72b054a4
	* config/rl78/rl78.c (rl78_expand_epilogue): Generate a USE of the
	pop'ed registers so that DCE does not eliminate them.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215375 138bc75d-0d04-0410-961f-82ee72b054a4
2014-09-19  Olivier Hainque  <hainque@adacore.com>

        * varasm.c (default_section_type_flags): Flag .persistent.bss
        sections as SECTION_BSS.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215376 138bc75d-0d04-0410-961f-82ee72b054a4
2014-09-18  Olivier Hainque  <hainque@adacore.com>

gcc/
	* config.gcc (powerpc-wrs-vxworksmils): New configuration.
	* config/rs6000/t-vxworksmils: New file.
	* config/rs6000/vxworksmils.h: New file.

libgcc/
	* config.host (powerpc-wrs-vxworksmils): New configuration,
	same as vxworksae.

contrib/
	* config-list.mk (LIST): Add powerpc-wrs-vxworksmils.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215377 138bc75d-0d04-0410-961f-82ee72b054a4
2014-09-19  Olivier Hainque  <hainque@adacore.com>

        * config/i386/vxworksae.h: Remove obsolete definitions.
        (STACK_CHECK_PROTECT): Define.
        * config/i386/vx-common.h: Remove.  Merge contents within
        config/i386/vxworks.h.
        * config.gcc (i?86-vxworks*): Use i386/vxworks.h instead of
        i386/vx-common.h.



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

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

	* asan.c (build_check_stmt): Alignment arg was added.
	(asan_expand_check_ifn): Optimization for alignment >= 8.

gcc/testsuite/ChangeLog:

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

	* c-c++-common/asan/red-align-1.c: New test.
	* c-c++-common/asan/red-align-2.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215380 138bc75d-0d04-0410-961f-82ee72b054a4
2014-09-19  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	PR target/62662
	* config/s390/s390.c (s390_emit_epilogue): When doing the return
	address load optimization force s390_optimize_prologue to leave it
	that way.  Only do the optimization if we already decided to push
	r14 into a stack slot.



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