Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: xsrc/external/mit/xauth/dist
On Sun, Jun 02, 2013 at 12:40:12AM +0000, Christos Zoulas wrote:
> > > > Log Message:
> > > > apply __UNCONST() if it exists.
> > >
> > > Reminds me: should/can __UNCONST() be revisited w.r.t. the thread below?
> > >
> > > http://lists.freebsd.org/pipermail/freebsd-arch/2013-May/014371.html
> >
> >How/why? Yes, it's unsafe. That's the *point*.
>
> Well, there is an advantage that the FreeBSD one has over ours. It can be
> used in c++ with -Wold-style-cast, if defined as:
>
> #define __DECONST(t, a) const_cast<t>(a)
and I suppose one could also do something like this:
#define __DECONST(t, v) \
(sizeof((v) - (const t)0) ? (t)(unsigned long)(v) : 0)
to make it more or less typesafe at the cost of expanding the value
more than once. (And someone might be able to come up with a version
that doesn't require that.)
As for the unsigned long, we could just use uintptr_t and expect users
of the macro to include stdint.h themselves; after all it isn't
supposed to be used at all except in certain known special cases.
--
David A. Holland
dholland%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index