summaryrefslogtreecommitdiff
path: root/ACE/bin/Array.pl
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/bin/Array.pl')
-rwxr-xr-xACE/bin/Array.pl31
1 files changed, 31 insertions, 0 deletions
diff --git a/ACE/bin/Array.pl b/ACE/bin/Array.pl
new file mode 100755
index 00000000000..7f9bf393e15
--- /dev/null
+++ b/ACE/bin/Array.pl
@@ -0,0 +1,31 @@
+#!/bin/sh -- # -*- perl -*-
+eval 'exec perl -pi.Array.$$ -S $0 ${1+"$@"}'
+ if 0;
+
+# $Id$
+
+#
+# After the 4.6.10 release the template instantiations for ACE_Array
+# have changed, the class is implemented in terms of ACE_Array_Base;
+# this script fixes the template instantiations if needed.
+#
+# It changes instantiations of:
+#
+# ACE_Array<T>
+#
+# into:
+#
+# ACE_Array<T>
+# ACE_Array_Base<T>
+#
+
+# Notice the use of the -pi options: the while(<>) loop is implicit,
+# printing the current line is also implicit as well as fixing the
+# file in place.
+
+if (m/template class\s+ACE_Array\s*<(.*)>\s*;\s*/) {
+ print "template class ACE_Array_Base<", $1, ">;\n";
+} elsif (m/#pragma instantiate\s+ACE_Array\s*<(.*)>\s*$/) {
+ print "#pragma instantiate ACE_Array_Base<", $1, ">\n";
+}
+