From ca298f7d2a54eb2838d5931d3aac12d5f3209356 Mon Sep 17 00:00:00 2001 From: Nicholas Clark Date: Fri, 13 May 2011 18:02:08 +0100 Subject: Generate the enum for want_vtbl_* with regen/mg_vtable.pl --- regen/mg_vtable.pl | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'regen') diff --git a/regen/mg_vtable.pl b/regen/mg_vtable.pl index bd48545191..2a88263ec2 100644 --- a/regen/mg_vtable.pl +++ b/regen/mg_vtable.pl @@ -61,6 +61,17 @@ my $h = open_new('mg_vtable.h', '>', { by => 'regen/mg_vtable.pl', file => 'mg_vtable.h', style => '*' }); +{ + my @names = map {"want_vtbl_$_"} grep {!ref $_} @sig; + local $" = ",\n "; + print $h <<"EOH"; +enum { /* pass one of these to get_vtbl */ + @names +}; + +EOH +} + print $h <<'EOH'; /* These all need to be 0, not NULL, as NULL can be (void*)0, which is a * pointer to data, whereas we're assigning pointers to functions, which are -- cgit v1.2.1