Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Jul 2016 02:36:56 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 211152] benchmarks/iozone: Build fails on typedef redefinition with different types ('long long' vs '__off64_t' (aka 'long'))
Message-ID:  <bug-211152-13-DcF9AFUcvk@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-211152-13@https.bugs.freebsd.org/bugzilla/>
References:  <bug-211152-13@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D211152

--- Comment #13 from Mark Millard <markmi@dsl-only.net> ---
(In reply to w.schwarzenfeld from comment #12)

It may not have been clear but when I wrote:

"The prints with %lld and a matching (long long) cast for the value likely
survive until long or int happens to be be bigger than 64 bits."

I was indicating that those changes are basically good and would likely sur=
vive
for a significant time.

A technical alternative for C code that is allowed to be modern enough is u=
se
of (intmax_t) casts and j based formats for printf variants.

(Similarly for local intmax_t storage and j formats for scan variants, where
the intmax_t value is later range validated and conditionally converted into
the intended storage if the value fits.)

I have no clue how old of a C variant iozone's source code intends to suppo=
rt.
intmax_t might be too modern for simple direct use over iozone's intended C
vintage range, at least viewed for source also spanning outside a FreeBSD
context.

--=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-211152-13-DcF9AFUcvk>