Date: 08 Jul 2001 23:54:40 +0200 From: Dag-Erling Smorgrav <des@ofug.org> To: arch@freebsd.org Subject: Type differences Message-ID: <xzpbsmvqe73.fsf@flood.ping.uio.no>
next in thread | raw e-mail | index | archive | help
des@des /usr/src/sys% grep 'define.*BSD_SIZE_T' {i386,alpha}/include/ansi.h
i386/include/ansi.h:#define _BSD_SIZE_T_ unsigned int /* sizeof() */
alpha/include/ansi.h:#define _BSD_SIZE_T_ unsigned long /* sizeof() */
des@des /usr/src/sys% grep 'define.*BSD_OFF_T' {i386,alpha}/include/ansi.h
i386/include/ansi.h:#define _BSD_OFF_T_ __int64_t /* file offset */
alpha/include/ansi.h:#define _BSD_OFF_T_ long /* file offset */
What's the idea here? off_t is the exact same size and signedness on
both platforms, so why not use the same definition for both? And why
make size_t an int on i386 but a long on alpha, when on both these
platforms int and long are identical?
Also, gcc (correctly) complains about a "comparison between signed and
unsigned" when you try to compare a size_t to an off_t on alpha - but
doesn't complain on i386. What gives?
And while we're on this subject, what's the Officially Approved way of
printf()ing an off_t or a size_t so it does not generate warnings on
either platform?
DES
--
Dag-Erling Smorgrav - des@ofug.org
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?xzpbsmvqe73.fsf>
