13 February 2014

This is an approved src.alt for 450.soplex in CPU2006 v1.2.

This src.alt allows 450.soplex to be built with Microsoft Visual Studio
2013, or any other compiler that cannot find a way to compare an istream&
and an integer.

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
$ specxz -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:

450.soplex:
srcalt = getline_test
CXXPORTABILITY = -DSPEC_GETLINE_TEST

Because this src.alt adds a new flag, in order to avoid having
"-DSPEC_GETLINE_TEST" 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 changes one test from

  m_input.getline(m_buf, sizeof(m_buf)) == 0

to

  m_input.getline(m_buf, sizeof(m_buf)).fail()

in the MPSInput::readLine() method in mpsinput.cc.

The getline() method on an istream returns an istream&, which is not
guaranteed to be comparable to an integer.  The standard specifies that if
getline() fails that the failbit will be set in the object, and thus the
correct way to test for failure is to call the fail() method on the
istream& that getline() returns.

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