Date: Tue, 05 Jul 2016 01:36:54 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-ports-bugs@FreeBSD.org Subject: [Bug 210831] ports-mgmt/pkg 1.8.6: src/utils.c in 32-bit context like armv6/powerpc: 'labs' given an argument of type 'long long' but has parameter of type 'long' which may cause truncation of value Message-ID: <bug-210831-13@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D210831 Bug ID: 210831 Summary: ports-mgmt/pkg 1.8.6: src/utils.c in 32-bit context like armv6/powerpc: 'labs' given an argument of type 'long long' but has parameter of type 'long' which may cause truncation of value Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: Individual Port(s) Assignee: pkg@FreeBSD.org Reporter: markmi@dsl-only.net Flags: maintainer-feedback?(pkg@FreeBSD.org) Assignee: pkg@FreeBSD.org src/utils.c has the code: bytes_change =3D labs(newsize - oldsize); where newsize and oldsize have type int64_t (or what it translates to) and bytes_changed has type size_t (or what it translates to). The compiler targeting armv6 (with -mcpu=3Dcortex_a7 specified) that reported this sugge= sted use of llabs (from C99). The labs parameter and return type need not match size_t well for the purpo= se, even ignoring unsigned vs. signed issue for the same width if that occurs. bytes_change =3D (size_t) llabs(newsize - oldsize); likely would be more auto adjusting without compiler warnings for current contexts. [Depends on what set_pkg_jobs_summary_pkg(. . ., &oldsize, &newsi= ze, . . .) is doing under the variations in types for various contexts. Likely oldsize and newsize values do track size_t or a signed variant with the same width to an extent.] If prior to C99 is to be covered (where llabs might not exist even if the t= ypes involved here do exist) then an explicit expansion of an expression (or mac= ros that expand to such) would be a way to get that more auto-adjusting nature: bytes_change =3D (size_t) ((oldsize <=3D newsize) ?newsize - oldsize :oldsize-newsize); --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-210831-13>