#!/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
