summaryrefslogtreecommitdiff
path: root/ACE/bin/aix_shr
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/bin/aix_shr')
-rwxr-xr-xACE/bin/aix_shr32
1 files changed, 32 insertions, 0 deletions
diff --git a/ACE/bin/aix_shr b/ACE/bin/aix_shr
new file mode 100755
index 00000000000..16daded8e02
--- /dev/null
+++ b/ACE/bin/aix_shr
@@ -0,0 +1,32 @@
+#!/bin/sh
+# $Id$
+# Filter out the duplicate symbol warnings from Visual Age C++
+#
+
+output=`basename $0`.$$.`/bin/date +%Y%m%d%H%M%S`
+usrtmp="/tmp"
+for possible in "$TMPDIR" "$TEMP" "$TMP"; do
+ if [ "$possible" != "" ]; then
+ if [ -w "$possible" ]; then
+ usrtmp="$possible"
+ break
+ fi
+ fi
+done
+
+## Send the output to a temporary file and save the return code.
+## This macro is being passed during the to avoid #include errors
+## while instantiating templates.
+$@ -DACE_VACPP_INSTANTIATING_TEMPLATES > "$usrtmp/$output" 2>&1
+status=$?
+
+## Print the output to stdout, but filter duplicate symbol warnings from
+## Visual Age C++-using builds. The first pattern ends up coming from the
+## linker in Visual Age C++ 5 builds; the second is from Visual Age C++ 6.
+/bin/egrep -v '0711-(224|345)|1540-0(424|425|436)' "$usrtmp/$output"
+
+## Clean up the temporary file
+/bin/rm -f "$usrtmp/$output"
+
+## Exit with the return code from the compiler
+exit $status