aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Mitchell <mmitchell@usa.net>1997-10-14 19:12:56 +0000
committerJason Merrill <jason@gcc.gnu.org>1997-10-14 15:12:56 -0400
commit1f06b26767080802e6d5213dd9a9dbddd7430b0d (patch)
tree335ef05b2db94c97723e93ac979490d92c3fa88d
parent041c97f2fb4da3813758f9b05b225df8fc8f2a49 (diff)
downloadgcc-1f06b26767080802e6d5213dd9a9dbddd7430b0d.zip
gcc-1f06b26767080802e6d5213dd9a9dbddd7430b0d.tar.gz
gcc-1f06b26767080802e6d5213dd9a9dbddd7430b0d.tar.bz2
decl.c (pushtag): Unset DECL_ASSEMBLER_NAME before setting it, so as to avoid incorrect manglings.
Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net> * decl.c (pushtag): Unset DECL_ASSEMBLER_NAME before setting it, so as to avoid incorrect manglings. * method.c (build_decl_overload_real): Don't mangle return types for constructors. From-SVN: r15904
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/cp/decl.c1
-rw-r--r--gcc/cp/method.c2
3 files changed, 9 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index eb91717..d5e98a5 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,10 @@
+Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
+
+ * decl.c (pushtag): Unset DECL_ASSEMBLER_NAME before setting it,
+ so as to avoid incorrect manglings.
+ * method.c (build_decl_overload_real): Don't mangle return types
+ for constructors.
+
Tue Oct 14 11:46:14 1997 Jason Merrill <jason@yorick.cygnus.com>
* cp-tree.h (scratchalloc, build_scratch_list, make_scratch_vec,
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index ad80b45..6f1007c 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -2167,6 +2167,7 @@ pushtag (name, type, globalize)
DECL_IGNORED_P (d) = 1;
TYPE_CONTEXT (type) = DECL_CONTEXT (d);
+ DECL_ASSEMBLER_NAME (d) = DECL_NAME (d);
DECL_ASSEMBLER_NAME (d)
= get_identifier (build_overload_name (type, 1, 1));
}
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 3dc46d0..38004f8 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -1194,7 +1194,7 @@ build_decl_overload_real (dname, parms, ret_type, tparms, targs,
DEALLOCATE_TYPEVEC (parms);
}
- if (ret_type != NULL_TREE)
+ if (ret_type != NULL_TREE && for_method != 2)
{
/* Add the return type. */
OB_PUTC ('_');