commit bddc8f024ebf17a762062b856c0d87116fe2cb37
parent fa08562129eafb16573bdeb447d4dea4bb4ae85e
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Wed, 28 Nov 2018 18:25:38 +0100
Fix CL warnings
Diffstat:
4 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/src/svx_tree_builder.h b/src/svx_tree_builder.h
@@ -48,6 +48,11 @@ static const struct voxel VOXEL_NULL = {0, NULL};
#define NCHILDREN BIT(TREE_DIMENSION)
+#ifdef COMPILER_CL
+ #pragma warning(push)
+ #pragma warning(disable:4324) /* Structure was padded due to alignment */
+#endif
+
struct XD(node) {
struct buffer_index ichild_node; /* Index of the 1st child node */
struct buffer_index ichild_attr; /* Index of the 1st child attr */
@@ -56,6 +61,10 @@ struct XD(node) {
ALIGN(16) char data[NCHILDREN][SVX_MAX_SIZEOF_VOXEL]; /* Data of the leaves */
};
+#ifdef COMPILER_CL
+ #pragma warning(pop)
+#endif
+
/* Stacked children of a tree node */
struct XD(stack) {
struct XD(node) nodes[NCHILDREN]; /* List of registered children */
diff --git a/src/test_svx_bintree.c b/src/test_svx_bintree.c
@@ -245,7 +245,7 @@ test_at_accessor(struct svx_tree* tree, const size_t nvoxels)
CHK(svx_tree_get_desc(tree, &desc) == RES_OK);
CHK(desc.type == SVX_BINTREE);
- CHK(desc.frame[0] = AXIS);
+ CHK(desc.frame[0] == AXIS);
axis = desc.frame[0];
tree_sz = desc.upper[axis] - desc.lower[axis];
@@ -273,7 +273,7 @@ test_at_accessor(struct svx_tree* tree, const size_t nvoxels)
ctx.position = pos[axis];
CHK(svx_tree_at(tree, pos, max_lod, &ctx, &vox) == RES_OK);
- mcode = i * (1u<<iter) + ((1u << iter) - 1);
+ mcode = i * (size_t)(1u<<iter) + ((1u << iter) - 1);
mcode = MMIN(mcode, nvoxels-1);
CHK(*((double*)vox.data) == mcode);
@@ -302,7 +302,7 @@ main(int argc, char** argv)
enum svx_axis axis;
double low, upp;
size_t nvxls;
- void* ptr = (void*)0xDECAFBAD;
+ void* ptr = (void*)(intptr_t)0xDECAFBAD;
(void)argc, (void)argv;
CHK(mem_init_proxy_allocator(&allocator, &mem_default_allocator) == RES_OK);
@@ -364,7 +364,8 @@ main(int argc, char** argv)
ctx.axis = AXIS;
ctx.nleaves = 0;
- CHK(ctx.leaves = MEM_CALLOC(&allocator, 5, 1));
+ ctx.leaves = MEM_CALLOC(&allocator, 5, 1);
+ CHK(ctx.leaves);
CHK(svx_tree_for_each_leaf(tree, check_leaves, &ctx) == RES_OK);
CHK(ctx.nleaves == 5);
MEM_RM(&allocator, ctx.leaves);
diff --git a/src/test_svx_octree.c b/src/test_svx_octree.c
@@ -332,14 +332,14 @@ test_at_accessor(struct svx_tree* oct, const size_t nvoxels[3])
pos[0] = tree_desc.lower[0] + ((double)x+1.0/(1u<<(2+iter)))*delta[0];
low[0] = tree_desc.lower[0] + (double)x * delta[0];
upp[0] = low[0] + delta[0];
- if(x*(1u<<iter) >= nvoxels[0]) break;
+ if(x*(size_t)(1u<<iter) >= nvoxels[0]) break;
FOR_EACH(y, 0, nvxls) {
pos[1] = tree_desc.lower[1] + ((double)y+1.0/(1u<<(2+iter)))*delta[1];
low[1] = tree_desc.lower[1] + (double)y * delta[1];
upp[1] = low[1] + delta[1];
- if(y*(1u<<iter) >= nvoxels[1]) break;
+ if(y*(size_t)(1u<<iter) >= nvoxels[1]) break;
FOR_EACH(z, 0, nvxls) {
struct svx_voxel vox;
@@ -350,7 +350,7 @@ test_at_accessor(struct svx_tree* oct, const size_t nvoxels[3])
low[2] = tree_desc.lower[2] + (double)z * delta[2];
upp[2] = low[2] + delta[2];
- if(z*(1u<<iter) >= nvoxels[2]) break;
+ if(z*(size_t)(1u<<iter) >= nvoxels[2]) break;
d3_set(ctx.position, pos);
CHK(svx_tree_at(oct, pos, max_lod, &ctx, &vox) == RES_OK);
@@ -394,7 +394,7 @@ main(int argc, char** argv)
double upp[3];
size_t nvxls[3];
struct leaves_context ctx;
- void* ptr = (void*)0xDECAFBAD;
+ void* ptr = (void*)(intptr_t)0xDECAFBAD;
(void)argc, (void)argv;
CHK(mem_init_proxy_allocator(&allocator, &mem_default_allocator) == RES_OK);
@@ -487,7 +487,7 @@ main(int argc, char** argv)
CHK(tree_desc.nleaves == nvxls[0]*nvxls[1]*nvxls[2] / 8);
CHK(tree_desc.nvoxels == (tree_desc.nleaves*8 - 1) / 7);
CHK(tree_desc.depth == (size_t)log2i((int)(nvxls[0]/2))+1);
- CHK(tree_desc.type = SVX_OCTREE);
+ CHK(tree_desc.type == SVX_OCTREE);
dump_data(stdout, oct, TYPE_FLOAT, 1, write_scalars);
diff --git a/src/test_svx_utils.h b/src/test_svx_utils.h
@@ -170,7 +170,8 @@ dump_data
FOR_EACH(ileaf, 0, desc.nleaves) fprintf(stream, "11\n");
fprintf(stream, "CELL_DATA %lu\n", (unsigned long)desc.nleaves);
- fprintf(stream, "SCALARS K %s %lu\n", data_type_to_string(type), numcomps);
+ fprintf(stream, "SCALARS K %s %lu\n",
+ data_type_to_string(type), (unsigned long)numcomps);
fprintf(stream, "LOOKUP_TABLE default\n");
CHK(svx_tree_for_each_leaf(tree, write_leaf_data, stream) == RES_OK);
}