aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
authorDave Korn <dave.korn.cygwin@gmail.com>2011-01-10 00:33:32 +0000
committerDave Korn <davek@gcc.gnu.org>2011-01-10 00:33:32 +0000
commitd06865bf070f23cafe7bf03851c5b5ac3747ed97 (patch)
tree05685f0c2b4e57f2206b97d58364d368424f2cd5 /gcc/cgraphunit.c
parent637ebedd3893c7b350dc2b14d3f0458b11f9a519 (diff)
downloadgcc-d06865bf070f23cafe7bf03851c5b5ac3747ed97.zip
gcc-d06865bf070f23cafe7bf03851c5b5ac3747ed97.tar.gz
gcc-d06865bf070f23cafe7bf03851c5b5ac3747ed97.tar.bz2
re PR c++/47218 (C++ multiple definitions of non-virtual thunk problem)
gcc/ChangeLog: PR c++/47218 * cgraphunit.c (assemble_thunk): Call resolve_unique_section. gcc/testsuite/ChangeLog: PR c++/47218 * g++.dg/other/pr47218-1.C: New test file. * g++.dg/other/pr47218.C: Likewise. * g++.dg/other/pr47218.h: New supporting header. From-SVN: r168624
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r--gcc/cgraphunit.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index ec477ee..92e5aa9 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -1,6 +1,6 @@
/* Callgraph based interprocedural optimizations.
- Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+ 2011 Free Software Foundation, Inc.
Contributed by Jan Hubicka
This file is part of GCC.
@@ -1317,6 +1317,9 @@ assemble_thunk (struct cgraph_node *node)
current_function_decl = thunk_fndecl;
+ /* Ensure thunks are emitted in their correct sections. */
+ resolve_unique_section (thunk_fndecl, 0, flag_function_sections);
+
if (this_adjusting
&& targetm.asm_out.can_output_mi_thunk (thunk_fndecl, fixed_offset,
virtual_value, alias))