aboutsummaryrefslogtreecommitdiff
path: root/libgrust/libproc_macro
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2023-04-12 17:56:36 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2024-01-16 18:34:11 +0100
commit2fa0bbc3ee6551e1cf67408ef2ce7673177303e7 (patch)
tree5ed49596c59b5229ca829888d6c2a8b0ef38adf9 /libgrust/libproc_macro
parentc9534eb5d93dcb8bb567def37d42b8dcabcea426 (diff)
downloadgcc-2fa0bbc3ee6551e1cf67408ef2ce7673177303e7.zip
gcc-2fa0bbc3ee6551e1cf67408ef2ce7673177303e7.tar.gz
gcc-2fa0bbc3ee6551e1cf67408ef2ce7673177303e7.tar.bz2
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>
Diffstat (limited to 'libgrust/libproc_macro')
-rw-r--r--libgrust/libproc_macro/literal.cc11
-rw-r--r--libgrust/libproc_macro/literal.h2
2 files changed, 11 insertions, 2 deletions
diff --git a/libgrust/libproc_macro/literal.cc b/libgrust/libproc_macro/literal.cc
index aad7090..221c57a 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 b789422..2c61231 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" {