rust/src/test/run-pass/c-stack-returning-int64.rs

24 lines
440 B
Rust
Raw Normal View History

2011-10-24 19:03:18 -05:00
use std;
import str;
2011-10-24 19:03:18 -05:00
#[abi = "cdecl"]
#[nolink]
native mod libc {
2011-10-24 19:03:18 -05:00
fn atol(x: str::sbuf) -> int;
fn atoll(x: str::sbuf) -> i64;
}
fn atol(s: str) -> int {
ret str::as_buf(s, { |x| libc::atol(x) });
}
fn atoll(s: str) -> i64 {
ret str::as_buf(s, { |x| libc::atoll(x) });
}
fn main() {
assert atol("1024") * 10 == atol("10240");
2011-10-24 19:23:34 -05:00
assert (atoll("11111111111111111") * 10i64)
== atoll("111111111111111110");
2011-10-24 19:03:18 -05:00
}