aboutsummaryrefslogtreecommitdiffstats
path: root/template/builtin_binary.inc.tmpl
blob: 2c2f07170575316e3ea8ae17ab0a72021059a124 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// -*- 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|

static const unsigned char <%= feature %>_bin[] = {
%     iseq                   \
%     . to_binary            \
%     . each_byte            \
%     . each_slice(12) {|a|
    <%= a.map{ '0x%02x,' % _1 }.join(' ') %>
%     }
};
%   }

#define BUILTIN_BIN(feature) \
    { #feature, feature ## _bin, sizeof(feature ## _bin), }
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