summaryrefslogtreecommitdiff
path: root/test cases/rust/15 polyglot sharedlib/adder.rs
blob: ec4d1cc138b61378a9486d9e9daaf67f43afef05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#[repr(C)]
pub struct Adder {
  pub number: i32
}

extern "C" {
    pub fn zero() -> i32;
    pub fn zero_static() -> i32;
}

#[no_mangle]
pub extern fn adder_add_r(a: &Adder, number: i32) -> i32 {
  unsafe {
    return a.number + number + zero() + zero_static();
  }
}