Skip to content

Commit b39723f

Browse files
Add binding for new gcc_jit_lvalue_get_name function
1 parent d57a079 commit b39723f

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

gccjit_sys/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -699,4 +699,7 @@ extern "C" {
699699

700700
#[cfg(feature="master")]
701701
pub fn gcc_jit_lvalue_add_attribute(variable: *mut gcc_jit_lvalue, attribute: gcc_jit_variable_attribute);
702+
703+
#[cfg(feature="master")]
704+
pub fn gcc_jit_lvalue_get_name(lvalue: *mut gcc_jit_lvalue) -> *const c_char;
702705
}

src/lvalue.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use std::{ffi::CString, marker::PhantomData};
22
use std::fmt;
33
use std::ptr;
4+
45
use context::Context;
56
use rvalue::{RValue, ToRValue};
67
use rvalue;
@@ -238,6 +239,18 @@ impl<'ctx> LValue<'ctx> {
238239
},
239240
}
240241
}
242+
243+
#[cfg(feature = "master")]
244+
pub fn get_name(&self) -> Result<Option<&'ctx str>, std::str::Utf8Error> {
245+
unsafe {
246+
let str = gccjit_sys::gcc_jit_lvalue_get_name(self.ptr);
247+
if str.is_null() {
248+
Ok(None)
249+
} else {
250+
Ok(Some(std::ffi::CStr::from_ptr(str).to_str()?))
251+
}
252+
}
253+
}
241254
}
242255

243256
pub unsafe fn from_ptr<'ctx>(ptr: *mut gccjit_sys::gcc_jit_lvalue) -> LValue<'ctx> {

0 commit comments

Comments
 (0)