Fix a bindgen CI failure

This commit is contained in:
Takashi Kokubun 2023-03-16 11:05:54 -07:00
parent ed18093200
commit 182f4f0d1c
3 changed files with 7 additions and 2 deletions

View File

@ -83,7 +83,7 @@ jobs:
payload: |
{
"ci": "GitHub Actions",
"env": "${{ matrix.os }} / ${{ matrix.test_task }}${{ matrix.configure }}",
"env": "RJIT / bindgen",
"url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",
"commit": "${{ github.sha }}",
"branch": "${{ github.ref_name }}"

View File

@ -962,7 +962,7 @@ module RubyVM::RJIT # :nodoc: all
), Primitive.cexpr!("OFFSETOF((*((struct rb_iseq_constant_body *)NULL)), mark_bits)")],
outer_variables: [CType::Pointer.new { self.rb_id_table }, Primitive.cexpr!("OFFSETOF((*((struct rb_iseq_constant_body *)NULL)), outer_variables)")],
mandatory_only_iseq: [CType::Pointer.new { self.rb_iseq_t }, Primitive.cexpr!("OFFSETOF((*((struct rb_iseq_constant_body *)NULL)), mandatory_only_iseq)")],
jit_func: [CType::Immediate.parse("void *"), Primitive.cexpr!("OFFSETOF((*((struct rb_iseq_constant_body *)NULL)), jit_func)")],
jit_func: [self.rb_jit_func_t, Primitive.cexpr!("OFFSETOF((*((struct rb_iseq_constant_body *)NULL)), jit_func)")],
total_calls: [CType::Immediate.parse("unsigned long"), Primitive.cexpr!("OFFSETOF((*((struct rb_iseq_constant_body *)NULL)), total_calls)")],
rjit_blocks: [self.VALUE, Primitive.cexpr!("OFFSETOF((*((struct rb_iseq_constant_body *)NULL)), rjit_blocks)"), true],
)
@ -1007,6 +1007,10 @@ module RubyVM::RJIT # :nodoc: all
@rb_iseq_t ||= self.rb_iseq_struct
end
def C.rb_jit_func_t
@rb_jit_func_t ||= CType::Immediate.parse("void *")
end
def C.rb_method_attr_t
@rb_method_attr_t ||= CType::Struct.new(
"rb_method_attr_struct", Primitive.cexpr!("SIZEOF(struct rb_method_attr_struct)"),

View File

@ -563,6 +563,7 @@ generator = BindingGenerator.new(
rb_shape
rb_shape_t
rb_thread_struct
rb_jit_func_t
rjit_options
],
# #ifdef-dependent immediate types, which need Primitive.cexpr! for type detection