decl.c (pushtag): Unset DECL_ASSEMBLER_NAME before setting it, so as to avoid incorre...
authorMark Mitchell <mmitchell@usa.net>
Tue, 14 Oct 1997 19:12:56 +0000 (19:12 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 14 Oct 1997 19:12:56 +0000 (15:12 -0400)
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

gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/cp/method.c

index eb917179cbabf90bc7b96446e49ce5d60d58a28d..d5e98a59f04c9dc077aaf6b34c9530cf67833fb5 100644 (file)
@@ -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,
index ad80b45cabf946d3a35587e325ebeb9d8f3f8651..6f1007cda21c23266991ad61c44552b327a2ad05 100644 (file)
@@ -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));
            }
index 3dc46d0900529a80fd08883e72e990fbcde2108f..38004f8c482c56548695405183ce2bba84cbe337 100644 (file)
@@ -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 ('_');