1239310Sdim#!/usr/bin/perl -w
2239310Sdimuse English;
3239310Sdim
4239310Sdim$max = shift @ARGV;
5239310Sdim
6239310Sdim$template_params = "typename _U1";
7239310Sdim$template_args = "_U1";
8239310Sdim$params = "_U1& __u1";
9239310Sdim$args = "__u1";
10239310Sdim
11239310Sdimfor ($num_args = 2; $num_args <= $max; ++$num_args) {
12239310Sdim  $template_params .= ", typename _U$num_args";
13239310Sdim  $template_args .= ", _U$num_args";
14239310Sdim  $params .= ", _U$num_args& __u$num_args";
15239310Sdim  $args .= ", __u$num_args";
16239310Sdim  print "#define _GLIBCXX_BIND_NUM_ARGS $num_args\n";
17249423Sdim  print "#define _GLIBCXX_BIND_COMMA ,\n";
18239310Sdim  print "#define _GLIBCXX_BIND_TEMPLATE_PARAMS $template_params\n";
19239310Sdim  print "#define _GLIBCXX_BIND_TEMPLATE_ARGS $template_args\n";
20239310Sdim  print "#define _GLIBCXX_BIND_PARAMS $params\n";
21249423Sdim  print "#define _GLIBCXX_BIND_ARGS $args\n";
22239310Sdim  print "#include _GLIBCXX_BIND_REPEAT_HEADER\n";
23239310Sdim  print "#undef _GLIBCXX_BIND_ARGS\n";
24239310Sdim  print "#undef _GLIBCXX_BIND_PARAMS\n";
25239310Sdim  print "#undef _GLIBCXX_BIND_TEMPLATE_ARGS\n";
26239310Sdim  print "#undef _GLIBCXX_BIND_TEMPLATE_PARAMS\n";
27249423Sdim  print "#undef _GLIBCXX_BIND_COMMA\n";
28239310Sdim  print "#undef _GLIBCXX_BIND_NUM_ARGS\n";
29239310Sdim  print "\n";
30249423Sdim}
31249423Sdim