aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>2023-04-07 13:52:04 +0200
committerCohenArthur <arthur.cohen@embecosm.com>2023-04-19 08:48:33 +0000
commit4d1bb3df100323c664875a09ecce830b179d752f (patch)
tree22eb9e19c0e6aaa572cdcb6c0c0b9c9c07f08191
parentda0553bcbfab23c4cf908092ea5cc29c454e157b (diff)
downloadgcc-4d1bb3df100323c664875a09ecce830b179d752f.zip
gcc-4d1bb3df100323c664875a09ecce830b179d752f.tar.gz
gcc-4d1bb3df100323c664875a09ecce830b179d752f.tar.bz2
libproc_macro: Drop function shall take a mutable
The rust API requires a mut reference, hence having a mutable pointer seems to match better. Furthermore the implementation is now modifying the struct in order to set the size to 0 instead of simply freeing the data, this will allow us to easily identify mistaken manual call to this function. ChangeLog: * libgrust/libproc_macro/rust/bridge/literal.rs: Make the pointer mutable. Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
-rw-r--r--libgrust/libproc_macro/rust/bridge/literal.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/libgrust/libproc_macro/rust/bridge/literal.rs b/libgrust/libproc_macro/rust/bridge/literal.rs
index 080cc1b..740ed1f 100644
--- a/libgrust/libproc_macro/rust/bridge/literal.rs
+++ b/libgrust/libproc_macro/rust/bridge/literal.rs
@@ -6,7 +6,7 @@ use std::str::FromStr;
use LexError;
extern "C" {
- fn Literal__drop(literal: *const Literal);
+ fn Literal__drop(literal: *mut Literal);
fn Literal__string(str: *const c_uchar, len: u64) -> Literal;
fn Literal__byte_string(bytes: *const u8, len: u64) -> Literal;
fn Literal__from_string(str: *const c_uchar, len: u64, lit: *mut Literal) -> bool;
@@ -230,7 +230,7 @@ impl Drop for Literal {
fn drop(&mut self) {
match self {
Literal::String { .. } | Literal::ByteString { .. } => unsafe {
- Literal__drop(self as *const Literal)
+ Literal__drop(self as *mut Literal)
},
_ => (),
}