Commit 97c2a625 authored by Mark Olesen's avatar Mark Olesen Committed by Andrew Heather
Browse files

COMP: silence gcc 8.2 memcpy warnings

- we know they have already protected by an is_contiguous check,
  so the class-memaccess warning/error can be suppressed.
parent 4de1215b
......@@ -1427,7 +1427,7 @@ bool Foam::ping
}
// Fill sockaddr_in structure with dest address and port
memset(reinterpret_cast<char *>(&destAddr), '\0', sizeof(destAddr));
std::memset(reinterpret_cast<char *>(&destAddr), '\0', sizeof(destAddr));
destAddr.sin_family = AF_INET;
destAddr.sin_port = htons(ushort(destPort));
destAddr.sin_addr.s_addr = addr;
......
......@@ -58,7 +58,10 @@ void Foam::List<T>::doResize(const label newSize)
#ifdef USEMEMCPY
if (is_contiguous<T>::value)
{
memcpy(nv, this->v_, overlap*sizeof(T));
std::memcpy
(
static_cast<void*>(nv), this->v_, overlap*sizeof(T)
);
}
else
#endif
......@@ -184,21 +187,26 @@ Foam::List<T>::List(const UList<T>& a)
:
UList<T>(nullptr, a.size_)
{
if (this->size_)
const label len = this->size_;
if (len)
{
doAlloc();
#ifdef USEMEMCPY
if (is_contiguous<T>::value)
{
memcpy(this->v_, a.v_, this->byteSize());
std::memcpy
(
static_cast<void*>(this->v_), a.v_, this->byteSize()
);
}
else
#endif
{
List_ACCESS(T, (*this), vp);
List_CONST_ACCESS(T, a, ap);
List_FOR_ALL((*this), i)
for (label i = 0; i < len; ++i)
{
vp[i] = ap[i];
}
......@@ -212,21 +220,26 @@ Foam::List<T>::List(const List<T>& a)
:
UList<T>(nullptr, a.size_)
{
if (this->size_)
const label len = this->size_;
if (len)
{
doAlloc();
#ifdef USEMEMCPY
if (is_contiguous<T>::value)
{
memcpy(this->v_, a.v_, this->byteSize());
std::memcpy
(
static_cast<void*>(this->v_), a.v_, this->byteSize()
);
}
else
#endif
{
List_ACCESS(T, (*this), vp);
List_CONST_ACCESS(T, a, ap);
List_FOR_ALL((*this), i)
for (label i = 0; i < len; ++i)
{
vp[i] = ap[i];
}
......@@ -246,22 +259,29 @@ Foam::List<T>::List(List<T>& a, bool reuse)
this->v_ = a.v_;
a.v_ = nullptr;
a.size_ = 0;
return;
}
else if (this->size_)
const label len = this->size_;
if (len)
{
doAlloc();
#ifdef USEMEMCPY
if (is_contiguous<T>::value)
{
memcpy(this->v_, a.v_, this->byteSize());
std::memcpy
(
static_cast<void*>(this->v_), a.v_, this->byteSize()
);
}
else
#endif
{
List_ACCESS(T, (*this), vp);
List_CONST_ACCESS(T, a, ap);
List_FOR_ALL((*this), i)
for (label i = 0; i < len; ++i)
{
vp[i] = ap[i];
}
......@@ -453,19 +473,24 @@ void Foam::List<T>::operator=(const UList<T>& a)
{
reAlloc(a.size_);
if (this->size_)
const label len = this->size_;
if (len)
{
#ifdef USEMEMCPY
if (is_contiguous<T>::value)
{
memcpy(this->v_, a.v_, this->byteSize());
std::memcpy
(
static_cast<void*>(this->v_), a.v_, this->byteSize()
);
}
else
#endif
{
List_ACCESS(T, (*this), vp);
List_CONST_ACCESS(T, a, ap);
List_FOR_ALL((*this), i)
for (label i = 0; i < len; ++i)
{
vp[i] = ap[i];
}
......@@ -521,7 +546,7 @@ void Foam::List<T>::operator=(const IndirectListBase<T, Addr>& list)
{
List_ACCESS(T, (*this), vp);
for (label i=0; i<len; ++i)
for (label i=0; i < len; ++i)
{
vp[i] = list[i];
}
......
......@@ -117,7 +117,10 @@ void Foam::UList<T>::deepCopy(const UList<T>& list)
#ifdef USEMEMCPY
if (is_contiguous<T>::value)
{
memcpy(this->v_, list.v_, this->byteSize());
std::memcpy
(
static_cast<void*>(this->v_), list.v_, this->byteSize()
);
}
else
#endif
......
......@@ -50,7 +50,7 @@ void Foam::processorLduInterface::send
(
commsType,
neighbProcNo(),
reinterpret_cast<const char*>(f.begin()),
reinterpret_cast<const char*>(f.cdata()),
nBytes,
tag(),
comm()
......@@ -64,20 +64,23 @@ void Foam::processorLduInterface::send
(
commsType,
neighbProcNo(),
receiveBuf_.begin(),
receiveBuf_.data(),
nBytes,
tag(),
comm()
);
resizeBuf(sendBuf_, nBytes);
memcpy(sendBuf_.begin(), f.begin(), nBytes);
std::memcpy
(
static_cast<void*>(sendBuf_.data()), f.cdata(), nBytes
);
OPstream::write
(
commsType,
neighbProcNo(),
sendBuf_.begin(),
sendBuf_.cdata(),
nBytes,
tag(),
comm()
......@@ -109,7 +112,7 @@ void Foam::processorLduInterface::receive
(
commsType,
neighbProcNo(),
reinterpret_cast<char*>(f.begin()),
reinterpret_cast<char*>(f.data()),
f.byteSize(),
tag(),
comm()
......@@ -117,7 +120,10 @@ void Foam::processorLduInterface::receive
}
else if (commsType == Pstream::commsTypes::nonBlocking)
{
memcpy(f.begin(), receiveBuf_.begin(), f.byteSize());
std::memcpy
(
static_cast<void*>(f.data()), receiveBuf_.cdata(), f.byteSize()
);
}
else
{
......@@ -156,10 +162,10 @@ void Foam::processorLduInterface::compressedSend
label nFloats = nm1 + nlast;
label nBytes = nFloats*sizeof(float);
const scalar *sArray = reinterpret_cast<const scalar*>(f.begin());
const scalar *sArray = reinterpret_cast<const scalar*>(f.cdata());
const scalar *slast = &sArray[nm1];
resizeBuf(sendBuf_, nBytes);
float *fArray = reinterpret_cast<float*>(sendBuf_.begin());
float *fArray = reinterpret_cast<float*>(sendBuf_.data());
for (label i=0; i<nm1; i++)
{
......@@ -178,7 +184,7 @@ void Foam::processorLduInterface::compressedSend
(
commsType,
neighbProcNo(),
sendBuf_.begin(),
sendBuf_.cdata(),
nBytes,
tag(),
comm()
......@@ -192,7 +198,7 @@ void Foam::processorLduInterface::compressedSend
(
commsType,
neighbProcNo(),
receiveBuf_.begin(),
receiveBuf_.data(),
nBytes,
tag(),
comm()
......@@ -202,7 +208,7 @@ void Foam::processorLduInterface::compressedSend
(
commsType,
neighbProcNo(),
sendBuf_.begin(),
sendBuf_.cdata(),
nBytes,
tag(),
comm()
......@@ -249,7 +255,7 @@ void Foam::processorLduInterface::compressedReceive
(
commsType,
neighbProcNo(),
receiveBuf_.begin(),
receiveBuf_.data(),
nBytes,
tag(),
comm()
......@@ -263,9 +269,9 @@ void Foam::processorLduInterface::compressedReceive
}
const float *fArray =
reinterpret_cast<const float*>(receiveBuf_.begin());
reinterpret_cast<const float*>(receiveBuf_.cdata());
f.last() = reinterpret_cast<const Type&>(fArray[nm1]);
scalar *sArray = reinterpret_cast<scalar*>(f.begin());
scalar *sArray = reinterpret_cast<scalar*>(f.data());
const scalar *slast = &sArray[nm1];
for (label i=0; i<nm1; i++)
......
......@@ -67,7 +67,7 @@ static inline uint32_t swapBytes(uint32_t n)
// *(uint32_t *) cp = val
static inline void set_uint32(unsigned char *dst, uint32_t v)
{
memcpy(dst, &v, sizeof(uint32_t));
std::memcpy(dst, &v, sizeof(uint32_t));
}
//! \endcond
......@@ -95,7 +95,7 @@ void Foam::SHA1::processBytes(const void *data, size_t len)
unsigned char* bufp = reinterpret_cast<unsigned char*>(buffer_);
memcpy(&bufp[remaining], data, add);
std::memcpy(&bufp[remaining], data, add);
bufLen_ += add;
if (bufLen_ > 64)
......@@ -105,7 +105,7 @@ void Foam::SHA1::processBytes(const void *data, size_t len)
bufLen_ &= 63;
// The regions in the following copy operation do not
// (cannot) overlap
memcpy(buffer_, &bufp[(remaining + add) & ~63], bufLen_);
std::memcpy(buffer_, &bufp[(remaining + add) & ~63], bufLen_);
}
data = reinterpret_cast<const unsigned char*>(data) + add;
......@@ -115,7 +115,7 @@ void Foam::SHA1::processBytes(const void *data, size_t len)
// Process available complete blocks
while (len >= 64)
{
processBlock(memcpy(buffer_, data, 64), 64);
processBlock(std::memcpy(buffer_, data, 64), 64);
data = reinterpret_cast<const unsigned char*>(data) + 64;
len -= 64;
}
......@@ -126,13 +126,13 @@ void Foam::SHA1::processBytes(const void *data, size_t len)
unsigned char* bufp = reinterpret_cast<unsigned char*>(buffer_);
size_t remaining = bufLen_;
memcpy(&bufp[remaining], data, len);
std::memcpy(&bufp[remaining], data, len);
remaining += len;
if (remaining >= 64)
{
processBlock(buffer_, 64);
remaining -= 64;
memcpy(buffer_, &buffer_[16], remaining);
std::memcpy(buffer_, &buffer_[16], remaining);
}
bufLen_ = remaining;
}
......@@ -355,7 +355,7 @@ bool Foam::SHA1::finalize()
unsigned char* bufp = reinterpret_cast<unsigned char *>(buffer_);
memcpy(&bufp[bytes], fillbuf, (size-2) * sizeof(uint32_t) - bytes);
std::memcpy(&bufp[bytes], fillbuf, (size-2) * sizeof(uint32_t) - bytes);
// Process remaining bytes
processBlock(buffer_, size * sizeof(uint32_t));
......
......@@ -573,7 +573,7 @@ void Foam::UPstream::allToAll
<< " does not equal bytes to receive " << recvSizes[0]
<< Foam::abort(FatalError);
}
memmove(recvData, &sendData[sendOffsets[0]], recvSizes[0]);
std::memmove(recvData, &sendData[sendOffsets[0]], recvSizes[0]);
}
else
{
......@@ -639,7 +639,7 @@ void Foam::UPstream::gather
if (!UPstream::parRun())
{
memmove(recvData, sendData, sendSize);
std::memmove(recvData, sendData, sendSize);
}
else
{
......@@ -702,7 +702,7 @@ void Foam::UPstream::scatter
if (!UPstream::parRun())
{
memmove(recvData, sendData, recvSize);
std::memmove(recvData, sendData, recvSize);
}
else
{
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment