neelance / ffi_gen

A generator for Ruby FFI bindings, directly from header files via LLVM's Clang compiler
MIT License
88 stars 26 forks source link

Fails for LLVM 4+ #42

Open thoughtafter opened 6 years ago

thoughtafter commented 6 years ago

This project is probably dead but I believe it is still worth reporting that that it fails for LLVM 3.9, 4.0, and 5.0. LLVM-3.8 works. It fails with the following stack trace when processing Core.h:

SyntaxError: (eval):1: syntax error, unexpected tCONSTANT, expecting end-of-input
/var/lib/gems/2.3.0/gems/ffi_gen-1.2.0/lib/ffi_gen.rb:401:in `eval'
/var/lib/gems/2.3.0/gems/ffi_gen-1.2.0/lib/ffi_gen.rb:401:in `block in read_declaration'
/var/lib/gems/2.3.0/gems/ffi_gen-1.2.0/lib/ffi_gen.rb:372:in `each'
/var/lib/gems/2.3.0/gems/ffi_gen-1.2.0/lib/ffi_gen.rb:372:in `read_declaration'
/var/lib/gems/2.3.0/gems/ffi_gen-1.2.0/lib/ffi_gen.rb:346:in `block in declarations'
/var/lib/gems/2.3.0/gems/ffi_gen-1.2.0/lib/ffi_gen.rb:338:in `each'
/var/lib/gems/2.3.0/gems/ffi_gen-1.2.0/lib/ffi_gen.rb:338:in `each_with_index'
/var/lib/gems/2.3.0/gems/ffi_gen-1.2.0/lib/ffi_gen.rb:338:in `declarations'
/var/lib/gems/2.3.0/gems/ffi_gen-1.2.0/lib/ffi_gen/ruby_output.rb:10:in `block in generate_rb'
/var/lib/gems/2.3.0/gems/ffi_gen-1.2.0/lib/ffi_gen.rb:150:in `indent'
/var/lib/gems/2.3.0/gems/ffi_gen-1.2.0/lib/ffi_gen/ruby_output.rb:5:in `generate_rb'
/var/lib/gems/2.3.0/gems/ffi_gen-1.2.0/lib/ffi_gen.rb:280:in `generate'
/var/lib/gems/2.3.0/gems/ffi_gen-1.2.0/lib/ffi_gen.rb:745:in `generate'