http://bugs.freedesktop.org/show_bug.cgi?id=15151
--- Comment #4 from Paulo César Pereira de Andrade <[EMAIL PROTECTED]> 2008-03-21 02:40:41 PST --- (In reply to comment #3) > > There should not exist any other problems as math with void * is the > > same as math with signed or unsiged char pointers. > > So I thought, but it turned out that void* arithmetics are a GCC extension and > not defined in any C standard. It's probably better not to use it. Either I am confused, or you misunderstood me :-) The patch changed the field from "void*" to "unsigned char*" to avoid warnings about void* math. The cases I casted to unsigned char* were because gcc doesn't compile void* and char* arithmetic: - if (info->tilingEnabled && ((pPix->devPrivate.ptr - info->FB) == 0)) + if (info->tilingEnabled && (((unsigned char *)pPix->devPrivate.ptr - info->FB) == 0)) this could just be "pPix->devPrivate.ptr == info->FB" and: - dst_offset = (pPixmap->devPrivate.ptr - info->FB) + + dst_offset = ((unsigned char *)pPixmap->devPrivate.ptr - info->FB) + otherwise, if keeping RADEONInfoRec.FB type as void*, it would be required a quite larger patch, casting it to a char pointer, to avoid the warnings. The comment about the math being the same is because ((void*)<addr> + integer) should result the same pointer as ((unsigned char*)<addr> + integer). -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. _______________________________________________ xorg-driver-ati mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-driver-ati
