ruby/template/builtin_binary.inc.tmpl
Nobuyoshi Nakada e25889951f
Ensure builtin binaries are aligned to ibf_header
Since IBF result string size should be multiple of 4, this should not
increase the binary size actually.
2025-04-06 12:24:23 +09:00

36 lines
983 B
C

// -*- c -*-
// DO NOT MODIFY THIS FILE DIRECTLY.
// auto-generated file by tool/generic_erb.rb
// with template/builtin_binary.inc.tmpl
% unless ARGV.include?('--cross=yes')
% ary = RubyVM.enum_for(:each_builtin).to_a
% ary.each{|feature, iseq|
% bin = iseq.to_binary
static const union {
unsigned char binary[<%= bin.bytesize %>];
uint32_t align_as_ibf_header;
} <%= feature %>_builtin = {
.binary = {
% bin \
% . each_byte \
% . each_slice(12) {|a|
<%= a.map{ '0x%02x,' % _1 }.join(' ') %>
% }
}
};
% }
#define BUILTIN_BIN(feature) \
{ #feature, feature ## _builtin.binary, sizeof(feature ## _builtin.binary), }
static const struct builtin_binary builtin_binary[] = {
% ary.each{|feature, |
BUILTIN_BIN(<%= feature %>),
% }
{ NULL, },/* sentinel */
};
#define BUILTIN_BINARY_SIZE <%= ary.size %>
STATIC_ASSERT(n_builtin, numberof(builtin_binary) == BUILTIN_BINARY_SIZE + 1);
% end