Cleared -Wcast-align (Issue 122)
parent
9e92f79932
commit
6cdb141c5a
|
|
@ -261,9 +261,9 @@ static int GCC_RRA_GenerateBlock(byte *output, size_t size, unsigned int safety)
|
||||||
if (size >= sizeof(val))
|
if (size >= sizeof(val))
|
||||||
{
|
{
|
||||||
#if defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) && (CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32)
|
#if defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) && (CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32)
|
||||||
*((word64*)output) = val;
|
*((word64*)(void *)output) = val;
|
||||||
#elif defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) && (CRYPTOPP_BOOL_X86)
|
#elif defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) && (CRYPTOPP_BOOL_X86)
|
||||||
*((word32*)output) = val;
|
*((word32*)(void *)output) = val;
|
||||||
#else
|
#else
|
||||||
memcpy(output, &val, sizeof(val));
|
memcpy(output, &val, sizeof(val));
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -442,9 +442,9 @@ static int GCC_RSA_GenerateBlock(byte *output, size_t size, unsigned int safety)
|
||||||
if (size >= sizeof(val))
|
if (size >= sizeof(val))
|
||||||
{
|
{
|
||||||
#if defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) && (CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32)
|
#if defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) && (CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_X32)
|
||||||
*((word64*)output) = val;
|
*((word64*)(void *)output) = val;
|
||||||
#elif defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) && (CRYPTOPP_BOOL_X86)
|
#elif defined(CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS) && (CRYPTOPP_BOOL_X86)
|
||||||
*((word32*)output) = val;
|
*((word32*)(void *)output) = val;
|
||||||
#else
|
#else
|
||||||
memcpy(output, &val, sizeof(val));
|
memcpy(output, &val, sizeof(val));
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -197,8 +197,9 @@ bool TestSettings()
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS
|
#ifdef CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS
|
||||||
|
// Don't assert the alignment of testvals. That's what this test is for.
|
||||||
byte testvals[10] = {1,2,2,3,3,3,3,2,2,1};
|
byte testvals[10] = {1,2,2,3,3,3,3,2,2,1};
|
||||||
if (*(word32 *)(testvals+3) == 0x03030303 && *(word64 *)(testvals+1) == W64LIT(0x0202030303030202))
|
if (*(word32 *)(void *)(testvals+3) == 0x03030303 && *(word64 *)(void *)(testvals+1) == W64LIT(0x0202030303030202))
|
||||||
cout << "passed: Your machine allows unaligned data access.\n";
|
cout << "passed: Your machine allows unaligned data access.\n";
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue