summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/expectations/tests/attribute_warn_unused_result_no_attribute_detection.rs41
-rw-r--r--tests/headers/attribute_warn_unused_result.hpp2
-rw-r--r--tests/headers/attribute_warn_unused_result_no_attribute_detection.hpp10
3 files changed, 52 insertions, 1 deletions
diff --git a/tests/expectations/tests/attribute_warn_unused_result_no_attribute_detection.rs b/tests/expectations/tests/attribute_warn_unused_result_no_attribute_detection.rs
new file mode 100644
index 00000000..c60b19c6
--- /dev/null
+++ b/tests/expectations/tests/attribute_warn_unused_result_no_attribute_detection.rs
@@ -0,0 +1,41 @@
+/* automatically generated by rust-bindgen */
+
+#![allow(
+ dead_code,
+ non_snake_case,
+ non_camel_case_types,
+ non_upper_case_globals
+)]
+
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct Foo {
+ pub _address: u8,
+}
+#[test]
+fn bindgen_test_layout_Foo() {
+ assert_eq!(
+ ::std::mem::size_of::<Foo>(),
+ 1usize,
+ concat!("Size of: ", stringify!(Foo))
+ );
+ assert_eq!(
+ ::std::mem::align_of::<Foo>(),
+ 1usize,
+ concat!("Alignment of ", stringify!(Foo))
+ );
+}
+extern "C" {
+ #[link_name = "\u{1}_ZN3Foo3fooEi"]
+ pub fn Foo_foo(this: *mut Foo, arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+impl Foo {
+ #[inline]
+ pub unsafe fn foo(&mut self, arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int {
+ Foo_foo(self, arg1)
+ }
+}
+extern "C" {
+ #[link_name = "\u{1}_Z3fooi"]
+ pub fn foo(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
diff --git a/tests/headers/attribute_warn_unused_result.hpp b/tests/headers/attribute_warn_unused_result.hpp
index 21550307..26fda091 100644
--- a/tests/headers/attribute_warn_unused_result.hpp
+++ b/tests/headers/attribute_warn_unused_result.hpp
@@ -1,4 +1,4 @@
-// bindgen-flags: --rust-target 1.27
+// bindgen-flags: --rust-target 1.27 --enable-function-attribute-detection
class Foo {
public:
diff --git a/tests/headers/attribute_warn_unused_result_no_attribute_detection.hpp b/tests/headers/attribute_warn_unused_result_no_attribute_detection.hpp
new file mode 100644
index 00000000..21550307
--- /dev/null
+++ b/tests/headers/attribute_warn_unused_result_no_attribute_detection.hpp
@@ -0,0 +1,10 @@
+// bindgen-flags: --rust-target 1.27
+
+class Foo {
+public:
+ __attribute__((warn_unused_result))
+ int foo(int);
+};
+
+__attribute__((warn_unused_result))
+int foo(int);