OSDN Git Service

* pt.c (check_explicit_specialization): Clone constructors and
authorlerdsuwa <lerdsuwa@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Jan 2001 07:06:07 +0000 (07:06 +0000)
committerlerdsuwa <lerdsuwa@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Jan 2001 07:06:07 +0000 (07:06 +0000)
destructors.

* g++.old-deja/g++.pt/spec33.C: Change from "Build don't link" to
"Build don't run".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39229 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.old-deja/g++.pt/spec33.C

index 166d0c1..e846ca0 100644 (file)
@@ -1,3 +1,8 @@
+2001-01-23  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * pt.c (check_explicit_specialization): Clone constructors and
+       destructors.
+
 2001-01-23  Nathan Sidwell  <nathan@codesourcery.com>
 
        * decl.c (grokdeclarator): Don't presume DECL_LANG_SPECIFIC
index 184edf8..0bed46e 100644 (file)
@@ -1688,6 +1688,11 @@ check_explicit_specialization (declarator, decl, template_count, flags)
               It's just the name of an instantiation.  But, it's not
               a request for an instantiation, either.  */
            SET_DECL_IMPLICIT_INSTANTIATION (decl);
+         else if (DECL_CONSTRUCTOR_P (decl) || DECL_DESTRUCTOR_P (decl))
+           /* This is indeed a specialization.  In case of constructors
+              and destructors, we need in-charge and not-in-charge
+              versions in V3 ABI.  */
+           clone_function_decl (decl, /*update_method_vec_p=*/0);
 
          /* Register this specialization so that we can find it
             again.  */
index 6a963b4..a97e893 100644 (file)
@@ -1,3 +1,8 @@
+2001-01-23  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+
+       * g++.old-deja/g++.pt/spec33.C: Change from "Build don't link" to
+       "Build don't run".
+
 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
        * gcc.c-torture/execute/20010123-1.c: New test.
index a458c1d..c795958 100644 (file)
@@ -1,4 +1,4 @@
-// Build don't link:
+// Build don't run:
 // Origin: James McKelvey <mckelvey@fafnir.com>
 
 class A