[Beignet] [PATCH] [PATCH_V4]Fix compile warnings for CLANG compiler

Song, Ruiling ruiling.song at intel.com
Thu Aug 14 23:30:48 PDT 2014


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


More information about the Beignet mailing list