[gcc r14-7507] gccrs: libproc_macro: Add drop function to Literal struct
Arthur Cohen
cohenarthur@gcc.gnu.org
Tue Jan 16 17:39:54 GMT 2024
https://gcc.gnu.org/g:2fa0bbc3ee6551e1cf67408ef2ce7673177303e7
commit r14-7507-g2fa0bbc3ee6551e1cf67408ef2ce7673177303e7
Author: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Date: Wed Apr 12 17:56:36 2023 +0200
gccrs: libproc_macro: Add drop function to Literal struct
Add a drop function to clean internal fields of a Literal struct.
libgrust/ChangeLog:
* libproc_macro/literal.cc (Literal__drop): Replace
implementation by a call to Literal::drop.
(Literal::drop): Add drop implementation.
* libproc_macro/literal.h: Add function prototype.
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Diff:
---
libgrust/libproc_macro/literal.cc | 11 +++++++++--
libgrust/libproc_macro/literal.h | 2 ++
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/libgrust/libproc_macro/literal.cc b/libgrust/libproc_macro/literal.cc
index aad7090d7ab..221c57a0da5 100644
--- a/libgrust/libproc_macro/literal.cc
+++ b/libgrust/libproc_macro/literal.cc
@@ -25,10 +25,9 @@
#include <cstdlib>
namespace Literal {
-extern "C" {
void
-Literal__drop (Literal *lit)
+Literal::drop (Literal *lit)
{
switch (lit->tag)
{
@@ -51,6 +50,14 @@ Literal__drop (Literal *lit)
}
}
+extern "C" {
+
+void
+Literal__drop (Literal *lit)
+{
+ Literal::drop (lit);
+}
+
Literal
Literal__string (const unsigned char *str, std::uint64_t len)
{
diff --git a/libgrust/libproc_macro/literal.h b/libgrust/libproc_macro/literal.h
index b7894222105..2c61231e8b2 100644
--- a/libgrust/libproc_macro/literal.h
+++ b/libgrust/libproc_macro/literal.h
@@ -188,6 +188,8 @@ public:
static Literal make_unsigned (UnsignedSuffixPayload p);
static Literal make_signed (SignedSuffixPayload p);
+
+ static void drop (Literal *lit);
};
extern "C" {
More information about the Gcc-cvs
mailing list