summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2012-01-06 21:39:27 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2012-01-06 21:39:27 +0000
commitfb5491a01b3b59e01592ab64e570683ba6dfad42 (patch)
tree5162c6200691d2a63b9b97ba8c74c59bf1fe4882
parent81d8c61fe28486f653f93cec2fdedb1216d19eda (diff)
downloadgcc-fb5491a01b3b59e01592ab64e570683ba6dfad42.tar.gz
* mangle.c (mangle_decl): Don't generate mangling aliases
for maybe-in-charge [cd]tors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182968 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/cp/ChangeLog3
-rw-r--r--gcc/cp/mangle.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 3f77f1b15c8..01480e3f9f2 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,8 @@
2012-01-06 Jason Merrill <jason@redhat.com>
+ * mangle.c (mangle_decl): Don't generate mangling aliases
+ for maybe-in-charge [cd]tors.
+
* error.c (dump_expr): Print type of CONSTRUCTOR.
2012-01-05 Dodji Seketeli <dodji@redhat.com>
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c
index 548998a086f..e5c28952df6 100644
--- a/gcc/cp/mangle.c
+++ b/gcc/cp/mangle.c
@@ -3194,7 +3194,10 @@ mangle_decl (const tree decl)
tree id = get_mangled_id (decl);
SET_DECL_ASSEMBLER_NAME (decl, id);
- if (G.need_abi_warning)
+ if (G.need_abi_warning
+ /* Don't do this for a fake symbol we aren't going to emit anyway. */
+ && !DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P (decl)
+ && !DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P (decl))
{
#ifdef ASM_OUTPUT_DEF
/* If the mangling will change in the future, emit an alias with the