MdePkg/BaseMemoryLib: Fix VS2015 build error

https://bugzilla.tianocore.org/show_bug.cgi?id=237

Make the smallest change possible to workaround a VS2015
build error.  The change is to the loop that handles the
case where neither the source nor the destination are
64-bit or 32-bit aligned and the logic falls through to
a loop that performs the copy as bytes.  Only the loop
that copies bytes backwards needs to be updated to avoid
the VS2015 build error.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Michael Kinney 2016-11-09 18:31:38 -08:00
parent 2048ab4b3e
commit 5ea2bad0d9
1 changed files with 4 additions and 4 deletions

View File

@ -3,7 +3,7 @@
out into its own source file so that it can be excluded from a build for a
particular platform easily if an optimized version is desired.
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2012 - 2013, ARM Ltd. All rights reserved.<BR>
Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
@ -143,10 +143,10 @@ InternalMemCopyMem (
*(Destination8++) = *(Source8++);
}
} else if (SourceBuffer < DestinationBuffer) {
Destination8 = (UINT8*)DestinationBuffer + Length;
Source8 = (CONST UINT8*)SourceBuffer + Length;
Destination8 = (UINT8*)DestinationBuffer + (Length - 1);
Source8 = (CONST UINT8*)SourceBuffer + (Length - 1);
while (Length-- != 0) {
*(--Destination8) = *(--Source8);
*(Destination8--) = *(Source8--);
}
}
}