[Mesa-dev] [PATCH] mesa: silence some compilation warnings.
Jose Fonseca
jfonseca at vmware.com
Thu May 12 07:26:08 PDT 2011
I agree with Patrick concerning the int casts.
Zhigang, I've commited your changes have tweaking the int casts. Plus a few other warning fixes.
I did only a test compile here, so let me know if I broke anything.
Jose
----- Original Message -----
> I would be wary of assuming you can typecast long -> pointer, or
> pointer -> long. On 64-bit Windows, sizeof(int) == sizeof(long) == 4
> but sizeof(void*) == 8. On 64-bit Linux (gcc), sizeof(int) == 4,
> sizeof(long) == sizeof(void*) == 8. It would be better to use
> <stdint.h> with uintptr_t -- it was designed to solve this problem
> exactly. If you insist on using long, why not use long long (C99)
> which is 64-bits on both platforms.
> On Thu, May 12, 2011 at 3:49 AM, zhigang gong <
> zhigang.gong at gmail.com > wrote:
> > glu.h: typedef void (GLAPIENTRYP _GLUfuncptr)(); causes the
> > following
>
> > warning: function declaration isn't a prototype.
>
> > egl: When convert a (void *) to a int type, it's better to
>
> > convert to long firstly, otherwise in 64 bit envirnonment, it
>
> > causes compilation warning.
>
> > ---
>
> > include/GL/glu.h | 2 +-
>
> > src/egl/drivers/dri2/egl_dri2.c | 4 ++--
>
> > src/egl/drivers/dri2/platform_drm.c | 4 ++--
>
> > src/egl/drivers/dri2/platform_x11.c | 2 +-
>
> > src/egl/main/eglapi.c | 2 +-
>
> > 5 files changed, 7 insertions(+), 7 deletions(-)
>
> > diff --git a/include/GL/glu.h b/include/GL/glu.h
>
> > index cd967ac..ba2228d 100644
>
> > --- a/include/GL/glu.h
>
> > +++ b/include/GL/glu.h
>
> > @@ -284,7 +284,7 @@ typedef GLUtesselator GLUtriangulatorObj;
>
> > #define GLU_TESS_MAX_COORD 1.0e150
>
> > /* Internal convenience typedefs */
>
> > -typedef void (GLAPIENTRYP _GLUfuncptr)();
>
> > +typedef void (GLAPIENTRYP _GLUfuncptr)(void);
>
> > GLAPI void GLAPIENTRY gluBeginCurve (GLUnurbs* nurb);
>
> > GLAPI void GLAPIENTRY gluBeginPolygon (GLUtesselator* tess);
>
> > diff --git a/src/egl/drivers/dri2/egl_dri2.c
> > b/src/egl/drivers/dri2/egl_dri2.c
>
> > index afab679..f5f5ac3 100644
>
> > --- a/src/egl/drivers/dri2/egl_dri2.c
>
> > +++ b/src/egl/drivers/dri2/egl_dri2.c
>
> > @@ -835,7 +835,7 @@ dri2_create_image_khr_renderbuffer(_EGLDisplay
>
> > *disp, _EGLContext *ctx,
>
> > struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
>
> > struct dri2_egl_context *dri2_ctx = dri2_egl_context(ctx);
>
> > struct dri2_egl_image *dri2_img;
>
> > - GLuint renderbuffer = (GLuint) buffer;
>
> > + GLuint renderbuffer = (unsigned long) buffer;
>
> > if (renderbuffer == 0) {
>
> > _eglError(EGL_BAD_PARAMETER, "dri2_create_image_khr");
>
> > @@ -870,7 +870,7 @@ dri2_create_image_mesa_drm_buffer(_EGLDisplay
>
> > *disp, _EGLContext *ctx,
>
> > (void) ctx;
>
> > - name = (EGLint) buffer;
>
> > + name = (unsigned long) buffer;
>
> > err = _eglParseImageAttribList(&attrs, disp, attr_list);
>
> > if (err != EGL_SUCCESS)
>
> > diff --git a/src/egl/drivers/dri2/platform_drm.c
>
> > b/src/egl/drivers/dri2/platform_drm.c
>
> > index 68912e3..cea8418 100644
>
> > --- a/src/egl/drivers/dri2/platform_drm.c
>
> > +++ b/src/egl/drivers/dri2/platform_drm.c
>
> > @@ -596,7 +596,7 @@ dri2_get_device_name(int fd)
>
> > goto out;
>
> > }
>
> > - device_name = udev_device_get_devnode(device);
>
> > + device_name = (char*)udev_device_get_devnode(device);
>
> > if (!device_name)
>
> > goto out;
>
> > device_name = strdup(device_name);
>
> > @@ -690,7 +690,7 @@ dri2_initialize_drm(_EGLDriver *drv,
> > _EGLDisplay
> > *disp)
>
> > memset(dri2_dpy, 0, sizeof *dri2_dpy);
>
> > disp->DriverData = (void *) dri2_dpy;
>
> > - dri2_dpy->fd = (int) disp->PlatformDisplay;
>
> > + dri2_dpy->fd = (long) disp->PlatformDisplay;
>
> > dri2_dpy->driver_name = dri2_get_driver_for_fd(dri2_dpy->fd);
>
> > if (dri2_dpy->driver_name == NULL)
>
> > diff --git a/src/egl/drivers/dri2/platform_x11.c
>
> > b/src/egl/drivers/dri2/platform_x11.c
>
> > index 5d4ac6a..90136f4 100644
>
> > --- a/src/egl/drivers/dri2/platform_x11.c
>
> > +++ b/src/egl/drivers/dri2/platform_x11.c
>
> > @@ -784,7 +784,7 @@ dri2_create_image_khr_pixmap(_EGLDisplay *disp,
>
> > _EGLContext *ctx,
>
> > (void) ctx;
>
> > - drawable = (xcb_drawable_t) buffer;
>
> > + drawable = (xcb_drawable_t) (long)buffer;
>
> > xcb_dri2_create_drawable (dri2_dpy->conn, drawable);
>
> > attachments[0] = XCB_DRI2_ATTACHMENT_BUFFER_FRONT_LEFT;
>
> > buffers_cookie =
>
> > diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
>
> > index 336ec23..9063752 100644
>
> > --- a/src/egl/main/eglapi.c
>
> > +++ b/src/egl/main/eglapi.c
>
> > @@ -1168,7 +1168,7 @@ eglQueryModeStringMESA(EGLDisplay dpy,
> > EGLModeMESA mode)
>
> > EGLDisplay EGLAPIENTRY
>
> > eglGetDRMDisplayMESA(int fd)
>
> > {
>
> > - _EGLDisplay *dpy = _eglFindDisplay(_EGL_PLATFORM_DRM, (void *)
> > fd);
>
> > + _EGLDisplay *dpy = _eglFindDisplay(_EGL_PLATFORM_DRM, (void *)
> > (long)fd);
>
> > return _eglGetDisplayHandle(dpy);
>
> > }
>
> > --
>
> > 1.7.3.1
>
> > _______________________________________________
>
> > mesa-dev mailing list
>
> > mesa-dev at lists.freedesktop.org
>
> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20110512/c1e5c0c3/attachment-0001.htm>
More information about the mesa-dev
mailing list