From 66b305f86fdee1c27edcb39f299b052c87d2d82e Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 16 Sep 2022 20:00:30 -0700 Subject: typecast time_t and suseconds_t from std::chrono This fixes build on some architectures like mips progress.cc:125:31: error: non-constant-expression cannot be narrowed from type 'std::chrono::duration::rep' (aka 'long long') to '__time_t' (aka 'long') in initializer list [-Wc++11-narrowing] struct timeval NowTime = { Now_sec.count(), Now_usec.count() }; Signed-off-by: Khem Raj --- apt-pkg/acquire.cc | 4 ++-- apt-pkg/contrib/progress.cc | 2 +- ftparchive/apt-ftparchive.cc | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc index 100ccde32..dd0624ad6 100644 --- a/apt-pkg/acquire.cc +++ b/apt-pkg/acquire.cc @@ -53,11 +53,11 @@ using namespace std; // helper to convert time_point to a timeval -static struct timeval SteadyDurationToTimeVal(std::chrono::steady_clock::duration Time) +constexpr struct timeval SteadyDurationToTimeVal(std::chrono::steady_clock::duration Time) { auto const Time_sec = std::chrono::duration_cast(Time); auto const Time_usec = std::chrono::duration_cast(Time - Time_sec); - return {Time_sec.count(), Time_usec.count()}; + return timeval{static_cast(Time_sec.count()), static_cast(Time_usec.count())}; } std::string pkgAcquire::URIEncode(std::string const &part) /*{{{*/ diff --git a/apt-pkg/contrib/progress.cc b/apt-pkg/contrib/progress.cc index 03f88d4ce..eb688b9a2 100644 --- a/apt-pkg/contrib/progress.cc +++ b/apt-pkg/contrib/progress.cc @@ -122,7 +122,7 @@ bool OpProgress::CheckChange(float Interval) auto const Now = std::chrono::steady_clock::now().time_since_epoch(); auto const Now_sec = std::chrono::duration_cast(Now); auto const Now_usec = std::chrono::duration_cast(Now - Now_sec); - struct timeval NowTime = { Now_sec.count(), Now_usec.count() }; + struct timeval NowTime = { static_cast(Now_sec.count()), static_cast(Now_usec.count()) }; std::chrono::duration Delta = std::chrono::seconds(NowTime.tv_sec - LastTime.tv_sec) + diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc index 87ce9153c..bbba0834b 100644 --- a/ftparchive/apt-ftparchive.cc +++ b/ftparchive/apt-ftparchive.cc @@ -53,7 +53,7 @@ static struct timeval GetTimevalFromSteadyClock() /*{{{*/ auto const Time = std::chrono::steady_clock::now().time_since_epoch(); auto const Time_sec = std::chrono::duration_cast(Time); auto const Time_usec = std::chrono::duration_cast(Time - Time_sec); - return { Time_sec.count(), Time_usec.count() }; + return { static_cast(Time_sec.count()), static_cast(Time_usec.count()) }; } /*}}}*/ static auto GetTimeDeltaSince(struct timeval StartTime) /*{{{*/ -- cgit v1.2.3-70-g09d2 From 81a5256298f1e4403591bdaf95957e832da75d31 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 16 Sep 2022 20:04:43 -0700 Subject: interactive-helper: Undefine _FORTIFY_SOURCE This ensures that it compiles when clang compiler is passing -DFORTIFY_SOURCES=2 Signed-off-by: Khem Raj --- test/interactive-helper/libnoprofile.c | 1 + 1 file changed, 1 insertion(+) diff --git a/test/interactive-helper/libnoprofile.c b/test/interactive-helper/libnoprofile.c index f11b89899..b26ec2a1c 100644 --- a/test/interactive-helper/libnoprofile.c +++ b/test/interactive-helper/libnoprofile.c @@ -1,4 +1,5 @@ #define _GNU_SOURCE +#undef _FORTIFY_SOURCE #include #include #include -- cgit v1.2.3-70-g09d2