[Beignet] [PATCH] [PATCH_V4]Fix compile warnings for CLANG compiler
Yang, Rong R
rong.r.yang at intel.com
Mon Aug 18 23:09:41 PDT 2014
Pushed.
> -----Original Message-----
> From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On Behalf Of
> Song, Ruiling
> Sent: Friday, August 15, 2014 2:31 PM
> To: Lv, Meng; beignet at lists.freedesktop.org
> Cc: Lv, Meng
> Subject: Re: [Beignet] [PATCH] [PATCH_V4]Fix compile warnings for CLANG
> compiler
>
> LGTM
>
> -----Original Message-----
> From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On Behalf Of Lv
> Meng
> Sent: Friday, August 15, 2014 9:17 AM
> To: beignet at lists.freedesktop.org
> Cc: Lv, Meng
> Subject: [Beignet] [PATCH] [PATCH_V4]Fix compile warnings for CLANG compiler
>
> 1.fix data structure redefine warnings.
> 2.fix 'data' with variable sized type 'union<*>' not at the end of a class
> warning(in immediate.hpp).
> 3.fix implicitly conversion warning.
> 4.fix explicitly assigning a variable type warning.
> 5.fix comparison of unsigned expression < 0 is always false warning(in cl_api.c).
> Signed-off-by: Lv Meng <meng.lv at intel.com>
> ---
> backend/src/backend/gen_encoder.cpp | 4 +---
> backend/src/backend/gen_reg_allocation.cpp | 2 +-
> backend/src/backend/program.h | 6 ------
> backend/src/ir/immediate.hpp | 28
> +++++++++++++---------------
> src/cl_api.c | 6 +++---
> src/cl_command_queue.c | 4 ++--
> src/cl_context.h | 2 +-
> src/cl_driver.h | 1 -
> src/cl_driver_type.h | 5 ++++-
> src/cl_event.c | 3 +--
> src/cl_extensions.h | 3 ---
> src/cl_gt_device.h | 1 -
> src/cl_platform_id.h | 3 +--
> src/x11/mesa_egl_extension.c | 1 -
> utests/utest_helper.cpp | 13 ++++++++++---
> 15 files changed, 37 insertions(+), 45 deletions(-)
>
> diff --git a/backend/src/backend/gen_encoder.cpp
> b/backend/src/backend/gen_encoder.cpp
> index 33b6413..26e997d 100644
> --- a/backend/src/backend/gen_encoder.cpp
> +++ b/backend/src/backend/gen_encoder.cpp
> @@ -1062,9 +1062,7 @@ namespace gbe
> // for all the branching instruction. And need to adjust the distance
> // for those branch instruction's start point and end point contains
> // this instruction.
> - GenNativeInstruction *insn2 = (GenNativeInstruction
> *)&this->store[insnID+2];
> - GBE_ASSERT(insn2->header.opcode == GEN_OPCODE_NOP);
> - insn2 = insn2;
> + GBE_ASSERT(((GenNativeInstruction
> + *)&this->store[insnID+2])->header.opcode == GEN_OPCODE_NOP);
> insn.header.opcode = GEN_OPCODE_ADD;
> this->setDst(&insn, GenRegister::ip());
> this->setSrc0(&insn, GenRegister::ip()); diff --git
> a/backend/src/backend/gen_reg_allocation.cpp
> b/backend/src/backend/gen_reg_allocation.cpp
> index 7d95997..067c9ce 100644
> --- a/backend/src/backend/gen_reg_allocation.cpp
> +++ b/backend/src/backend/gen_reg_allocation.cpp
> @@ -846,7 +846,7 @@ namespace gbe
> // from the RA map.
> bool success = expireReg(interval.reg);
> GBE_ASSERT(success);
> - success = success;
> + if(!success) return success;
> RA.erase(interval.reg);
> }
> spilledRegs.insert(std::make_pair(interval.reg, spillTag)); diff --git
> a/backend/src/backend/program.h b/backend/src/backend/program.h index
> 39ff402..254df92 100644
> --- a/backend/src/backend/program.h
> +++ b/backend/src/backend/program.h
> @@ -210,12 +210,6 @@ typedef gbe_program
> (gbe_program_new_from_llvm_cb)(uint32_t deviceID,
> int optLevel);
> extern gbe_program_new_from_llvm_cb *gbe_program_new_from_llvm;
>
> -/*! create s new genprogram for link. */ -typedef gbe_program
> (gbe_program_new_gen_program_cb)(uint32_t deviceID,
> - const void
> *module,
> - const void
> *act);
> -extern gbe_program_new_gen_program_cb
> *gbe_program_new_gen_program;
> -
> /*! link the programs from llvm level. */ typedef void
> (gbe_program_link_from_llvm_cb)(gbe_program dst_program,
> gbe_program
> src_program, diff --git a/backend/src/ir/immediate.hpp
> b/backend/src/ir/immediate.hpp index 6a5c819..85f14a0 100644
> --- a/backend/src/ir/immediate.hpp
> +++ b/backend/src/ir/immediate.hpp
> @@ -208,6 +208,9 @@ namespace ir {
> }
>
> private:
> + ImmType type; //!< Type of the value
> + uint32_t elemNum; //!< vector imm data type
> + uint64_t defaultData;
> union {
> bool *b;
> int8_t *s8;
> @@ -223,23 +226,18 @@ namespace ir {
> const Immediate *immVec[];
> void *p;
> } data; //!< Value to store
> - ImmType type; //!< Type of the value
> - uint32_t elemNum; //!< vector imm data type
> - uint64_t defaultData;
> Immediate & operator= (const Immediate &);
> - Immediate operator+ (const Immediate &) const;
> - Immediate operator- (const Immediate &) const;
> - Immediate operator* (const Immediate &) const;
> - Immediate operator/ (const Immediate &) const;
> - Immediate operator% (const Immediate &) const;
> - Immediate operator& (const Immediate &) const;
> - Immediate operator| (const Immediate &) const;
> - Immediate operator^ (const Immediate &) const;
> - Immediate operator<< (const Immediate &) const;
> - Immediate operator>> (const Immediate &) const;
> + Immediate operator+ (const Immediate &) const;
> + Immediate operator- (const Immediate &) const;
> + Immediate operator* (const Immediate &) const;
> + Immediate operator/ (const Immediate &) const;
> + Immediate operator% (const Immediate &) const;
> + Immediate operator& (const Immediate &) const;
> + Immediate operator| (const Immediate &) const;
> + Immediate operator^ (const Immediate &) const;
> + Immediate operator<< (const Immediate &) const;
> + Immediate operator>> (const Immediate &) const;
> static Immediate lshr (const Immediate &left, const Immediate &right);
> -
> -
> void copy(const Immediate &other, int32_t offset, uint32_t num);
> GBE_CLASS(Immediate);
> };
> diff --git a/src/cl_api.c b/src/cl_api.c index d74df40..4353482 100644
> --- a/src/cl_api.c
> +++ b/src/cl_api.c
> @@ -1909,7 +1909,7 @@ clEnqueueFillBuffer(cl_command_queue
> command_queue,
> goto error;
> }
>
> - if (offset < 0 || offset + size > buffer->size) {
> + if (offset + size > buffer->size) {
> err = CL_INVALID_VALUE;
> goto error;
> }
> @@ -1991,11 +1991,11 @@ clEnqueueCopyBuffer(cl_command_queue
> command_queue,
> goto error;
> }
>
> - if (src_offset < 0 || src_offset + cb > src_buffer->size) {
> + if (src_offset + cb > src_buffer->size) {
> err = CL_INVALID_VALUE;
> goto error;
> }
> - if (dst_offset < 0 || dst_offset + cb > dst_buffer->size) {
> + if (dst_offset + cb > dst_buffer->size) {
> err = CL_INVALID_VALUE;
> goto error;
> }
> diff --git a/src/cl_command_queue.c b/src/cl_command_queue.c index
> 05be801..52e91ae 100644
> --- a/src/cl_command_queue.c
> +++ b/src/cl_command_queue.c
> @@ -141,12 +141,12 @@
> cl_command_queue_bind_image(cl_command_queue queue, cl_kernel k)
> cl_gpgpu_bind_image(gpgpu, k->images[i].idx, image->base.bo,
> image->offset,
> image->intel_fmt, image->image_type,
> image->w, image->h, image->depth,
> - image->row_pitch, image->tiling);
> + image->row_pitch,
> + (cl_gpgpu_tiling)image->tiling);
> if (image->image_type == CL_MEM_OBJECT_IMAGE1D_ARRAY)
> cl_gpgpu_bind_image(gpgpu, k->images[i].idx + 128, image->base.bo,
> image->offset,
> image->intel_fmt, image->image_type,
> image->w, image->h, image->depth,
> - image->row_pitch, image->tiling);
> + image->row_pitch,
> + (cl_gpgpu_tiling)image->tiling);
> }
> return CL_SUCCESS;
> }
> diff --git a/src/cl_context.h b/src/cl_context.h index f8342d3..8c1e63f 100644
> --- a/src/cl_context.h
> +++ b/src/cl_context.h
> @@ -20,9 +20,9 @@
> #ifndef __CL_CONTEXT_H__
> #define __CL_CONTEXT_H__
>
> +#include "CL/cl.h"
> #include "cl_internals.h"
> #include "cl_driver.h"
> -#include "CL/cl.h"
> #include "cl_khr_icd.h"
>
> #include <stdint.h>
> diff --git a/src/cl_driver.h b/src/cl_driver.h index 9cdba98..38b4830 100644
> --- a/src/cl_driver.h
> +++ b/src/cl_driver.h
> @@ -275,7 +275,6 @@ extern cl_buffer_set_tiling_cb *cl_buffer_set_tiling;
>
> #include "cl_context.h"
> #include "cl_mem.h"
> -typedef struct _cl_context *cl_context;
>
> typedef cl_buffer (cl_buffer_alloc_from_texture_cb)(cl_context, unsigned int,
> int, unsigned int,
> struct
> _cl_mem_image *gl_image); diff --git a/src/cl_driver_type.h
> b/src/cl_driver_type.h index 891a33c..c39d3f1 100644
> --- a/src/cl_driver_type.h
> +++ b/src/cl_driver_type.h
> @@ -4,6 +4,8 @@
> * will allow us to make the use of a software performance simulator easier
> and
> * to minimize the code specific for the HW and for the simulator
>
> ****************************************************************
> **********/
> +#ifndef __CL_DRIVER_TYPE_H__
> +#define __CL_DRIVER_TYPE_H__
>
> /* Encapsulates command buffer / data buffer / kernels */ typedef struct
> _cl_buffer *cl_buffer; @@ -21,4 +23,5 @@ typedef struct _cl_gpgpu
> *cl_gpgpu; typedef struct _cl_gpgpu_event *cl_gpgpu_event;
>
> typedef struct _cl_context_prop *cl_context_prop; -typedef struct
> _cl_sampler *cl_sampler;
> +
> +#endif
> diff --git a/src/cl_event.c b/src/cl_event.c index 99e60eb..c3c6dde 100644
> --- a/src/cl_event.c
> +++ b/src/cl_event.c
> @@ -472,9 +472,8 @@ void cl_event_set_status(cl_event event, cl_int status)
> /* All user events complete, now wait enqueue events */
> ret = cl_event_wait_events(enqueue_cb->num_events,
> enqueue_cb->wait_list,
> enqueue_cb->event->queue);
> - ret = ret;
> assert(ret != CL_ENQUEUE_EXECUTE_DEFER);
> -
> + ret = ~ret;
> cb = enqueue_cb;
> enqueue_cb = enqueue_cb->next;
>
> diff --git a/src/cl_extensions.h b/src/cl_extensions.h index 52ee0a4..e6cdce8
> 100644
> --- a/src/cl_extensions.h
> +++ b/src/cl_extensions.h
> @@ -92,8 +92,5 @@ typedef struct cl_extensions {
> char ext_str[256];
> } cl_extensions_t;
>
> -struct _cl_platform_id;
> -typedef struct _cl_platform_id * cl_platform_id;
> -
> extern void
> cl_intel_platform_extension_init(cl_platform_id intel_platform); diff --git
> a/src/cl_gt_device.h b/src/cl_gt_device.h index fc8aefd..33ef1f0 100644
> --- a/src/cl_gt_device.h
> +++ b/src/cl_gt_device.h
> @@ -51,7 +51,6 @@
> .max_samplers = 16,
> .mem_base_addr_align = sizeof(cl_long) * 16 *
> 8, .min_data_type_align_size = sizeof(cl_long) * 16, -.single_fp_config = 0, /*
> XXX */ .double_fp_config = 0, .global_mem_cache_type =
> CL_READ_WRITE_CACHE, .global_mem_size = 1024 * 1024 * 1024, diff --git
> a/src/cl_platform_id.h b/src/cl_platform_id.h index 2a9c07a..61b8eab 100644
> --- a/src/cl_platform_id.h
> +++ b/src/cl_platform_id.h
> @@ -20,11 +20,10 @@
> #ifndef __CL_PLATFORM_ID_H__
> #define __CL_PLATFORM_ID_H__
>
> +#include "CL/cl.h"
> #include "cl_internals.h"
> #include "cl_extensions.h"
> #include "cl_khr_icd.h"
> -#include "CL/cl.h"
> -
> #include "src/OCLConfig.h"
>
> struct _cl_platform_id {
> diff --git a/src/x11/mesa_egl_extension.c b/src/x11/mesa_egl_extension.c
> index a7fc8cb..4a3e89c 100644
> --- a/src/x11/mesa_egl_extension.c
> +++ b/src/x11/mesa_egl_extension.c
> @@ -123,7 +123,6 @@ _eglLockDisplay(EGLDisplay dpy) static _EGLContext
> * _eglLookupContext(EGLContext ctx, EGLDisplay disp) {
> - disp = disp;
> return (_EGLContext *) ctx;
> }
>
> diff --git a/utests/utest_helper.cpp b/utests/utest_helper.cpp index
> 90cd11e..b57b8dc 100644
> --- a/utests/utest_helper.cpp
> +++ b/utests/utest_helper.cpp
> @@ -537,12 +537,19 @@ int *cl_read_bmp(const char *filename, int *width,
> int *height)
> char magic[2];
> int ret;
> ret = fread(&magic[0], 1, 2, fp);
> - ret = ret;
> - assert(2 == ret);
> + if(2 != ret){
> + fclose(fp);
> + free(bmppath);
> + return NULL;
> + }
> assert(magic[0] == 'B' && magic[1] == 'M');
>
> ret = fread(&hdr, sizeof(hdr), 1, fp);
> - assert(1 == ret);
> + if(1 != ret){
> + fclose(fp);
> + free(bmppath);
> + return NULL;
> + }
>
> assert(hdr.width > 0 && hdr.height > 0 && hdr.nplanes == 1 &&
> hdr.compression == 0);
>
> --
> 1.8.3.2
>
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet
More information about the Beignet
mailing list