From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1643) id 2C5F73858423; Tue, 2 May 2023 07:08:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2C5F73858423 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1683011281; bh=OZEVrSsH1fKbaidFVIOMISDHJ5MbysW5f5jZzCwy9oo=; h=From:To:Subject:Date:From; b=Oqe3ng9fZfaFwksx8dnNkMBXL0wTCSOh1k3vxGSgzjDransivNBr8GaH8syqM7Cdy P/Yt6bCHJEwztTYIjtiFY+KgsFVGiaaARL/klKkaOwYjrDoZ6lwgkLHvTJvenC4J5q SFv6HJdkz1am0JQcowXGspV/ljyLzUYdYGIy5hEk= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Thomas Schwinge To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/rust/master] libproc_macro: Drop function shall take a mutable X-Act-Checkin: gcc X-Git-Author: Pierre-Emmanuel Patry X-Git-Refname: refs/heads/devel/rust/master X-Git-Oldrev: da0553bcbfab23c4cf908092ea5cc29c454e157b X-Git-Newrev: 4d1bb3df100323c664875a09ecce830b179d752f Message-Id: <20230502070801.2C5F73858423@sourceware.org> Date: Tue, 2 May 2023 07:08:01 +0000 (GMT) List-Id: https://gcc.gnu.org/g:4d1bb3df100323c664875a09ecce830b179d752f commit 4d1bb3df100323c664875a09ecce830b179d752f Author: Pierre-Emmanuel Patry Date: Fri Apr 7 13:52:04 2023 +0200 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 Diff: --- libgrust/libproc_macro/rust/bridge/literal.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libgrust/libproc_macro/rust/bridge/literal.rs b/libgrust/libproc_macro/rust/bridge/literal.rs index 080cc1b21d8..740ed1fccac 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) }, _ => (), }