From 192a59fe0bcd06aecfd01ad0b9992b7c0ec6a2fc Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Tue, 25 Jun 2024 16:05:13 +0200 Subject: [PATCH] Ignore -Wdiscarded-qualifiers warning with const vtables --- 3rdparty/d3drm/d3drm.c | 7 +++++++ 3rdparty/d3drm/device.c | 7 +++++++ 3rdparty/d3drm/face.c | 7 +++++++ 3rdparty/d3drm/frame.c | 35 +++++++++++++++++++++++++++++++++++ 3rdparty/d3drm/light.c | 7 +++++++ 3rdparty/d3drm/material.c | 7 +++++++ 3rdparty/d3drm/meshbuilder.c | 21 +++++++++++++++++++++ 3rdparty/d3drm/texture.c | 7 +++++++ 3rdparty/d3drm/viewport.c | 7 +++++++ 9 files changed, 105 insertions(+) diff --git a/3rdparty/d3drm/d3drm.c b/3rdparty/d3drm/d3drm.c index 393016a4..bcce79d9 100644 --- a/3rdparty/d3drm/d3drm.c +++ b/3rdparty/d3drm/d3drm.c @@ -2328,9 +2328,16 @@ HRESULT WINAPI Direct3DRMCreate(IDirect3DRM **d3drm) if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" +#endif object->IDirect3DRM_iface.lpVtbl = &d3drm1_vtbl; object->IDirect3DRM2_iface.lpVtbl = &d3drm2_vtbl; object->IDirect3DRM3_iface.lpVtbl = &d3drm3_vtbl; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif object->ref1 = 1; object->iface_count = 1; diff --git a/3rdparty/d3drm/device.c b/3rdparty/d3drm/device.c index 5e83517b..a66c014a 100644 --- a/3rdparty/d3drm/device.c +++ b/3rdparty/d3drm/device.c @@ -1663,10 +1663,17 @@ HRESULT d3drm_device_create(struct d3drm_device **device, IDirect3DRM *d3drm) if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" +#endif object->IDirect3DRMDevice_iface.lpVtbl = &d3drm_device1_vtbl; object->IDirect3DRMDevice2_iface.lpVtbl = &d3drm_device2_vtbl; object->IDirect3DRMDevice3_iface.lpVtbl = &d3drm_device3_vtbl; object->IDirect3DRMWinDevice_iface.lpVtbl = &d3drm_device_win_vtbl; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif object->d3drm = d3drm; d3drm_object_init(&object->obj, classname); diff --git a/3rdparty/d3drm/face.c b/3rdparty/d3drm/face.c index ad463ae2..6da5a685 100644 --- a/3rdparty/d3drm/face.c +++ b/3rdparty/d3drm/face.c @@ -627,8 +627,15 @@ HRESULT d3drm_face_create(struct d3drm_face **face) if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" +#endif object->IDirect3DRMFace_iface.lpVtbl = &d3drm_face1_vtbl; object->IDirect3DRMFace2_iface.lpVtbl = &d3drm_face2_vtbl; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif object->ref = 1; d3drm_object_init(&object->obj, classname); diff --git a/3rdparty/d3drm/frame.c b/3rdparty/d3drm/frame.c index e3122f4f..ca26dac3 100644 --- a/3rdparty/d3drm/frame.c +++ b/3rdparty/d3drm/frame.c @@ -261,7 +261,14 @@ static struct d3drm_frame_array *d3drm_frame_array_create(unsigned int frame_cou if (!(array = calloc(1, sizeof(*array)))) return NULL; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" +#endif array->IDirect3DRMFrameArray_iface.lpVtbl = &d3drm_frame_array_vtbl; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif array->ref = 1; array->size = frame_count; @@ -379,7 +386,14 @@ static struct d3drm_visual_array *d3drm_visual_array_create(unsigned int visual_ if (!(array = calloc(1, sizeof(*array)))) return NULL; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" +#endif array->IDirect3DRMVisualArray_iface.lpVtbl = &d3drm_visual_array_vtbl; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif array->ref = 1; array->size = visual_count; @@ -498,7 +512,14 @@ static struct d3drm_light_array *d3drm_light_array_create(unsigned int light_cou if (!(array = calloc(1, sizeof(*array)))) return NULL; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" +#endif array->IDirect3DRMLightArray_iface.lpVtbl = &d3drm_light_array_vtbl; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif array->ref = 1; array->size = light_count; @@ -3137,9 +3158,16 @@ HRESULT d3drm_frame_create(struct d3drm_frame **frame, IUnknown *parent_frame, I if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" +#endif object->IDirect3DRMFrame_iface.lpVtbl = &d3drm_frame1_vtbl; object->IDirect3DRMFrame2_iface.lpVtbl = &d3drm_frame2_vtbl; object->IDirect3DRMFrame3_iface.lpVtbl = &d3drm_frame3_vtbl; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif object->d3drm = d3drm; object->ref = 1; d3drm_set_color(&object->scenebackground, 0.0f, 0.0f, 0.0f, 1.0f); @@ -3889,8 +3917,15 @@ HRESULT d3drm_animation_create(struct d3drm_animation **animation, IDirect3DRM * if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" +#endif object->IDirect3DRMAnimation_iface.lpVtbl = &d3drm_animation1_vtbl; object->IDirect3DRMAnimation2_iface.lpVtbl = &d3drm_animation2_vtbl; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif object->d3drm = d3drm; object->ref = 1; object->options = D3DRMANIMATION_CLOSED | D3DRMANIMATION_LINEARPOSITION; diff --git a/3rdparty/d3drm/light.c b/3rdparty/d3drm/light.c index 1cc5b115..86dc502a 100644 --- a/3rdparty/d3drm/light.c +++ b/3rdparty/d3drm/light.c @@ -378,7 +378,14 @@ HRESULT d3drm_light_create(struct d3drm_light **light, IDirect3DRM *d3drm) if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" +#endif object->IDirect3DRMLight_iface.lpVtbl = &d3drm_light_vtbl; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif object->ref = 1; object->d3drm = d3drm; IDirect3DRM_AddRef(object->d3drm); diff --git a/3rdparty/d3drm/material.c b/3rdparty/d3drm/material.c index d9bfbc01..f40707db 100644 --- a/3rdparty/d3drm/material.c +++ b/3rdparty/d3drm/material.c @@ -286,7 +286,14 @@ HRESULT d3drm_material_create(struct d3drm_material **material, IDirect3DRM *d3d if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" +#endif object->IDirect3DRMMaterial2_iface.lpVtbl = &d3drm_material_vtbl; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif object->ref = 1; object->d3drm = d3drm; IDirect3DRM_AddRef(object->d3drm); diff --git a/3rdparty/d3drm/meshbuilder.c b/3rdparty/d3drm/meshbuilder.c index 5d4a3b6d..56faa038 100644 --- a/3rdparty/d3drm/meshbuilder.c +++ b/3rdparty/d3drm/meshbuilder.c @@ -2343,8 +2343,15 @@ HRESULT d3drm_mesh_builder_create(struct d3drm_mesh_builder **mesh_builder, IDir if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" +#endif object->IDirect3DRMMeshBuilder2_iface.lpVtbl = &d3drm_mesh_builder2_vtbl; object->IDirect3DRMMeshBuilder3_iface.lpVtbl = &d3drm_mesh_builder3_vtbl; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif object->ref = 1; object->d3drm = d3drm; object->quality = D3DRMRENDER_GOURAUD; @@ -2843,7 +2850,14 @@ HRESULT d3drm_mesh_create(struct d3drm_mesh **mesh, IDirect3DRM *d3drm) if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" +#endif object->IDirect3DRMMesh_iface.lpVtbl = &d3drm_mesh_vtbl; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif object->ref = 1; object->d3drm = d3drm; IDirect3DRM_AddRef(object->d3drm); @@ -3029,7 +3043,14 @@ HRESULT d3drm_wrap_create(struct d3drm_wrap **wrap, IDirect3DRM *d3drm) if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" +#endif object->IDirect3DRMWrap_iface.lpVtbl = &d3drm_wrap_vtbl; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif object->ref = 1; d3drm_object_init(&object->obj, classname); diff --git a/3rdparty/d3drm/texture.c b/3rdparty/d3drm/texture.c index 9ccf73a3..19fa3bb0 100644 --- a/3rdparty/d3drm/texture.c +++ b/3rdparty/d3drm/texture.c @@ -1467,9 +1467,16 @@ HRESULT d3drm_texture_create(struct d3drm_texture **texture, IDirect3DRM *d3drm) if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" +#endif object->IDirect3DRMTexture_iface.lpVtbl = &d3drm_texture1_vtbl; object->IDirect3DRMTexture2_iface.lpVtbl = &d3drm_texture2_vtbl; object->IDirect3DRMTexture3_iface.lpVtbl = &d3drm_texture3_vtbl; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif object->d3drm = d3drm; object->max_colors = 8; object->max_shades = 16; diff --git a/3rdparty/d3drm/viewport.c b/3rdparty/d3drm/viewport.c index a29bac76..347f2c1a 100644 --- a/3rdparty/d3drm/viewport.c +++ b/3rdparty/d3drm/viewport.c @@ -1136,8 +1136,15 @@ HRESULT d3drm_viewport_create(struct d3drm_viewport **viewport, IDirect3DRM *d3d if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" +#endif object->IDirect3DRMViewport_iface.lpVtbl = &d3drm_viewport1_vtbl; object->IDirect3DRMViewport2_iface.lpVtbl = &d3drm_viewport2_vtbl; +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif object->d3drm = d3drm; d3drm_object_init(&object->obj, classname);