diff options
Diffstat (limited to 'gcc/cp/mangle.c')
-rw-r--r-- | gcc/cp/mangle.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index eb9f8f075a2..58491ada079 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -1367,15 +1367,19 @@ write_identifier (const char *identifier) Currently, allocating constructors are never used. - We also need to provide mangled names for the maybe-in-charge - constructor, so we treat it here too. mangle_decl_string will - append *INTERNAL* to that, to make sure we never emit it. */ + APPLE LOCAL decloning + Deleted comment. */ static void write_special_name_constructor (const tree ctor) { if (DECL_BASE_CONSTRUCTOR_P (ctor)) write_string ("C2"); + /* APPLE LOCAL begin decloning */ + /* This is the old-style "[unified]" constructor. */ + else if (DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P (ctor)) + write_string ("C4"); + /* APPLE LOCAL end decloning */ else { gcc_assert (DECL_COMPLETE_CONSTRUCTOR_P (ctor) @@ -1406,6 +1410,11 @@ write_special_name_destructor (const tree dtor) write_string ("D0"); else if (DECL_BASE_DESTRUCTOR_P (dtor)) write_string ("D2"); + /* APPLE LOCAL begin decloning */ + else if (DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P (dtor)) + /* This is the old-style "[unified]" destructor. */ + write_string ("D4"); + /* APPLE LOCAL end decloning */ else { gcc_assert (DECL_COMPLETE_DESTRUCTOR_P (dtor) @@ -2230,7 +2239,7 @@ write_template_arg (tree node) MANGLE_TRACE_TREE ("template-arg", node); /* A template template parameter's argument list contains TREE_LIST - nodes of which the value field is the the actual argument. */ + nodes of which the value field is the actual argument. */ if (code == TREE_LIST) { node = TREE_VALUE (node); |