aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2023-04-12 17:56:36 +0200
committerCohenArthur <arthur.cohen@embecosm.com>2023-04-21 13:15:47 +0000
commitca50a4f3a665031a92e5030650049f7484756028 (patch)
tree9f0dc5ded6716e87b19b8e879bddf37f8a83bb6f
parentbf75c15d4057ae001becb94b16e4c79b0712db05 (diff)
downloadgcc-ca50a4f3a665031a92e5030650049f7484756028.zip
gcc-ca50a4f3a665031a92e5030650049f7484756028.tar.gz
gcc-ca50a4f3a665031a92e5030650049f7484756028.tar.bz2
libproc_macro: Add drop function to Literal struct
Add a drop function to clean internal fields of a Literal struct. ChangeLog: * libgrust/libproc_macro/literal.cc (Literal__drop): Replace implementation by a call to Literal::drop. (Literal::drop): Add drop implementation. * libgrust/libproc_macro/literal.h: Add function prototype. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
-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" {