]> git.saurik.com Git - bison.git/blobdiff - data/lalr1-fusion.cc
Sort methods.
[bison.git] / data / lalr1-fusion.cc
index bae0c49e64f10ae0fe555aa3afb2173fa71c66da..e3cafff83bb9195a354e2224ab94d9153af4fb1a 100644 (file)
@@ -186,14 +186,6 @@ dnl FIXME: This is wrong, we want computed header guards.
       return *new (buffer) T;
     }
 
-    /// Destroy the stored \a T.
-    template <typename T>
-    inline void
-    destroy()
-    {
-      reinterpret_cast<T&>(buffer).~T();
-    }
-
     /// Accessor to a built \a T.
     template <typename T>
     inline T&
@@ -210,6 +202,14 @@ dnl FIXME: This is wrong, we want computed header guards.
       return reinterpret_cast<const T&>(buffer);
     }
 
+    /// Destroy the stored \a T.
+    template <typename T>
+    inline void
+    destroy()
+    {
+      as<T>().~T();
+    }
+
     /// A buffer large enough to store any of the semantic values.
     char buffer[S];
   };