[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