Skip to content

Commit 07fe5b1

Browse files
authored
typecast function pointers
1 parent 8cec83b commit 07fe5b1

File tree

1 file changed

+28
-12
lines changed

1 file changed

+28
-12
lines changed

driver/others/blas_server.c

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,8 @@ static void legacy_exec(void *func, int mode, blas_arg_t *args, void *sb){
209209
/* REAL / Double */
210210
void (*afunc)(BLASLONG, BLASLONG, BLASLONG, double,
211211
double *, BLASLONG, double *, BLASLONG,
212-
double *, BLASLONG, void *) = func;
212+
double *, BLASLONG, void *) = (void (*)(BLASLONG, BLASLONG, BLASLONG, double, double *, BLASLONG,
213+
double *, BLASLONG, double *, BLASLONG, void *)) func;
213214

214215
afunc(args -> m, args -> n, args -> k,
215216
((double *)args -> alpha)[0],
@@ -220,7 +221,10 @@ static void legacy_exec(void *func, int mode, blas_arg_t *args, void *sb){
220221
/* REAL / Single */
221222
void (*afunc)(BLASLONG, BLASLONG, BLASLONG, float,
222223
float *, BLASLONG, float *, BLASLONG,
223-
float *, BLASLONG, void *) = func;
224+
float *, BLASLONG, void *) = (void (*)
225+
(BLASLONG, BLASLONG, BLASLONG, float,
226+
float *, BLASLONG, float *, BLASLONG,
227+
float *, BLASLONG, void *)) func;
224228

225229
afunc(args -> m, args -> n, args -> k,
226230
((float *)args -> alpha)[0],
@@ -232,7 +236,9 @@ static void legacy_exec(void *func, int mode, blas_arg_t *args, void *sb){
232236
/* REAL / BFLOAT16 */
233237
void (*afunc)(BLASLONG, BLASLONG, BLASLONG, bfloat16,
234238
bfloat16 *, BLASLONG, bfloat16 *, BLASLONG,
235-
bfloat16 *, BLASLONG, void *) = func;
239+
bfloat16 *, BLASLONG, void *) = (void (*)(BLASLONG, BLASLONG, BLASLONG, bfloat16,
240+
bfloat16 *, BLASLONG, bfloat16 *, BLASLONG,
241+
bfloat16 *, BLASLONG, void *)) func;
236242

237243
afunc(args -> m, args -> n, args -> k,
238244
((bfloat16 *)args -> alpha)[0],
@@ -243,7 +249,9 @@ static void legacy_exec(void *func, int mode, blas_arg_t *args, void *sb){
243249
/* REAL / BLAS_STOBF16 */
244250
void (*afunc)(BLASLONG, BLASLONG, BLASLONG, float,
245251
float *, BLASLONG, bfloat16 *, BLASLONG,
246-
float *, BLASLONG, void *) = func;
252+
float *, BLASLONG, void *) = (void (*)(BLASLONG, BLASLONG, BLASLONG, float,
253+
float *, BLASLONG, bfloat16 *, BLASLONG,
254+
float *, BLASLONG, void *)) func;
247255

248256
afunc(args -> m, args -> n, args -> k,
249257
((float *)args -> alpha)[0],
@@ -254,7 +262,9 @@ static void legacy_exec(void *func, int mode, blas_arg_t *args, void *sb){
254262
/* REAL / BLAS_DTOBF16 */
255263
void (*afunc)(BLASLONG, BLASLONG, BLASLONG, double,
256264
double *, BLASLONG, bfloat16 *, BLASLONG,
257-
double *, BLASLONG, void *) = func;
265+
double *, BLASLONG, void *) = (void (*)(BLASLONG, BLASLONG, BLASLONG, double,
266+
double *, BLASLONG, bfloat16 *, BLASLONG,
267+
double *, BLASLONG, void *)) func;
258268

259269
afunc(args -> m, args -> n, args -> k,
260270
((double *)args -> alpha)[0],
@@ -271,7 +281,9 @@ static void legacy_exec(void *func, int mode, blas_arg_t *args, void *sb){
271281
/* COMPLEX / Extended Double */
272282
void (*afunc)(BLASLONG, BLASLONG, BLASLONG, xdouble, xdouble,
273283
xdouble *, BLASLONG, xdouble *, BLASLONG,
274-
xdouble *, BLASLONG, void *) = func;
284+
xdouble *, BLASLONG, void *) = (void (*)(BLASLONG, BLASLONG, BLASLONG, xdouble, xdouble,
285+
xdouble *, BLASLONG, xdouble *, BLASLONG,
286+
xdouble *, BLASLONG, void *)) func;
275287

276288
afunc(args -> m, args -> n, args -> k,
277289
((xdouble *)args -> alpha)[0],
@@ -285,7 +297,9 @@ static void legacy_exec(void *func, int mode, blas_arg_t *args, void *sb){
285297
/* COMPLEX / Double */
286298
void (*afunc)(BLASLONG, BLASLONG, BLASLONG, double, double,
287299
double *, BLASLONG, double *, BLASLONG,
288-
double *, BLASLONG, void *) = func;
300+
double *, BLASLONG, void *) = (void (*)(BLASLONG, BLASLONG, BLASLONG, double, double,
301+
double *, BLASLONG, double *, BLASLONG,
302+
double *, BLASLONG, void *)) func;
289303

290304
afunc(args -> m, args -> n, args -> k,
291305
((double *)args -> alpha)[0],
@@ -297,7 +311,9 @@ static void legacy_exec(void *func, int mode, blas_arg_t *args, void *sb){
297311
/* COMPLEX / Single */
298312
void (*afunc)(BLASLONG, BLASLONG, BLASLONG, float, float,
299313
float *, BLASLONG, float *, BLASLONG,
300-
float *, BLASLONG, void *) = func;
314+
float *, BLASLONG, void *) = (void (*)(BLASLONG, BLASLONG, BLASLONG, float, float,
315+
float *, BLASLONG, float *, BLASLONG,
316+
float *, BLASLONG, void *)) func;
301317

302318
afunc(args -> m, args -> n, args -> k,
303319
((float *)args -> alpha)[0],
@@ -425,7 +441,7 @@ blas_queue_t *tscq;
425441
#endif
426442

427443
if (queue) {
428-
int (*routine)(blas_arg_t *, void *, void *, void *, void *, BLASLONG) = queue -> routine;
444+
int (*routine)(blas_arg_t *, void *, void *, void *, void *, BLASLONG) = (int (*)(blas_arg_t *, void *, void *, void *, void *, BLASLONG))queue -> routine;
429445

430446
atomic_store_queue(&thread_status[cpu].queue, (blas_queue_t *)1);
431447

@@ -503,7 +519,7 @@ blas_queue_t *tscq;
503519
legacy_exec(routine, queue -> mode, queue -> args, sb);
504520
} else
505521
if (queue -> mode & BLAS_PTHREAD) {
506-
void (*pthreadcompat)(void *) = queue -> routine;
522+
void (*pthreadcompat)(void *) = (void(*)(void*))queue -> routine;
507523
(pthreadcompat)(queue -> args);
508524
} else
509525
(routine)(queue -> args, queue -> range_m, queue -> range_n, sa, sb, queue -> position);
@@ -871,13 +887,13 @@ int exec_blas(BLASLONG num, blas_queue_t *queue){
871887
fprintf(STDERR, "\n");
872888
#endif
873889

874-
routine = queue -> routine;
890+
routine = (int (*)(blas_arg_t *, void *, void *, double *, double *, BLASLONG))queue -> routine;
875891

876892
if (queue -> mode & BLAS_LEGACY) {
877893
legacy_exec(routine, queue -> mode, queue -> args, queue -> sb);
878894
} else
879895
if (queue -> mode & BLAS_PTHREAD) {
880-
void (*pthreadcompat)(void *) = queue -> routine;
896+
void (*pthreadcompat)(void *) = (void (*)(void*))queue -> routine;
881897
(pthreadcompat)(queue -> args);
882898
} else
883899
(routine)(queue -> args, queue -> range_m, queue -> range_n,

0 commit comments

Comments
 (0)