diff options
author | Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> | 2023-04-12 17:56:36 +0200 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-01-16 18:34:11 +0100 |
commit | 2fa0bbc3ee6551e1cf67408ef2ce7673177303e7 (patch) | |
tree | 5ed49596c59b5229ca829888d6c2a8b0ef38adf9 /libgrust | |
parent | c9534eb5d93dcb8bb567def37d42b8dcabcea426 (diff) | |
download | gcc-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')
-rw-r--r-- | libgrust/libproc_macro/literal.cc | 11 | ||||
-rw-r--r-- | 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 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" { |