Cleanup: fixes for building with recent clang
authorCampbell Barton <ideasman42@gmail.com>
Tue, 13 Jan 2015 18:10:18 +0000 (05:10 +1100)
committerCampbell Barton <ideasman42@gmail.com>
Tue, 13 Jan 2015 18:11:20 +0000 (05:11 +1100)
17 files changed:
source/blender/blenkernel/intern/DerivedMesh.c
source/blender/blenkernel/intern/modifier.c
source/blender/blenkernel/intern/subsurf_ccg.c
source/blender/blenlib/BLI_bitmap.h
source/blender/blenlib/BLI_ghash.h
source/blender/blenlib/BLI_utildefines.h
source/blender/bmesh/tools/bmesh_beautify.c
source/blender/bmesh/tools/bmesh_intersect.c
source/blender/editors/include/BIF_gl.h
source/blender/editors/sculpt_paint/paint_image_proj.c
source/blender/editors/space_logic/logic_window.c
source/blender/editors/transform/transform_conversions.c
source/blender/editors/uvedit/uvedit_parametrizer.c
source/blender/freestyle/intern/winged_edge/Curvature.cpp
source/blender/makesdna/DNA_ID.h
source/blender/makesrna/intern/makesrna.c
source/blender/windowmanager/intern/wm_event_system.c

index abc544ea70eadd28a9544f1e2c65d9b557e6cdb8..07051e30bbea296de6dc0f05e5c703c0987e4d77 100644 (file)
@@ -3327,7 +3327,7 @@ static void dm_debug_info_layers(DynStr *dynstr, DerivedMesh *dm, CustomData *cd
                        CustomData_file_write_info(type, &structname, &structnum);
                        BLI_dynstr_appendf(dynstr,
                                           "        dict(name='%s', struct='%s', type=%d, ptr='%p', elem=%d, length=%d),\n",
-                                          name, structname, type, (void *)pt, size, pt_size);
+                                          name, structname, type, (const void *)pt, size, pt_size);
                }
        }
 }
@@ -3391,7 +3391,7 @@ void DM_debug_print(DerivedMesh *dm)
 void DM_debug_print_cdlayers(CustomData *data)
 {
        int i;
-       CustomDataLayer *layer;
+       const CustomDataLayer *layer;
 
        printf("{\n");
 
@@ -3403,7 +3403,7 @@ void DM_debug_print_cdlayers(CustomData *data)
                int structnum;
                CustomData_file_write_info(layer->type, &structname, &structnum);
                printf("        dict(name='%s', struct='%s', type=%d, ptr='%p', elem=%d, length=%d),\n",
-                      name, structname, layer->type, (void *)layer->data, size, (int)(MEM_allocN_len(layer->data) / size));
+                      name, structname, layer->type, (const void *)layer->data, size, (int)(MEM_allocN_len(layer->data) / size));
        }
 
        printf("}\n");
index 54ab5a8aca747a4e3f08c5a9d44a96317c0794be..021e564ef95c55c60fbce12805f32db8168e166a 100644 (file)
@@ -262,8 +262,8 @@ void modifier_copyData_generic(const ModifierData *md_src, ModifierData *md_dst)
 {
        ModifierTypeInfo *mti = modifierType_getInfo(md_src->type);
        const size_t data_size = sizeof(ModifierData);
-       const char *md_src_data = ((char *)md_src) + data_size;
-       char       *md_dst_data = ((char *)md_dst) + data_size;
+       const char *md_src_data = ((const char *)md_src) + data_size;
+       char       *md_dst_data =       ((char *)md_dst) + data_size;
        BLI_assert(data_size <= (size_t)mti->structSize);
        memcpy(md_dst_data, md_src_data, (size_t)mti->structSize - data_size);
 }
index c777fcd5e7b5aa31c2d710730ab73cb6adcfb916..961a66f853b8cb8897d64016a5f872f6a421d2ac 100644 (file)
@@ -1059,8 +1059,9 @@ void subsurf_copy_grid_hidden(DerivedMesh *dm, const MPoly *mpoly,
                        const MDisps *md = &mdisps[mpoly[i].loopstart + j];
                        int hidden_gridsize = BKE_ccg_gridsize(md->level);
                        int factor = BKE_ccg_factor(level, md->level);
+                       BLI_bitmap *hidden = md->hidden;
                        
-                       if (!md->hidden)
+                       if (!hidden)
                                continue;
                        
                        for (y = 0; y < gridSize; y++) {
@@ -1069,7 +1070,7 @@ void subsurf_copy_grid_hidden(DerivedMesh *dm, const MPoly *mpoly,
                                        
                                        vndx = getFaceIndex(ss, f, j, x, y, edgeSize, gridSize);
                                        offset = (y * factor) * hidden_gridsize + (x * factor);
-                                       if (BLI_BITMAP_TEST(md->hidden, offset))
+                                       if (BLI_BITMAP_TEST(hidden, offset))
                                                mvert[vndx].flag |= ME_HIDE;
                                }
                        }
index e9a828c678c791b4397d42a7106a754bbd3a29de..60fc143a447c8185d001f1cda361063c40252b7d 100644 (file)
@@ -66,23 +66,23 @@ typedef unsigned int BLI_bitmap;
 
 /* get the value of a single bit at '_index' */
 #define BLI_BITMAP_TEST(_bitmap, _index) \
-       (CHECK_TYPE_INLINE(_bitmap, BLI_bitmap *), \
+       (CHECK_TYPE_ANY(_bitmap, BLI_bitmap *, const BLI_bitmap *), \
         ((_bitmap)[(_index) >> _BITMAP_POWER] & \
          (1u << ((_index) & _BITMAP_MASK))))
 
 #define BLI_BITMAP_TEST_BOOL(_bitmap, _index) \
-       (CHECK_TYPE_INLINE(_bitmap, BLI_bitmap *), \
+       (CHECK_TYPE_ANY(_bitmap, BLI_bitmap *, const BLI_bitmap *), \
         (BLI_BITMAP_TEST(_bitmap, _index) != 0))
 
 /* set the value of a single bit at '_index' */
 #define BLI_BITMAP_ENABLE(_bitmap, _index) \
-       (CHECK_TYPE_INLINE(_bitmap, BLI_bitmap *), \
+       (CHECK_TYPE_ANY(_bitmap, BLI_bitmap *, const BLI_bitmap *), \
         ((_bitmap)[(_index) >> _BITMAP_POWER] |= \
          (1u << ((_index) & _BITMAP_MASK))))
 
 /* clear the value of a single bit at '_index' */
 #define BLI_BITMAP_DISABLE(_bitmap, _index) \
-       (CHECK_TYPE_INLINE(_bitmap, BLI_bitmap *), \
+       (CHECK_TYPE_ANY(_bitmap, BLI_bitmap *, const BLI_bitmap *), \
         ((_bitmap)[(_index) >> _BITMAP_POWER] &= \
          ~(1u << ((_index) & _BITMAP_MASK))))
 
index e9f83e786de255c1e828cbf6ed1910a943bbe794..bf2b41264536ca09d98f302f000cc5f97780bcec 100644 (file)
@@ -124,17 +124,17 @@ bool            BLI_ghashutil_ptrcmp(const void *a, const void *b);
 
 unsigned int    BLI_ghashutil_strhash_n(const char *key, size_t n);
 #define         BLI_ghashutil_strhash(key) ( \
-                CHECK_TYPE_INLINE(key, char *), \
+                CHECK_TYPE_ANY(key, char *, const char *, const char * const), \
                 BLI_ghashutil_strhash_p(key))
 unsigned int    BLI_ghashutil_strhash_p(const void *key);
 bool            BLI_ghashutil_strcmp(const void *a, const void *b);
 
 #define         BLI_ghashutil_inthash(key) ( \
-                CHECK_TYPE_INLINE(&(key), int *), \
+                CHECK_TYPE_ANY(&(key), int *, const int *), \
                 BLI_ghashutil_uinthash((unsigned int)key))
 unsigned int    BLI_ghashutil_uinthash(unsigned int key);
 #define         BLI_ghashutil_inthash_v4(key) ( \
-                CHECK_TYPE_INLINE(key, int *), \
+                CHECK_TYPE_ANY(key, int *, const int *), \
                 BLI_ghashutil_uinthash_v4((const unsigned int *)key))
 unsigned int    BLI_ghashutil_uinthash_v4(const unsigned int key[4]);
 #define         BLI_ghashutil_inthash_v4_p \
index 470219b2042cd2a6fea375c705f76618ca866e1a..b1b225096a74de482f01adb3d74440afe8d911f8 100644 (file)
@@ -436,8 +436,8 @@ extern "C" {
 
 /* assuming a static array */
 #if defined(__GNUC__) && !defined(__cplusplus)
-#  define ARRAY_SIZE(arr)                                                     \
-       ((sizeof(struct {int isnt_array : ((void *)&(arr) == &(arr)[0]);}) * 0) + \
+#  define ARRAY_SIZE(arr) \
+       ((sizeof(struct {int isnt_array : ((const void *)&(arr) == &(arr)[0]);}) * 0) + \
         (sizeof(arr) / sizeof(*(arr))))
 #else
 #  define ARRAY_SIZE(arr)  (sizeof(arr) / sizeof(*(arr)))
index e531db1d02d242bc4457163f87d563e0417ba623..990a2108bd7f695761340f300c1049999e174c08 100644 (file)
@@ -97,7 +97,7 @@ static GSet *erot_gset_new(void)
 
 static void erot_state_ex(const BMEdge *e, int v_index[2], int f_index[2])
 {
-       BLI_assert(BM_edge_is_manifold((BMEdge *)e));
+       BLI_assert(BM_edge_is_manifold(e));
        BLI_assert(BM_vert_in_edge(e, e->l->prev->v)              == false);
        BLI_assert(BM_vert_in_edge(e, e->l->radial_next->prev->v) == false);
 
index 4d87c3e3551078021370730c6281a160cb17fef1..8a1569630fa670d17f3d1afdf3801b223ec015f5 100644 (file)
@@ -857,7 +857,7 @@ bool BM_mesh_intersect(
                                        {UNPACK3(looptris[i][2]->v->co)},
                                };
 
-                               BLI_bvhtree_insert(tree_a, i, (float *)t_cos, 3);
+                               BLI_bvhtree_insert(tree_a, i, (const float *)t_cos, 3);
                        }
                }
                BLI_bvhtree_balance(tree_a);
@@ -874,7 +874,7 @@ bool BM_mesh_intersect(
                                        {UNPACK3(looptris[i][2]->v->co)},
                                };
 
-                               BLI_bvhtree_insert(tree_b, i, (float *)t_cos, 3);
+                               BLI_bvhtree_insert(tree_b, i, (const float *)t_cos, 3);
                        }
                }
                BLI_bvhtree_balance(tree_b);
index 2acba04368c3779788009b439295ebf5499fe17d..b06af01bab640b01b0b3b314f26cd939e67d30c3 100644 (file)
@@ -56,14 +56,20 @@ void cpack(unsigned int x);
 #  define glMultMatrixf(x)  \
        glMultMatrixf(_Generic((x), \
                float *:      (float *)(x), \
+               float [16]:   (float *)(x), \
                float (*)[4]: (float *)(x), \
+               float [4][4]: (float *)(x), \
                const float *:      (float *)(x), \
-               const float (*)[4]: (float *)(x)) \
+               const float [16]:   (float *)(x), \
+               const float (*)[4]: (float *)(x), \
+               const float [4][4]: (float *)(x)) \
 )
 #  define glLoadMatrixf(x)  \
        glLoadMatrixf(_Generic((x), \
                float *:      (float *)(x), \
-               float (*)[4]: (float *)(x)) \
+               float [16]:   (float *)(x), \
+               float (*)[4]: (float *)(x), \
+               float [4][4]: (float *)(x)) \
 )
 #else
 #  define glMultMatrixf(x)  glMultMatrixf((float *)(x))
index 9d0582701d2dca9cc0265cfc383e49815ecf35ca..3e675012d0518a98a10c22dd91806d5d75c14674 100644 (file)
@@ -1334,7 +1334,7 @@ static float project_paint_uvpixel_mask(
 
                /* now we can use the normal as a mask */
                if (ps->is_ortho) {
-                       angle = angle_normalized_v3v3((float *)ps->viewDir, no);
+                       angle = angle_normalized_v3v3(ps->viewDir, no);
                }
                else {
                        /* Annoying but for the perspective view we need to get the pixels location in 3D space :/ */
index 5464449a94e7d0b8f0382c01891107d6f8a34fa7..21a9246d7e6ee31cf4ec1febde005ec490384875 100644 (file)
@@ -96,11 +96,7 @@ static ID **get_selected_and_linked_obs(bContext *C, short *count, short scavisf
 
 static int vergname(const void *v1, const void *v2)
 {
-       char **x1, **x2;
-       
-       x1 = (char **)v1;
-       x2 = (char **)v2;
-       
+       const char * const *x1 = v1, * const *x2 = v2;
        return BLI_natstrcmp(*x1, *x2);
 }
 
index 8d6aae465671ee5cef9fb304e64d64d51762629c..5dc34d2a31a0877190d3e9a25c156810b6ad68ef 100644 (file)
@@ -4751,7 +4751,7 @@ static void createTransSeqData(bContext *C, TransInfo *t)
        TransData2D *td2d = NULL;
        TransDataSeq *tdsq = NULL;
        TransSeq *ts = NULL;
-       float xmouse, ymouse;
+       int xmouse;
 
        int count = 0;
 
@@ -4762,7 +4762,7 @@ static void createTransSeqData(bContext *C, TransInfo *t)
 
        t->customFree = freeSeqData;
 
-       UI_view2d_region_to_view(v2d, t->imval[0], t->imval[1], &xmouse, &ymouse);
+       xmouse = (int)UI_view2d_region_to_view_x(v2d, t->imval[0]);
 
        /* which side of the current frame should be allowed */
        if (t->mode == TFM_TIME_EXTEND) {
index c51a192b109f02c1c19c26c73c9f31a33169b5bb..569fe1c326d42bcf927da008f6534156a5842780 100644 (file)
@@ -3402,8 +3402,8 @@ static void p_chart_stretch_minimize(PChart *chart, RNG *rng)
 
 static int p_compare_geometric_uv(const void *a, const void *b)
 {
-       const PVert *v1 = *(const PVert **)a;
-       const PVert *v2 = *(const PVert **)b;
+       const PVert *v1 = *(const PVert * const *)a;
+       const PVert *v2 = *(const PVert * const *)b;
 
        if (v1->uv[0] < v2->uv[0])
                return -1;
@@ -3788,11 +3788,14 @@ static PBool p_node_intersect(SmoothNode *node, float co[2])
 
 /* smoothing */
 
-static int p_compare_float(const void *a, const void *b)
+static int p_compare_float(const void *a_, const void *b_)
 {
-       if (*((float *)a) < *((float *)b))
+       const float a = *(const float *)a_;
+       const float b = *(const float *)b_;
+
+       if (a < b)
                return -1;
-       else if (*((float *)a) == *((float *)b))
+       else if (a == b)
                return 0;
        else
                return 1;
index 38941b233576517bac57ba38e0a516c1045f4aad..3139668842293aed0894e8acab17005a2b9ba22c 100644 (file)
@@ -535,6 +535,7 @@ void gts_vertex_principal_directions(WVertex *v, Vec3r Kh, real Kg, Vec3r &e1, V
 
 namespace OGF {
 
+#if 0
 inline static real angle(WOEdge *h)
 {
        const Vec3r& n1 = h->GetbFace()->GetNormal();
@@ -549,6 +550,7 @@ inline static real angle(WOEdge *h)
        }
        return ::asin(sine);
 }
+#endif
 
 // precondition1: P is inside the sphere
 // precondition2: P,V points to the outside of the sphere (i.e. OP.V > 0)
index 64543709252d7ec8a0698e98392f3f1166744e24..c00435faa9dba39721c2b689899b778dd150bf9c 100644 (file)
@@ -243,8 +243,7 @@ typedef struct PreviewImage {
 #ifdef GS
 #  undef GS
 #endif
-// #define GS(a)       (*((short *)(a)))
-#define GS(a)  (CHECK_TYPE_INLINE(a, char *), (*((short *)(a))))
+#define GS(a)  (CHECK_TYPE_ANY(a, char *, const char *, char [66], const char[66]), (*((const short *)(a))))
 
 #define ID_NEW(a)              if (      (a) && (a)->id.newid ) (a) = (void *)(a)->id.newid
 #define ID_NEW_US(a)   if (      (a)->id.newid)       { (a) = (void *)(a)->id.newid;       (a)->id.us++; }
index f0a0f470ccf7dc07cea5090994155a20d56823b8..92a509d4d569091468b552e9c92e027ce3771038 100644 (file)
@@ -1628,7 +1628,7 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR
                        EnumPropertyRNA *eprop = (EnumPropertyRNA *)prop;
                        int i;
 
-                       if (eprop->item) {
+                       if (eprop->item && eprop->totitem) {
                                fprintf(f, "enum {\n");
 
                                for (i = 0; i < eprop->totitem; i++)
index 1fc1348385b2ef633d47324a5b915387dc1ceab5..f50744bf99ea820e94164a7e0b056c433c33fa56 100644 (file)
@@ -541,7 +541,7 @@ void WM_event_print(const wmEvent *event)
                       event->shift, event->ctrl, event->alt, event->oskey, event->keymodifier,
                       event->x, event->y, event->ascii,
                       BLI_str_utf8_size(event->utf8_buf), event->utf8_buf,
-                      event->keymap_idname, (void *)event);
+                      event->keymap_idname, (const void *)event);
 
                if (ISNDOF(event->type)) {
                        const wmNDOFMotionData *ndof = event->customdata;