[gcc8] resolve compiler errors (#2944)

This commit resolves compiler errors generated by gcc8.

This commit also adds gcc8 build checks to travis.
This commit is contained in:
Jonathan Hui
2018-08-03 14:14:41 -05:00
committed by GitHub
parent f0bb0982ee
commit f089fc8e25
3 changed files with 12 additions and 5 deletions
+10
View File
@@ -142,6 +142,16 @@ matrix:
packages:
- gcc-7
- g++-7
- env: BUILD_TARGET="posix" CC="gcc-8" CXX="g++-8"
os: linux
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-8
- g++-8
- env: BUILD_TARGET="posix-ncp-spi" VERBOSE=1
os: linux
compiler: gcc
+1 -3
View File
@@ -487,9 +487,7 @@ otError Dataset::AppendMleDatasetTlv(Message &aMessage) const
else if (cur->GetType() == Tlv::kDelayTimer)
{
uint32_t elapsed = TimerMilli::GetNow() - mUpdateTime;
DelayTimerTlv delayTimer;
memcpy(&delayTimer, cur, sizeof(delayTimer));
DelayTimerTlv delayTimer(static_cast<const DelayTimerTlv &>(*cur));
if (delayTimer.GetDelayTimer() > elapsed)
{
+1 -2
View File
@@ -351,8 +351,7 @@ otError NetworkDiagnostic::FillRequestedTlvs(Message & aRequest,
case NetworkDiagnosticTlv::kLeaderData:
{
LeaderDataTlv tlv;
memcpy(&tlv, &netif.GetMle().GetLeaderDataTlv(), sizeof(tlv));
LeaderDataTlv tlv(reinterpret_cast<const LeaderDataTlv &>(netif.GetMle().GetLeaderDataTlv()));
tlv.Init();
SuccessOrExit(error = aResponse.Append(&tlv, tlv.GetSize()));
break;