cvs commit: src/lib/libc/gen disklabel.c src/lib/libcr/gen disklabel.c src/sbin/disklabel disklabel.c src/usr.sbin/diskpart diskpart.c

Joerg Sonnenberger joerg at britannica.bec.de
Thu Mar 17 07:51:52 PST 2005


On Fri, Mar 18, 2005 at 12:44:42AM +0900, YONETANI Tomokazu wrote:
> On Thu, Mar 17, 2005 at 03:26:42PM +0100, Joerg Sonnenberger wrote:
> > >   Constify all users of dktypenames to unbreak buildworld.
> > >   Reported-by: walt
> > 
> > I'm not sure why world broke through. That's strange.
> 
> I should've been more explicit about what I claimed to fix. gcc fails
> miserably if one tries to get a difference of two addresses whose target
> types are different and there's no implicit conversions available, so:
> 
>   const char **ccpp;
>   char **cpp;
>   int idx;
> 
>   idx = cpp - ccpp;	/* NG */
>   idx = *cpp - *ccpp;	/* OK, *cpp converted to (const char *) */
>   idx = *ccpp - *cpp;	/* NG, (const char *) to (char *) */

This is what I meant. I have to read the specs again, this feels strange.
But the conversions rules _are_ strange, so it might very well be OK.

Joerg





More information about the Commits mailing list