5 December 2006

This is an approved src.alt for 483.xalancbmk in CPU2006 v1.0 and v1.0.1.
It will allow the benchmark to be built on 32-bit Windows systems using
the PGI compiler, version 6.2 or later.

To apply the src.alt, unpack the tar file in the top level of the CPU2006
directory.  The following sequence of commands should accomplish this:

$ /bin/sh
$ cd <cpu2006 dir>
$ . ./shrc
$ go top
$ specbzip2 -dc <src.alt tarball> | spectar -xvf -

Please replace the items in angle brackets ( <> ) as appropriate.

To have the src.alt applied during compilation, please add the following
stanza to your config file:

# Enable PGI 6.2 Win32 compatibility
483.xalancbmk:
srcalt=pgiwin
CXXPORTABILITY=-DSPEC_CPU_XMLCH_IS_NOT_UNSIGNED_SHORT

Because this src.alt adds a new flag, in order to avoid having
"-DSPEC_CPU_XMLCH_IS_NOT_UNSIGNED_SHORT" marked as an "unknown" flag, it is
necessary to update the flags files in your distribution.  You can do this by
running

$ runspec --newflags

For more information on this option, see

  http://www.spec.org/cpu2006/Docs/runspec.html#newflags

Information on setting HTTP proxies is at

  http://www.spec.org/cpu2006/Docs/runspec.html#http_proxy

This src.alt makes several performance neutral portability-related changes to
483.xalancbmk.

The first set of changes simply adds support for the PGI Win32 compilers. 
Since the same configuration can be used for either Win32 or Win64, we are 
able to reuse the PGIWin64Defitions.hpp and PGIWinDefs.hpp files, but need 
to change PlatformDefinitions.hpp and AutoSense.hpp so that both targets 
use these header files. 

The second set of changes are necessary since wchar_t is now a keyword.
Because of this, XMLCh and XMLUInt16 need to be typedef to "wchar_t"
instead of "unsigned short".

The third set of changes just add overloaded cin/cout operators for the
unsigned short data type.  These are necessary when wchar_t is _not_
typedef to "unsigned short".

The final change fixes a type mismatch using XalanUTF16Char in the
XalanDOMString class' constructor. 

Please address any questions about this src.alt to cpu2006support@spec.org.
