* cgraphunit.c (expand_thunk): Get body before touching arguments.
	* lto-streamer-out.c: Stream thunks, too.
	* lto-streamer-in.c (input_function): Pop cfun here
	(lto_read_body): Instead of here.


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

	* testsuite/Makefile.am: Remove #if ENABLE_VTABLE_VERIFY check around
	definition of check-am:.
	* testsuite/Makefile.in: Regenerate.


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

	PR libstdc++/58341
	* include/bits/stl_algobase.h (copy_backward): Fix documentation
	per DR 1206.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202357 138bc75d-0d04-0410-961f-82ee72b054a4
Handle noexcept on transactions with -fno-exceptions

2013-09-08  Tom de Vries  <tom@codesourcery.com>

	PR c++/58282
	* except.c (build_must_not_throw_expr): Handle
	flag_exceptions.

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

2013-09-08  Tom de Vries  <tom@codesourcery.com>

	PR c++/58282
	* g++.dg/tm/noexcept-6.C: New test.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202363 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/c-family:
        * c-common.c (same_scalar_type_ignoring_signedness): Delete.
        (vector_types_compatible_elements_p): New function.
        * c-common.h: (same_scalar_type_ignoring_signedness): Delete
	declaration.
        (vector_types_compatible_elements_p): Declare.
gcc/c:
        * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
gcc/cp:
        * typeck.c (cp_build_binary_op): Use vector_types_compatible_elements_p.
gcc/testsuite:
        * c-c++-common/opaque-vector.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202364 138bc75d-0d04-0410-961f-82ee72b054a4
Add missing ChangeLog entry for r199969.

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

	PR c++/54941
	* diagnostic.c (diagnostic_build_prefix): When s.file is
	"<built-in>" don't output line and column numbers.

/testsuite
2013-09-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54941
	* g++.dg/overload/new1.C: Adjust.


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

	* cgraph.h (varpool_node_hook, varpool_node_hook_list,
	varpool_add_node_removal_hook, varpool_add_variable_insertion_hook,
	varpool_remove_variable_insertion_hook): Declare.
	* varpool.c (varpool_node_hook_list): New structure.
	(first_varpool_node_removal_hook,
	first_varpool_variable_insertion_hook): New variables.
	(varpool_add_node_removal_hook, varpool_remove_node_removal_hook,
	varpool_call_node_removal_hooks, varpool_add_variable_insertion_hook,
	varpool_remove_variable_insertion_hook,
	varpool_call_variable_insertion_hooks): New functions.
	(varpool_remove_node): Use it.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202367 138bc75d-0d04-0410-961f-82ee72b054a4
	* testsuite/g++.dg/ipa/devirt-11.C: Update template.
	* testsuite/g++.dg/ipa/devirt-16.C: New testcase.
	* testsuite/g++.dg/ipa/devirt-17.C: New testcase.
	* testsuite/g++.dg/ipa/devirt-18.C: New testcase.

	* cgraphunit.c (walk_polymorphic_call_targets): Permit 0 possible
	targets and devirtualize to BUILT_IN_UNREACHABLE.
	* timevar.def (TV_IPA_UNREACHABLE): New timevar.
	* ipa.c (walk_polymorphic_call_targets): New function.
	(symtab_remove_unreachable_nodes): Use it; do not keep all virtual
	functions; use the new timevar.
	* ipa-devirt.c (maybe_record_node): Do not insert static nodes that
	was removed from the program.
	(record_binfo): If BINFO corresponds to an anonymous namespace, we may
	not consider it in the walk when its vtable is dead.
	(possible_polymorphic_call_targets_1): Pass anonymous flag to
	record_binfo.
	(devirt_variable_node_removal_hook): New function.
	(possible_polymorphic_call_targets): Also register
	devirt_variable_node_removal_hook.
	(ipa_devirt): Do not do non-speculative devirtualization.
	(gate_ipa_devirt): One execute if devirtualizing speculatively.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202368 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
	* ira.c (update_equiv_regs): Only call set_paradoxical_subreg
	for non-debug insns.
	* lra.c (new_insn_reg): Take the containing insn as a parameter.
	Only modify lra_reg_info[].biggest_mode if it's non-debug insn.
	(collect_non_operand_hard_regs, add_regs_to_insn_regno_info): Update
	accordingly.

gcc/testsuite/
	* g++.dg/debug/ra1.C: New test.


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

	* ipa.c (walk_polymorphic_call_targets): Fix inliner summary update.


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

Fix PR 58300:  Re-order events with -fvtable-verify=preinit
flag, so constructor init function is  not written to assembly
file until after call to cgraph_process_new_functions.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202371 138bc75d-0d04-0410-961f-82ee72b054a4
Update libvtv testsuite so that most of the tests now run under
the dejagnu test harness.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202373 138bc75d-0d04-0410-961f-82ee72b054a4
Fix handling of very long asm statements in inliner

An auto generated program with a 6.4mio line asm statement gave
with 4.7 and 4.8:

xxx.c:6400017:1: internal compiler error: in account_size_time, at
ipa-inline-analysis.c:601

The problem is that the inliner counts the number of lines in the asm
statement and multiplies that with a weight. With the weight this
overflows 32bit signed int, and triggers an assert for negative time.

Fix this by limiting the number of lines to 1000 for asm cost
estimation. The RTL backend also does similar multiplications for
jump shortening. I haven't tried to address this, but presumably
it's less likely to result in a failure.

gcc/:
2013-09-08  Andi Kleen  <ak@linux.intel.com>

	* tree-inline.c (estimate_num_insns): Limit asm cost to 1000.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202377 138bc75d-0d04-0410-961f-82ee72b054a4
       * tree-ssa-threadedge.c (thread_across_edge): Fix initialization
        of 'found'.

        * gcc.c-torture/compile/pr58340.c: New test.

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

	* ipa.c (walk_polymorphic_call_targets): Fix redirection before IPA
	summary generation.


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

	* ipa-prop.c (try_make_edge_direct_simple_call): Do not special case
	speculative edges.


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