-
Notifications
You must be signed in to change notification settings - Fork 759
Closed
Description
Input C/C++ Header
#include <r_lib.h>
Bindgen Invokation
extern crate bindgen;
use std::env;
use std::path::Path;
fn main() {
let out_dir = env::var("OUT_DIR").unwrap();
let _ = bindgen::builder()
.header("bindings.h")
.clang_arg("-I/usr/include/libr/")
.generate()
.unwrap()
.write_to_file(Path::new(&out_dir).join("ffi.rs"));
}
Actual Results
$ cargo build
Compiling radare2-sys v0.1.0 (file:///home/michael/Documents/radare2-sys)
error: unexpected token: `;`
--> /home/michael/Documents/radare2-sys/target/debug/build/radare2-sys-53f778355b791841/out/ffi.rs:126:31
|
126 | pub const INFINITY: f32 = inf.;
| ^
error: unexpected token: `;`
--> /home/michael/Documents/radare2-sys/target/debug/build/radare2-sys-53f778355b791841/out/ffi.rs:127:26
|
127 | pub const NAN: f32 = NaN.;
| ^
error: aborting due to 2 previous errors
error: Could not compile `radare2-sys`.
Expected Results
Bindgen shouldn't generate invalid syntax when declaring the two 32-bit float constants. That exact same C
header file compiles fine when using Clang:
$ clang -I/usr/include/libr bindings.h
I am trying to generate bindings for radare2. radare2
was installed from source and its include files are put in /usr/include/libr
.
RUST_LOG=bindgen
Output
(output is identical to Actual Results
section)
Miscellaneous Other Details
rustc: rustc 1.17.0-nightly (6f10e2f63 2017-03-14)
cargo: cargo 0.18.0-nightly (4a3c0a63b 2017-03-12)
bindgen: 0.22.1
llvm: 3.9.1
target triple: x86_64-unknown-linux-gnu
OS: Arch Linux
Metadata
Metadata
Assignees
Labels
No labels