[Beignet] [PATCH] [PATCH_V3]Fix compile warnings for CLANG compiler
Lv Meng
meng.lv at intel.com
Wed Aug 13 20:36:15 PDT 2014
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).
6.fix unused function warning(in compiler_saturate_sub.cpp).
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/compiler_saturate_sub.cpp | 17 +++++++++--------
utests/utest_helper.cpp | 13 ++++++++++---
16 files changed, 46 insertions(+), 53 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/compiler_saturate_sub.cpp b/utests/compiler_saturate_sub.cpp
index 48947b7..4f68522 100644
--- a/utests/compiler_saturate_sub.cpp
+++ b/utests/compiler_saturate_sub.cpp
@@ -14,7 +14,7 @@ T get_data(int idx, int part);
* the third column is the expected result.
*/
-#define DEF_TEMPLATE(TYPE, NAME) \
+#define DEF_TYPE(TYPE, NAME) \
template <> \
TYPE get_data<TYPE>(int idx, int part) \
{ \
@@ -37,8 +37,9 @@ TYPE get_data<TYPE>(int idx, int part) \
{ CL_##NAME##_MAX, CL_##NAME##_MIN, CL_##NAME##_MAX }, \
}; \
return test_data[idx][part]; \
-} \
- \
+}
+
+#define DEF_UTYPE(TYPE, NAME) \
template <> \
u##TYPE get_data<u##TYPE>(int idx, int part) \
{ \
@@ -55,11 +56,11 @@ u##TYPE get_data<u##TYPE>(int idx, int part) \
return test_data[idx][part]; \
}
-DEF_TEMPLATE(int8_t, CHAR)
-DEF_TEMPLATE(int16_t, SHRT)
-DEF_TEMPLATE(int32_t, INT)
-//DEF_TEMPLATE(int64_t, LONG)
-
+DEF_TYPE(int8_t,CHAR)
+DEF_TYPE(int16_t,CHAR)
+DEF_UTYPE(int8_t,CHAR)
+DEF_UTYPE(int16_t,CHAR)
+DEF_UTYPE(int32_t,CHAR)
template<typename T>
void test(const char *kernel_name)
diff --git a/utests/utest_helper.cpp b/utests/utest_helper.cpp
index 90cd11e..76df01f 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
More information about the Beignet
mailing list