Method: LLVM::Module.parse_bitcode
- Defined in:
- lib/llvm/core/bitcode.rb
.parse_bitcode(path_or_memory_buffer) ⇒ LLVM::Module
Parse a module from a memory buffer
8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/llvm/core/bitcode.rb', line 8 def self.parse_bitcode(path_or_memory_buffer) memory_buffer = case path_or_memory_buffer when MemoryBuffer then path_or_memory_buffer else MemoryBuffer.from_file(path_or_memory_buffer) end FFI::MemoryPointer.new(:pointer) do |mod_ref| FFI::MemoryPointer.new(:pointer) do |msg_ref| status = C.parse_bitcode(memory_buffer, mod_ref, msg_ref) raise msg_ref.get_pointer(0).get_string(0) if status != 0 return from_ptr(mod_ref.get_pointer(0)) end end end |