buildtools/gcc/libstdc++-v3/scripts/gen_bind_includers.pl
Michael Lotz a84f174425 Bring GCC 4.3.3 to trunk.
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@29033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-26 05:03:14 +00:00

31 lines
1017 B
Perl

#!/usr/bin/perl -w
use English;
$max = shift @ARGV;
$template_params = "typename _U1";
$template_args = "_U1";
$params = "_U1& __u1";
$args = "__u1";
for ($num_args = 2; $num_args <= $max; ++$num_args) {
$template_params .= ", typename _U$num_args";
$template_args .= ", _U$num_args";
$params .= ", _U$num_args& __u$num_args";
$args .= ", __u$num_args";
print "#define _GLIBCXX_BIND_NUM_ARGS $num_args\n";
print "#define _GLIBCXX_BIND_COMMA ,\n";
print "#define _GLIBCXX_BIND_TEMPLATE_PARAMS $template_params\n";
print "#define _GLIBCXX_BIND_TEMPLATE_ARGS $template_args\n";
print "#define _GLIBCXX_BIND_PARAMS $params\n";
print "#define _GLIBCXX_BIND_ARGS $args\n";
print "#include _GLIBCXX_BIND_REPEAT_HEADER\n";
print "#undef _GLIBCXX_BIND_ARGS\n";
print "#undef _GLIBCXX_BIND_PARAMS\n";
print "#undef _GLIBCXX_BIND_TEMPLATE_ARGS\n";
print "#undef _GLIBCXX_BIND_TEMPLATE_PARAMS\n";
print "#undef _GLIBCXX_BIND_COMMA\n";
print "#undef _GLIBCXX_BIND_NUM_ARGS\n";
print "\n";
}