Skip to content

Commit 56c4076

Browse files
committed
Avoid a warning about function pointer conversion. No functional changes
1 parent e6b8c4c commit 56c4076

File tree

2 files changed

+58
-52
lines changed

2 files changed

+58
-52
lines changed

HISTORY

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
SnapRAID HISTORY
22
================
33

4+
12.4 2025/01
5+
============
6+
* Avoid a warning about function pointer conversion. No functional changes.
7+
48
12.3 2024/01
59
============
610
* Fix potential integer overflow when computing the completion percentage.

raid/tag.c

Lines changed: 54 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -14,76 +14,78 @@
1414

1515
#include "internal.h"
1616

17+
typedef void (void_f)(void);
18+
1719
static struct raid_func {
1820
const char *name;
19-
void (*p)();
21+
void_f* func;
2022
} RAID_FUNC[] = {
21-
{ "int8", raid_gen3_int8 },
22-
{ "int8", raid_gen4_int8 },
23-
{ "int8", raid_gen5_int8 },
24-
{ "int8", raid_gen6_int8 },
25-
{ "int32", raid_gen1_int32 },
26-
{ "int64", raid_gen1_int64 },
27-
{ "int32", raid_gen2_int32 },
28-
{ "int64", raid_gen2_int64 },
29-
{ "int32", raid_genz_int32 },
30-
{ "int64", raid_genz_int64 },
31-
{ "int8", raid_rec1_int8 },
32-
{ "int8", raid_rec2_int8 },
33-
{ "int8", raid_recX_int8 },
23+
{ "int8", (void_f*)raid_gen3_int8 },
24+
{ "int8", (void_f*)raid_gen4_int8 },
25+
{ "int8", (void_f*)raid_gen5_int8 },
26+
{ "int8", (void_f*)raid_gen6_int8 },
27+
{ "int32", (void_f*)raid_gen1_int32 },
28+
{ "int64", (void_f*)raid_gen1_int64 },
29+
{ "int32", (void_f*)raid_gen2_int32 },
30+
{ "int64", (void_f*)raid_gen2_int64 },
31+
{ "int32", (void_f*)raid_genz_int32 },
32+
{ "int64", (void_f*)raid_genz_int64 },
33+
{ "int8", (void_f*)raid_rec1_int8 },
34+
{ "int8", (void_f*)raid_rec2_int8 },
35+
{ "int8", (void_f*)raid_recX_int8 },
3436

3537
#ifdef CONFIG_X86
3638
#ifdef CONFIG_SSE2
37-
{ "sse2", raid_gen1_sse2 },
38-
{ "sse2", raid_gen2_sse2 },
39-
{ "sse2", raid_genz_sse2 },
39+
{ "sse2", (void_f*)raid_gen1_sse2 },
40+
{ "sse2", (void_f*)raid_gen2_sse2 },
41+
{ "sse2", (void_f*)raid_genz_sse2 },
4042
#endif
4143
#ifdef CONFIG_SSSE3
42-
{ "ssse3", raid_gen3_ssse3 },
43-
{ "ssse3", raid_gen4_ssse3 },
44-
{ "ssse3", raid_gen5_ssse3 },
45-
{ "ssse3", raid_gen6_ssse3 },
46-
{ "ssse3", raid_rec1_ssse3 },
47-
{ "ssse3", raid_rec2_ssse3 },
48-
{ "ssse3", raid_recX_ssse3 },
44+
{ "ssse3", (void_f*)raid_gen3_ssse3 },
45+
{ "ssse3", (void_f*)raid_gen4_ssse3 },
46+
{ "ssse3", (void_f*)raid_gen5_ssse3 },
47+
{ "ssse3", (void_f*)raid_gen6_ssse3 },
48+
{ "ssse3", (void_f*)raid_rec1_ssse3 },
49+
{ "ssse3", (void_f*)raid_rec2_ssse3 },
50+
{ "ssse3", (void_f*)raid_recX_ssse3 },
4951
#endif
5052
#ifdef CONFIG_AVX2
51-
{ "avx2", raid_gen1_avx2 },
52-
{ "avx2", raid_gen2_avx2 },
53-
{ "avx2", raid_rec1_avx2 },
54-
{ "avx2", raid_rec2_avx2 },
55-
{ "avx2", raid_recX_avx2 },
53+
{ "avx2", (void_f*)raid_gen1_avx2 },
54+
{ "avx2", (void_f*)raid_gen2_avx2 },
55+
{ "avx2", (void_f*)raid_rec1_avx2 },
56+
{ "avx2", (void_f*)raid_rec2_avx2 },
57+
{ "avx2", (void_f*)raid_recX_avx2 },
5658
#endif
5759
#endif
5860

5961
#ifdef CONFIG_X86_64
6062
#ifdef CONFIG_SSE2
61-
{ "sse2e", raid_gen2_sse2ext },
62-
{ "sse2e", raid_genz_sse2ext },
63+
{ "sse2e", (void_f*)raid_gen2_sse2ext },
64+
{ "sse2e", (void_f*)raid_genz_sse2ext },
6365
#endif
6466
#ifdef CONFIG_SSSE3
65-
{ "ssse3e", raid_gen3_ssse3ext },
66-
{ "ssse3e", raid_gen4_ssse3ext },
67-
{ "ssse3e", raid_gen5_ssse3ext },
68-
{ "ssse3e", raid_gen6_ssse3ext },
67+
{ "ssse3e", (void_f*)raid_gen3_ssse3ext },
68+
{ "ssse3e", (void_f*)raid_gen4_ssse3ext },
69+
{ "ssse3e", (void_f*)raid_gen5_ssse3ext },
70+
{ "ssse3e", (void_f*)raid_gen6_ssse3ext },
6971
#endif
7072
#ifdef CONFIG_AVX2
71-
{ "avx2e", raid_gen3_avx2ext },
72-
{ "avx2e", raid_genz_avx2ext },
73-
{ "avx2e", raid_gen4_avx2ext },
74-
{ "avx2e", raid_gen5_avx2ext },
75-
{ "avx2e", raid_gen6_avx2ext },
73+
{ "avx2e", (void_f*)raid_gen3_avx2ext },
74+
{ "avx2e", (void_f*)raid_genz_avx2ext },
75+
{ "avx2e", (void_f*)raid_gen4_avx2ext },
76+
{ "avx2e", (void_f*)raid_gen5_avx2ext },
77+
{ "avx2e", (void_f*)raid_gen6_avx2ext },
7678
#endif
7779
#endif
7880
{ 0, 0 }
7981
};
8082

81-
static const char *raid_tag(void (*func)())
83+
static const char *raid_tag(void_f* func)
8284
{
8385
struct raid_func *i = RAID_FUNC;
8486

8587
while (i->name != 0) {
86-
if (i->p == func)
88+
if (i->func == func)
8789
return i->name;
8890
++i;
8991
}
@@ -95,51 +97,51 @@ static const char *raid_tag(void (*func)())
9597

9698
const char *raid_gen1_tag(void)
9799
{
98-
return raid_tag(raid_gen_ptr[0]);
100+
return raid_tag((void_f*)raid_gen_ptr[0]);
99101
}
100102

101103
const char *raid_gen2_tag(void)
102104
{
103-
return raid_tag(raid_gen_ptr[1]);
105+
return raid_tag((void_f*)raid_gen_ptr[1]);
104106
}
105107

106108
const char *raid_genz_tag(void)
107109
{
108-
return raid_tag(raid_genz_ptr);
110+
return raid_tag((void_f*)raid_genz_ptr);
109111
}
110112

111113
const char *raid_gen3_tag(void)
112114
{
113-
return raid_tag(raid_gen_ptr[2]);
115+
return raid_tag((void_f*)raid_gen_ptr[2]);
114116
}
115117

116118
const char *raid_gen4_tag(void)
117119
{
118-
return raid_tag(raid_gen_ptr[3]);
120+
return raid_tag((void_f*)raid_gen_ptr[3]);
119121
}
120122

121123
const char *raid_gen5_tag(void)
122124
{
123-
return raid_tag(raid_gen_ptr[4]);
125+
return raid_tag((void_f*)raid_gen_ptr[4]);
124126
}
125127

126128
const char *raid_gen6_tag(void)
127129
{
128-
return raid_tag(raid_gen_ptr[5]);
130+
return raid_tag((void_f*)raid_gen_ptr[5]);
129131
}
130132

131133
const char *raid_rec1_tag(void)
132134
{
133-
return raid_tag(raid_rec_ptr[0]);
135+
return raid_tag((void_f*)raid_rec_ptr[0]);
134136
}
135137

136138
const char *raid_rec2_tag(void)
137139
{
138-
return raid_tag(raid_rec_ptr[1]);
140+
return raid_tag((void_f*)raid_rec_ptr[1]);
139141
}
140142

141143
const char *raid_recX_tag(void)
142144
{
143-
return raid_tag(raid_rec_ptr[2]);
145+
return raid_tag((void_f*)raid_rec_ptr[2]);
144146
}
145147

0 commit comments

Comments
 (0)