Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Jan 2011 13:42:58 +1100 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        mdf@FreeBSD.org
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org
Subject:   Re: svn commit: r217369 - in head/sys: cam/scsi sys
Message-ID:  <20110115133929.D16210@besplex.bde.org>
In-Reply-To: <AANLkTikVwuSO3h8tKeYXCvC6zqYVHVxdY5Abrzo-Ks2R@mail.gmail.com>
References:  <201101131820.p0DIKXip059402@svn.freebsd.org> <AANLkTinh619WaGgq=5fFxTvEX0JPir34k8xb%2Bs6oSH8Y@mail.gmail.com> <20110114174719.D28159@besplex.bde.org> <AANLkTikVwuSO3h8tKeYXCvC6zqYVHVxdY5Abrzo-Ks2R@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--0-1443270800-1295059378=:16210
Content-Type: TEXT/PLAIN; charset=X-UNKNOWN; format=flowed
Content-Transfer-Encoding: QUOTED-PRINTABLE

On Fri, 14 Jan 2011 mdf@FreeBSD.org wrote:

> On Thu, Jan 13, 2011 at 10:50 PM, Bruce Evans <brde@optusnet.com.au> wrot=
e:
>> On Thu, 13 Jan 2011 mdf@freebsd.org wrote:
>>
>>> There appear to be 330 uses of SYSCTL and QUAD on the same line in
>>> CURRENT. =A0This seems reasonable to change them to S64, U64 and X64 so
>>> they correctly reflect the size they operate upon.
>>>
>>> What do y'all think?
>>
>> Now I suggest delaying this until they can be renamed to a type- generic
>> SYSCTL_INT() (would probably need to be spelled differently, SYSCTL_I()
>> say, even if SYSCTL_INT() was changed at the same time).
>
> I'm torn on this one.  The compiler knows the type (unless, for
> SYSCTL_INT, NULL/0 is used, but that is also a compile-time check),
> but to interpret it requires the use of __builtin_foo which is a gcc
> extension and not part of standard C.
>
> Philosophically, while I like this kind of letting the compiler do the
> work, if you want C++ you know where to find it.

Oops.  I think sizeof() and issigned() can be used to determine the type
well enough in functions and initialized data (do a fuller type check if
the compiler supports it), but I don't know how to do this in static
sysctl declarations (since sizeof() can't be used in cpp expressions).

Bruce
--0-1443270800-1295059378=:16210--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110115133929.D16210>