summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Cowgill <jcowgill@debian.org>2020-01-27 17:46:41 +0000
committerJames Cowgill <jcowgill@debian.org>2020-01-27 17:46:41 +0000
commite91ae1bd09e5b1c89f608b3e56edc4da45a024f8 (patch)
treed6ee77682cc2e2ff1fc8b8b630b32ed6ae927826
parent36e2d996ae10918c3911b23cac7584b73103d910 (diff)
parent50a6b620e3393d2e046249d572502e766937aba4 (diff)
Update upstream source from tag 'upstream/0.4.11'
Update to upstream version '0.4.11' with Debian dir 299d2441066484c9308654f07489a4d0e08894d1
-rw-r--r--common/CompilerDetect.h6
-rw-r--r--common/versionNumber.h2
-rwxr-xr-xconfigure26
-rw-r--r--configure.ac8
-rw-r--r--libopenmpt/dox/changelog.md5
-rw-r--r--libopenmpt/libopenmpt_version.h2
-rw-r--r--libopenmpt/libopenmpt_version.mk4
-rw-r--r--man/openmpt123.12
-rw-r--r--soundlib/ModChannel.cpp4
-rw-r--r--soundlib/OPL.cpp6
-rw-r--r--soundlib/OPL.h2
-rw-r--r--soundlib/Snd_fx.cpp5
-rw-r--r--soundlib/Sndfile.cpp3
-rw-r--r--soundlib/pattern.cpp2
-rw-r--r--test/test.cpp16
15 files changed, 51 insertions, 42 deletions
diff --git a/common/CompilerDetect.h b/common/CompilerDetect.h
index 5087163..b51dc19 100644
--- a/common/CompilerDetect.h
+++ b/common/CompilerDetect.h
@@ -58,7 +58,11 @@
#elif defined(_MSC_VER)
#define MPT_COMPILER_MSVC 1
-#if (_MSC_VER >= 1922)
+#if (_MSC_VER >= 1924)
+#define MPT_COMPILER_MSVC_VERSION MPT_COMPILER_MAKE_VERSION2(2019,4)
+#elif (_MSC_VER >= 1923)
+#define MPT_COMPILER_MSVC_VERSION MPT_COMPILER_MAKE_VERSION2(2019,3)
+#elif (_MSC_VER >= 1922)
#define MPT_COMPILER_MSVC_VERSION MPT_COMPILER_MAKE_VERSION2(2019,2)
#elif (_MSC_VER >= 1921)
#define MPT_COMPILER_MSVC_VERSION MPT_COMPILER_MAKE_VERSION2(2019,1)
diff --git a/common/versionNumber.h b/common/versionNumber.h
index 35bb47f..c50faa2 100644
--- a/common/versionNumber.h
+++ b/common/versionNumber.h
@@ -20,7 +20,7 @@ OPENMPT_NAMESPACE_BEGIN
//Version definitions. The only thing that needs to be changed when changing version number.
#define VER_MAJORMAJOR 1
#define VER_MAJOR 28
-#define VER_MINOR 08
+#define VER_MINOR 09
#define VER_MINORMINOR 00
//Numerical value of the version.
diff --git a/configure b/configure
index ed94fa3..1c734d9 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libopenmpt 0.4.10+release.autotools.
+# Generated by GNU Autoconf 2.69 for libopenmpt 0.4.11+release.autotools.
#
# Report bugs to <https://bugs.openmpt.org/>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='libopenmpt'
PACKAGE_TARNAME='libopenmpt'
-PACKAGE_VERSION='0.4.10+release.autotools'
-PACKAGE_STRING='libopenmpt 0.4.10+release.autotools'
+PACKAGE_VERSION='0.4.11+release.autotools'
+PACKAGE_STRING='libopenmpt 0.4.11+release.autotools'
PACKAGE_BUGREPORT='https://bugs.openmpt.org/'
PACKAGE_URL='https://lib.openmpt.org/'
@@ -1485,7 +1485,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libopenmpt 0.4.10+release.autotools to adapt to many kinds of systems.
+\`configure' configures libopenmpt 0.4.11+release.autotools to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1556,7 +1556,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libopenmpt 0.4.10+release.autotools:";;
+ short | recursive ) echo "Configuration of libopenmpt 0.4.11+release.autotools:";;
esac
cat <<\_ACEOF
@@ -1756,7 +1756,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libopenmpt configure 0.4.10+release.autotools
+libopenmpt configure 0.4.11+release.autotools
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2246,7 +2246,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libopenmpt $as_me 0.4.10+release.autotools, which was
+It was created by libopenmpt $as_me 0.4.11+release.autotools, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3117,7 +3117,7 @@ fi
# Define the identity of the package.
PACKAGE='libopenmpt'
- VERSION='0.4.10+release.autotools'
+ VERSION='0.4.11+release.autotools'
cat >>confdefs.h <<_ACEOF
@@ -17281,13 +17281,13 @@ LIBOPENMPT_LTVER_AGE=1
-$as_echo "#define MPT_SVNURL \"https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.4.10\"" >>confdefs.h
+$as_echo "#define MPT_SVNURL \"https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.4.11\"" >>confdefs.h
-$as_echo "#define MPT_SVNVERSION \"12263\"" >>confdefs.h
+$as_echo "#define MPT_SVNVERSION \"12392\"" >>confdefs.h
-$as_echo "#define MPT_SVNDATE \"2019-10-30T10:43:15.521271Z\"" >>confdefs.h
+$as_echo "#define MPT_SVNDATE \"2019-12-22T19:09:25.374363Z\"" >>confdefs.h
$as_echo "#define MPT_PACKAGE true" >>confdefs.h
@@ -23527,7 +23527,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libopenmpt $as_me 0.4.10+release.autotools, which was
+This file was extended by libopenmpt $as_me 0.4.11+release.autotools, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -23594,7 +23594,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-libopenmpt config.status 0.4.10+release.autotools
+libopenmpt config.status 0.4.11+release.autotools
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 81be412..4551008 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([libopenmpt], [0.4.10+release.autotools], [https://bugs.openmpt.org/], [libopenmpt], [https://lib.openmpt.org/])
+AC_INIT([libopenmpt], [0.4.11+release.autotools], [https://bugs.openmpt.org/], [libopenmpt], [https://lib.openmpt.org/])
AC_PREREQ([2.68])
AC_CONFIG_MACRO_DIR([m4])
@@ -27,9 +27,9 @@ AC_SUBST([LIBOPENMPT_LTVER_CURRENT])
AC_SUBST([LIBOPENMPT_LTVER_REVISION])
AC_SUBST([LIBOPENMPT_LTVER_AGE])
-AC_DEFINE([MPT_SVNURL], ["https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.4.10"], [svn version])
-AC_DEFINE([MPT_SVNVERSION], ["12263"], [svn version])
-AC_DEFINE([MPT_SVNDATE], ["2019-10-30T10:43:15.521271Z"], [svn date])
+AC_DEFINE([MPT_SVNURL], ["https://source.openmpt.org/svn/openmpt/tags/libopenmpt-0.4.11"], [svn version])
+AC_DEFINE([MPT_SVNVERSION], ["12392"], [svn version])
+AC_DEFINE([MPT_SVNDATE], ["2019-12-22T19:09:25.374363Z"], [svn date])
AC_DEFINE([MPT_PACKAGE], [true], [is package])
diff --git a/libopenmpt/dox/changelog.md b/libopenmpt/dox/changelog.md
index 5b98fcf..d83697f 100644
--- a/libopenmpt/dox/changelog.md
+++ b/libopenmpt/dox/changelog.md
@@ -5,6 +5,11 @@ Changelog {#changelog}
For fully detailed change log, please see the source repository directly. This
is just a high-level summary.
+### libopenmpt 0.4.11 (2019-12-22)
+
+ * MOD: Fix initial instrument change with no note playing. Fixes first pattern
+ of Beyond Music by Captain.
+
### libopenmpt 0.4.10 (2019-10-30)
* The "date" metadata could contain a bogus date for some older IT files.
diff --git a/libopenmpt/libopenmpt_version.h b/libopenmpt/libopenmpt_version.h
index ad3941e..51e8369 100644
--- a/libopenmpt/libopenmpt_version.h
+++ b/libopenmpt/libopenmpt_version.h
@@ -19,7 +19,7 @@
/*! \brief libopenmpt minor version number */
#define OPENMPT_API_VERSION_MINOR 4
/*! \brief libopenmpt patch version number */
-#define OPENMPT_API_VERSION_PATCH 10
+#define OPENMPT_API_VERSION_PATCH 11
/*! \brief libopenmpt pre-release tag */
#define OPENMPT_API_VERSION_PREREL ""
/*! \brief libopenmpt pre-release flag */
diff --git a/libopenmpt/libopenmpt_version.mk b/libopenmpt/libopenmpt_version.mk
index 1dc9026..3180e68 100644
--- a/libopenmpt/libopenmpt_version.mk
+++ b/libopenmpt/libopenmpt_version.mk
@@ -1,8 +1,8 @@
LIBOPENMPT_VERSION_MAJOR=0
LIBOPENMPT_VERSION_MINOR=4
-LIBOPENMPT_VERSION_PATCH=10
+LIBOPENMPT_VERSION_PATCH=11
LIBOPENMPT_VERSION_PREREL=
LIBOPENMPT_LTVER_CURRENT=1
-LIBOPENMPT_LTVER_REVISION=10
+LIBOPENMPT_LTVER_REVISION=11
LIBOPENMPT_LTVER_AGE=1
diff --git a/man/openmpt123.1 b/man/openmpt123.1
index 5a1005e..5c749fd 100644
--- a/man/openmpt123.1
+++ b/man/openmpt123.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
-.TH OPENMPT123 "1" "October 2019" "openmpt123 v0.4.10" "User Commands"
+.TH OPENMPT123 "1" "December 2019" "openmpt123 v0.4.11" "User Commands"
.SH NAME
openmpt123 - command line module music player based on libopenmpt
.SH SYNOPSIS
diff --git a/soundlib/ModChannel.cpp b/soundlib/ModChannel.cpp
index 66ae13d..69736f7 100644
--- a/soundlib/ModChannel.cpp
+++ b/soundlib/ModChannel.cpp
@@ -46,6 +46,7 @@ void ModChannel::Reset(ResetFlags resetMask, const CSoundFile &sndFile, CHANNELI
if(resetMask & resetSetPosAdvanced)
{
+ increment = SamplePosition(0);
nPeriod = 0;
position.Set(0);
nLength = 0;
@@ -60,7 +61,7 @@ void ModChannel::Reset(ResetFlags resetMask, const CSoundFile &sndFile, CHANNELI
rightVol = leftVol = 0;
newRightVol = newLeftVol = 0;
rightRamp = leftRamp = 0;
- nVolume = 0; // Needs to be 0 for SMP_NODEFAULTVOLUME flag
+ nVolume = 0; // Needs to be 0 for SMP_NODEFAULTVOLUME flag
nVibratoPos = nTremoloPos = nPanbrelloPos = 0;
nOldHiOffset = 0;
nLeftVU = nRightVU = 0;
@@ -89,7 +90,6 @@ void ModChannel::Reset(ResetFlags resetMask, const CSoundFile &sndFile, CHANNELI
nRestorePanOnNewNote = 0;
nRestoreCutoffOnNewNote = 0;
nRestoreResonanceOnNewNote = 0;
-
}
}
diff --git a/soundlib/OPL.cpp b/soundlib/OPL.cpp
index 4f94952..84cc3da 100644
--- a/soundlib/OPL.cpp
+++ b/soundlib/OPL.cpp
@@ -15,11 +15,9 @@
OPENMPT_NAMESPACE_BEGIN
-OPL::OPL()
+OPL::OPL(uint32 samplerate)
{
- m_KeyOnBlock.fill(0);
- m_OPLtoChan.fill(CHANNELINDEX_INVALID);
- m_ChanToOPL.fill(OPL_CHANNEL_INVALID);
+ Initialize(samplerate);
}
diff --git a/soundlib/OPL.h b/soundlib/OPL.h
index 331be87..f2b0d08 100644
--- a/soundlib/OPL.h
+++ b/soundlib/OPL.h
@@ -67,7 +67,7 @@ public:
STEREO_BITS = VOICE_TO_LEFT | VOICE_TO_RIGHT,
};
- OPL();
+ OPL(uint32 samplerate);
~OPL();
void Initialize(uint32 samplerate);
diff --git a/soundlib/Snd_fx.cpp b/soundlib/Snd_fx.cpp
index 77f86ea..c67fb8f 100644
--- a/soundlib/Snd_fx.cpp
+++ b/soundlib/Snd_fx.cpp
@@ -2664,8 +2664,9 @@ bool CSoundFile::ProcessEffects()
// Test cases: keyoff+instr.xm, delay.xm
bool reloadSampleSettings = (m_playBehaviour[kFT2ReloadSampleSettings] && instr != 0);
// ProTracker Compatibility: If a sample was stopped before, lone instrument numbers can retrigger it
- // Test case: PTSwapEmpty.mod
- bool keepInstr = (GetType() & (MOD_TYPE_IT | MOD_TYPE_MPT)) || (m_playBehaviour[kMODSampleSwap] && !chn.IsSamplePlaying() && chn.pModSample != nullptr && !chn.pModSample->HasSampleData());
+ // Test case: PTSwapEmpty.mod, PTInstrVolume.mod
+ bool keepInstr = (GetType() & (MOD_TYPE_IT | MOD_TYPE_MPT))
+ || (m_playBehaviour[kMODSampleSwap] && !chn.IsSamplePlaying() && (chn.pModSample == nullptr || !chn.pModSample->HasSampleData()));
// Now it's time for some FT2 crap...
if (GetType() & (MOD_TYPE_XM | MOD_TYPE_MT2))
diff --git a/soundlib/Sndfile.cpp b/soundlib/Sndfile.cpp
index cce5e50..e5a0520 100644
--- a/soundlib/Sndfile.cpp
+++ b/soundlib/Sndfile.cpp
@@ -1292,7 +1292,8 @@ void CSoundFile::InitAmigaResampler()
void CSoundFile::InitOPL()
{
- if(!m_opl) m_opl = mpt::make_unique<OPL>();
+ if(!m_opl)
+ m_opl = mpt::make_unique<OPL>(m_MixerSettings.gdwMixingFreq);
}
diff --git a/soundlib/pattern.cpp b/soundlib/pattern.cpp
index 4d419ec..8db5cef 100644
--- a/soundlib/pattern.cpp
+++ b/soundlib/pattern.cpp
@@ -240,7 +240,7 @@ bool CPattern::Shrink()
}
}
}
- m_ModCommands.resize(m_ModCommands.size() / 2);
+ m_ModCommands.resize(m_Rows * nChns);
return true;
}
diff --git a/test/test.cpp b/test/test.cpp
index 39b2c2d..fd41a9d 100644
--- a/test/test.cpp
+++ b/test/test.cpp
@@ -1255,7 +1255,7 @@ static MPT_NOINLINE void TestMisc1()
#endif
- VERIFY_EQUAL(mpt::rshift_signed<int64>(-0x8000000000000000ll, 1), mpt::rshift_signed_standard<int64>(-0x8000000000000000ll, 1));
+ VERIFY_EQUAL(mpt::rshift_signed<int64>(0ull-0x8000000000000000ull, 1), mpt::rshift_signed_standard<int64>(0ull-0x8000000000000000ull, 1));
VERIFY_EQUAL(mpt::rshift_signed<int64>(-0x7fffffffffffffffll, 1), mpt::rshift_signed_standard<int64>(-0x7fffffffffffffffll, 1));
VERIFY_EQUAL(mpt::rshift_signed<int64>(-0x7ffffffffffffffell, 1), mpt::rshift_signed_standard<int64>(-0x7ffffffffffffffell, 1));
VERIFY_EQUAL(mpt::rshift_signed<int64>( -1ll, 1), mpt::rshift_signed_standard<int64>( -1ll, 1));
@@ -1264,7 +1264,7 @@ static MPT_NOINLINE void TestMisc1()
VERIFY_EQUAL(mpt::rshift_signed<int64>( 0x7ffffffffffffffell, 1), mpt::rshift_signed_standard<int64>( 0x7ffffffffffffffell, 1));
VERIFY_EQUAL(mpt::rshift_signed<int64>( 0x7fffffffffffffffll, 1), mpt::rshift_signed_standard<int64>( 0x7fffffffffffffffll, 1));
- VERIFY_EQUAL(mpt::rshift_signed<int64>(-0x8000000000000000ll, 63), mpt::rshift_signed_standard<int64>(-0x8000000000000000ll, 63));
+ VERIFY_EQUAL(mpt::rshift_signed<int64>(0ull-0x8000000000000000ull, 63), mpt::rshift_signed_standard<int64>(0ull-0x8000000000000000ull, 63));
VERIFY_EQUAL(mpt::rshift_signed<int64>(-0x7fffffffffffffffll, 63), mpt::rshift_signed_standard<int64>(-0x7fffffffffffffffll, 63));
VERIFY_EQUAL(mpt::rshift_signed<int64>(-0x7ffffffffffffffell, 63), mpt::rshift_signed_standard<int64>(-0x7ffffffffffffffell, 63));
VERIFY_EQUAL(mpt::rshift_signed<int64>( -1ll, 63), mpt::rshift_signed_standard<int64>( -1ll, 63));
@@ -1273,7 +1273,7 @@ static MPT_NOINLINE void TestMisc1()
VERIFY_EQUAL(mpt::rshift_signed<int64>( 0x7ffffffffffffffell, 63), mpt::rshift_signed_standard<int64>( 0x7ffffffffffffffell, 63));
VERIFY_EQUAL(mpt::rshift_signed<int64>( 0x7fffffffffffffffll, 63), mpt::rshift_signed_standard<int64>( 0x7fffffffffffffffll, 63));
- VERIFY_EQUAL(mpt::lshift_signed<int64>(-0x8000000000000000ll, 1), mpt::lshift_signed_standard<int64>(-0x8000000000000000ll, 1));
+ VERIFY_EQUAL(mpt::lshift_signed<int64>(0ull-0x8000000000000000ull, 1), mpt::lshift_signed_standard<int64>(0ull-0x8000000000000000ull, 1));
VERIFY_EQUAL(mpt::lshift_signed<int64>(-0x7fffffffffffffffll, 1), mpt::lshift_signed_standard<int64>(-0x7fffffffffffffffll, 1));
VERIFY_EQUAL(mpt::lshift_signed<int64>(-0x7ffffffffffffffell, 1), mpt::lshift_signed_standard<int64>(-0x7ffffffffffffffell, 1));
VERIFY_EQUAL(mpt::lshift_signed<int64>( -1ll, 1), mpt::lshift_signed_standard<int64>( -1ll, 1));
@@ -1282,7 +1282,7 @@ static MPT_NOINLINE void TestMisc1()
VERIFY_EQUAL(mpt::lshift_signed<int64>( 0x7ffffffffffffffell, 1), mpt::lshift_signed_standard<int64>( 0x7ffffffffffffffell, 1));
VERIFY_EQUAL(mpt::lshift_signed<int64>( 0x7fffffffffffffffll, 1), mpt::lshift_signed_standard<int64>( 0x7fffffffffffffffll, 1));
- VERIFY_EQUAL(mpt::lshift_signed<int64>(-0x8000000000000000ll, 63), mpt::lshift_signed_standard<int64>(-0x8000000000000000ll, 63));
+ VERIFY_EQUAL(mpt::lshift_signed<int64>(0ull-0x8000000000000000ull, 63), mpt::lshift_signed_standard<int64>(0ull-0x8000000000000000ull, 63));
VERIFY_EQUAL(mpt::lshift_signed<int64>(-0x7fffffffffffffffll, 63), mpt::lshift_signed_standard<int64>(-0x7fffffffffffffffll, 63));
VERIFY_EQUAL(mpt::lshift_signed<int64>(-0x7ffffffffffffffell, 63), mpt::lshift_signed_standard<int64>(-0x7ffffffffffffffell, 63));
VERIFY_EQUAL(mpt::lshift_signed<int64>( -1ll, 63), mpt::lshift_signed_standard<int64>( -1ll, 63));
@@ -1293,7 +1293,7 @@ static MPT_NOINLINE void TestMisc1()
#if MPT_COMPILER_SHIFT_SIGNED
- VERIFY_EQUAL(mpt::rshift_signed<int64>(-0x8000000000000000ll, 1), mpt::rshift_signed_undefined<int64>(-0x8000000000000000ll, 1));
+ VERIFY_EQUAL(mpt::rshift_signed<int64>(0ull-0x8000000000000000ull, 1), mpt::rshift_signed_undefined<int64>(0ull-0x8000000000000000ull, 1));
VERIFY_EQUAL(mpt::rshift_signed<int64>(-0x7fffffffffffffffll, 1), mpt::rshift_signed_undefined<int64>(-0x7fffffffffffffffll, 1));
VERIFY_EQUAL(mpt::rshift_signed<int64>(-0x7ffffffffffffffell, 1), mpt::rshift_signed_undefined<int64>(-0x7ffffffffffffffell, 1));
VERIFY_EQUAL(mpt::rshift_signed<int64>( -1ll, 1), mpt::rshift_signed_undefined<int64>( -1ll, 1));
@@ -1302,7 +1302,7 @@ static MPT_NOINLINE void TestMisc1()
VERIFY_EQUAL(mpt::rshift_signed<int64>( 0x7ffffffffffffffell, 1), mpt::rshift_signed_undefined<int64>( 0x7ffffffffffffffell, 1));
VERIFY_EQUAL(mpt::rshift_signed<int64>( 0x7fffffffffffffffll, 1), mpt::rshift_signed_undefined<int64>( 0x7fffffffffffffffll, 1));
- VERIFY_EQUAL(mpt::rshift_signed<int64>(-0x8000000000000000ll, 63), mpt::rshift_signed_undefined<int64>(-0x8000000000000000ll, 63));
+ VERIFY_EQUAL(mpt::rshift_signed<int64>(0ull-0x8000000000000000ull, 63), mpt::rshift_signed_undefined<int64>(0ull-0x8000000000000000ull, 63));
VERIFY_EQUAL(mpt::rshift_signed<int64>(-0x7fffffffffffffffll, 63), mpt::rshift_signed_undefined<int64>(-0x7fffffffffffffffll, 63));
VERIFY_EQUAL(mpt::rshift_signed<int64>(-0x7ffffffffffffffell, 63), mpt::rshift_signed_undefined<int64>(-0x7ffffffffffffffell, 63));
VERIFY_EQUAL(mpt::rshift_signed<int64>( -1ll, 63), mpt::rshift_signed_undefined<int64>( -1ll, 63));
@@ -1311,7 +1311,7 @@ static MPT_NOINLINE void TestMisc1()
VERIFY_EQUAL(mpt::rshift_signed<int64>( 0x7ffffffffffffffell, 63), mpt::rshift_signed_undefined<int64>( 0x7ffffffffffffffell, 63));
VERIFY_EQUAL(mpt::rshift_signed<int64>( 0x7fffffffffffffffll, 63), mpt::rshift_signed_undefined<int64>( 0x7fffffffffffffffll, 63));
- VERIFY_EQUAL(mpt::lshift_signed<int64>(-0x8000000000000000ll, 1), mpt::lshift_signed_undefined<int64>(-0x8000000000000000ll, 1));
+ VERIFY_EQUAL(mpt::lshift_signed<int64>(0ull-0x8000000000000000ull, 1), mpt::lshift_signed_undefined<int64>(0ull-0x8000000000000000ull, 1));
VERIFY_EQUAL(mpt::lshift_signed<int64>(-0x7fffffffffffffffll, 1), mpt::lshift_signed_undefined<int64>(-0x7fffffffffffffffll, 1));
VERIFY_EQUAL(mpt::lshift_signed<int64>(-0x7ffffffffffffffell, 1), mpt::lshift_signed_undefined<int64>(-0x7ffffffffffffffell, 1));
VERIFY_EQUAL(mpt::lshift_signed<int64>( -1ll, 1), mpt::lshift_signed_undefined<int64>( -1ll, 1));
@@ -1320,7 +1320,7 @@ static MPT_NOINLINE void TestMisc1()
VERIFY_EQUAL(mpt::lshift_signed<int64>( 0x7ffffffffffffffell, 1), mpt::lshift_signed_undefined<int64>( 0x7ffffffffffffffell, 1));
VERIFY_EQUAL(mpt::lshift_signed<int64>( 0x7fffffffffffffffll, 1), mpt::lshift_signed_undefined<int64>( 0x7fffffffffffffffll, 1));
- VERIFY_EQUAL(mpt::lshift_signed<int64>(-0x8000000000000000ll, 63), mpt::lshift_signed_undefined<int64>(-0x8000000000000000ll, 63));
+ VERIFY_EQUAL(mpt::lshift_signed<int64>(0ull-0x8000000000000000ull, 63), mpt::lshift_signed_undefined<int64>(0ull-0x8000000000000000ull, 63));
VERIFY_EQUAL(mpt::lshift_signed<int64>(-0x7fffffffffffffffll, 63), mpt::lshift_signed_undefined<int64>(-0x7fffffffffffffffll, 63));
VERIFY_EQUAL(mpt::lshift_signed<int64>(-0x7ffffffffffffffell, 63), mpt::lshift_signed_undefined<int64>(-0x7ffffffffffffffell, 63));
VERIFY_EQUAL(mpt::lshift_signed<int64>( -1ll, 63), mpt::lshift_signed_undefined<int64>( -1ll, 63));