From 8f00eb046e0f737d6b022617606cb642e7e3fc22 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Tue, 6 Dec 2016 21:32:29 +0100 Subject: [PATCH] please sonar and use & when creating function pointers --- src/instr/instr_TI_trace.cpp | 9 ++--- src/instr/instr_paje_trace.cpp | 36 ++++++++--------- src/instr/instr_trace.cpp | 48 +++++++++++------------ src/msg/msg_global.cpp | 2 +- src/xbt/automaton/automaton.c | 5 +-- src/xbt/parmap.cpp | 24 ++++++------ src/xbt/xbt_log_appender_file.c | 12 +++--- src/xbt/xbt_log_layout_format.c | 4 +- src/xbt/xbt_log_layout_simple.c | 2 +- src/xbt/xbt_virtu.c | 2 +- teshsuite/msg/pid/pid.c | 3 +- teshsuite/xbt/parmap_bench/parmap_bench.c | 4 +- 12 files changed, 72 insertions(+), 79 deletions(-) diff --git a/src/instr/instr_TI_trace.cpp b/src/instr/instr_TI_trace.cpp index 02d3c7cd76..161e5532e0 100644 --- a/src/instr/instr_TI_trace.cpp +++ b/src/instr/instr_TI_trace.cpp @@ -1,5 +1,4 @@ -/* Copyright (c) 2010-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2010-2015. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -28,9 +27,9 @@ extern s_instr_trace_writer_t active_writer; void TRACE_TI_init() { - active_writer.print_PushState = print_TIPushState; - active_writer.print_CreateContainer=print_TICreateContainer; - active_writer.print_DestroyContainer=print_TIDestroyContainer; + active_writer.print_PushState = &print_TIPushState; + active_writer.print_CreateContainer = &print_TICreateContainer; + active_writer.print_DestroyContainer = &print_TIDestroyContainer; } void TRACE_TI_start() diff --git a/src/instr/instr_paje_trace.cpp b/src/instr/instr_paje_trace.cpp index 7172f7e3fd..7573537fc2 100644 --- a/src/instr/instr_paje_trace.cpp +++ b/src/instr/instr_paje_trace.cpp @@ -76,24 +76,24 @@ template static void print_default_pajeVariable_row(paje_event_t& ev } void TRACE_paje_init() { - active_writer.print_DefineContainerType = print_pajeDefineContainerType; - active_writer.print_DefineVariableType = print_pajeDefineVariableType; - active_writer.print_DefineStateType = print_pajeDefineStateType; - active_writer.print_DefineEventType = print_pajeDefineEventType; - active_writer.print_DefineLinkType = print_pajeDefineLinkType; - active_writer.print_DefineEntityValue = print_pajeDefineEntityValue; - active_writer.print_CreateContainer = print_pajeCreateContainer; - active_writer.print_DestroyContainer = print_pajeDestroyContainer; - active_writer.print_SetVariable = print_pajeSetVariable; - active_writer.print_AddVariable = print_pajeAddVariable; - active_writer.print_SubVariable = print_pajeSubVariable; - active_writer.print_SetState = print_pajeSetState; - active_writer.print_PushState = print_pajePushState; - active_writer.print_PopState = print_pajePopState; - active_writer.print_ResetState = print_pajeResetState; - active_writer.print_StartLink = print_pajeStartLink; - active_writer.print_EndLink = print_pajeEndLink; - active_writer.print_NewEvent = print_pajeNewEvent; + active_writer.print_DefineContainerType = &print_pajeDefineContainerType; + active_writer.print_DefineVariableType = &print_pajeDefineVariableType; + active_writer.print_DefineStateType = &print_pajeDefineStateType; + active_writer.print_DefineEventType = &print_pajeDefineEventType; + active_writer.print_DefineLinkType = &print_pajeDefineLinkType; + active_writer.print_DefineEntityValue = &print_pajeDefineEntityValue; + active_writer.print_CreateContainer = &print_pajeCreateContainer; + active_writer.print_DestroyContainer = &print_pajeDestroyContainer; + active_writer.print_SetVariable = &print_pajeSetVariable; + active_writer.print_AddVariable = &print_pajeAddVariable; + active_writer.print_SubVariable = &print_pajeSubVariable; + active_writer.print_SetState = &print_pajeSetState; + active_writer.print_PushState = &print_pajePushState; + active_writer.print_PopState = &print_pajePopState; + active_writer.print_ResetState = &print_pajeResetState; + active_writer.print_StartLink = &print_pajeStartLink; + active_writer.print_EndLink = &print_pajeEndLink; + active_writer.print_NewEvent = &print_pajeNewEvent; } void TRACE_paje_start() { diff --git a/src/instr/instr_trace.cpp b/src/instr/instr_trace.cpp index 15c01584ca..c2ceae6e62 100644 --- a/src/instr/instr_trace.cpp +++ b/src/instr/instr_trace.cpp @@ -18,13 +18,9 @@ void print_NULL(paje_event_t event){} /* The active set of functions for the selected trace format * By default, they all do nothing, hence the print_NULL to avoid segfaults */ -s_instr_trace_writer_t active_writer = { - print_NULL, print_NULL, print_NULL, print_NULL, - print_NULL, print_NULL, print_NULL, print_NULL, - print_NULL, print_NULL, print_NULL, print_NULL, - print_NULL, print_NULL, print_NULL, print_NULL, - print_NULL, print_NULL -}; +s_instr_trace_writer_t active_writer = {&print_NULL, &print_NULL, &print_NULL, &print_NULL, &print_NULL, &print_NULL, + &print_NULL, &print_NULL, &print_NULL, &print_NULL, &print_NULL, &print_NULL, + &print_NULL, &print_NULL, &print_NULL, &print_NULL, &print_NULL, &print_NULL}; std::vector buffer; @@ -133,7 +129,7 @@ void new_pajeDefineContainerType(type_t type) event->event_type = PAJE_DefineContainerType; event->timestamp = 0; event->print = active_writer.print_DefineContainerType; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_defineContainerType_t, 1); ((defineContainerType_t)(event->data))->type = type; @@ -150,7 +146,7 @@ void new_pajeDefineVariableType(type_t type) event->event_type = PAJE_DefineVariableType; event->timestamp = 0; event->print = active_writer.print_DefineVariableType; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_defineVariableType_t, 1); ((defineVariableType_t)(event->data))->type = type; @@ -167,7 +163,7 @@ void new_pajeDefineStateType(type_t type) event->event_type = PAJE_DefineStateType; event->timestamp = 0; event->print = active_writer.print_DefineStateType; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_defineStateType_t, 1); ((defineStateType_t)(event->data))->type = type; @@ -184,7 +180,7 @@ void new_pajeDefineEventType(type_t type) event->event_type = PAJE_DefineEventType; event->timestamp = 0; event->print = active_writer.print_DefineEventType; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_defineEventType_t, 1); ((defineEventType_t)(event->data))->type = type; @@ -201,7 +197,7 @@ void new_pajeDefineLinkType(type_t type, type_t source, type_t dest) event->event_type = PAJE_DefineLinkType; event->timestamp = 0; event->print = active_writer.print_DefineLinkType; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_defineLinkType_t, 1); ((defineLinkType_t)(event->data))->type = type; ((defineLinkType_t)(event->data))->source = source; @@ -220,7 +216,7 @@ void new_pajeDefineEntityValue (val_t value) event->event_type = PAJE_DefineEntityValue; event->timestamp = 0; event->print = active_writer.print_DefineEntityValue; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_defineEntityValue_t, 1); ((defineEntityValue_t)(event->data))->value = value; @@ -237,7 +233,7 @@ void new_pajeCreateContainer (container_t container) event->event_type = PAJE_CreateContainer; event->timestamp = SIMIX_get_clock(); event->print = active_writer.print_CreateContainer; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_createContainer_t, 1); ((createContainer_t)(event->data))->container = container; @@ -254,7 +250,7 @@ void new_pajeDestroyContainer (container_t container) event->event_type = PAJE_DestroyContainer; event->timestamp = SIMIX_get_clock(); event->print = active_writer.print_DestroyContainer; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_destroyContainer_t, 1); ((destroyContainer_t)(event->data))->container = container; @@ -271,7 +267,7 @@ void new_pajeSetVariable (double timestamp, container_t container, type_t type, event->event_type = PAJE_SetVariable; event->timestamp = timestamp; event->print = active_writer.print_SetVariable; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_setVariable_t, 1); ((setVariable_t)(event->data))->type = type; ((setVariable_t)(event->data))->container = container; @@ -289,7 +285,7 @@ void new_pajeAddVariable (double timestamp, container_t container, type_t type, event->event_type = PAJE_AddVariable; event->timestamp = timestamp; event->print = active_writer.print_AddVariable; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_addVariable_t, 1); ((addVariable_t)(event->data))->type = type; ((addVariable_t)(event->data))->container = container; @@ -306,7 +302,7 @@ void new_pajeSubVariable (double timestamp, container_t container, type_t type, event->event_type = PAJE_SubVariable; event->timestamp = timestamp; event->print = active_writer.print_SubVariable; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_subVariable_t, 1); ((subVariable_t)(event->data))->type = type; ((subVariable_t)(event->data))->container = container; @@ -323,7 +319,7 @@ void new_pajeSetState (double timestamp, container_t container, type_t type, val event->event_type = PAJE_SetState; event->timestamp = timestamp; event->print = active_writer.print_SetState; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_setState_t, 1); ((setState_t)(event->data))->type = type; ((setState_t)(event->data))->container = container; @@ -349,7 +345,7 @@ void new_pajePushStateWithExtra (double timestamp, container_t container, type_t event->event_type = PAJE_PushState; event->timestamp = timestamp; event->print = active_writer.print_PushState; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_pushState_t, 1); ((pushState_t)(event->data))->type = type; ((pushState_t)(event->data))->container = container; @@ -381,7 +377,7 @@ void new_pajePopState (double timestamp, container_t container, type_t type) event->event_type = PAJE_PopState; event->timestamp = timestamp; event->print = active_writer.print_PopState; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_popState_t, 1); ((popState_t)(event->data))->type = type; ((popState_t)(event->data))->container = container; @@ -398,7 +394,7 @@ void new_pajeResetState (double timestamp, container_t container, type_t type) event->event_type = PAJE_ResetState; event->timestamp = timestamp; event->print = active_writer.print_ResetState; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_resetState_t, 1); ((resetState_t)(event->data))->type = type; ((resetState_t)(event->data))->container = container; @@ -415,7 +411,7 @@ void new_pajeStartLink (double timestamp, container_t container, type_t type, co event->event_type = PAJE_StartLink; event->timestamp = timestamp; event->print = active_writer.print_StartLink; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_startLink_t, 1); ((startLink_t)(event->data))->type = type; ((startLink_t)(event->data))->container = container; @@ -435,7 +431,7 @@ void new_pajeStartLinkWithSize (double timestamp, container_t container, type_t event->event_type = PAJE_StartLink; event->timestamp = timestamp; event->print = active_writer.print_StartLink; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_startLink_t, 1); ((startLink_t)(event->data))->type = type; ((startLink_t)(event->data))->container = container; @@ -456,7 +452,7 @@ void new_pajeEndLink (double timestamp, container_t container, type_t type, cont event->event_type = PAJE_EndLink; event->timestamp = timestamp; event->print = active_writer.print_EndLink; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_endLink_t, 1); ((endLink_t)(event->data))->type = type; ((endLink_t)(event->data))->container = container; @@ -475,7 +471,7 @@ void new_pajeNewEvent (double timestamp, container_t container, type_t type, val event->event_type = PAJE_NewEvent; event->timestamp = timestamp; event->print = active_writer.print_NewEvent; - event->free = free_paje_event; + event->free = &free_paje_event; event->data = xbt_new0(s_newEvent_t, 1); ((newEvent_t)(event->data))->type = type; ((newEvent_t)(event->data))->container = container; diff --git a/src/msg/msg_global.cpp b/src/msg/msg_global.cpp index dc72b646be..77bd28c8ad 100644 --- a/src/msg/msg_global.cpp +++ b/src/msg/msg_global.cpp @@ -42,7 +42,7 @@ void MSG_init_nocheck(int *argc, char **argv) { TRACE_global_init(argc, argv); - xbt_getpid = MSG_process_self_PID; + xbt_getpid = &MSG_process_self_PID; if (!msg_global) { msg_global = xbt_new0(s_MSG_Global_t, 1); diff --git a/src/xbt/automaton/automaton.c b/src/xbt/automaton/automaton.c index 8be963d7ff..31ab17c9a5 100644 --- a/src/xbt/automaton/automaton.c +++ b/src/xbt/automaton/automaton.c @@ -210,7 +210,7 @@ xbt_automaton_propositional_symbol_t xbt_automaton_propositional_symbol_new(xbt_ xbt_automaton_propositional_symbol_t prop_symb = NULL; prop_symb = xbt_new0(struct xbt_automaton_propositional_symbol, 1); prop_symb->pred = xbt_strdup(id); - prop_symb->callback = call_simple_function; + prop_symb->callback = &call_simple_function; prop_symb->data = fct; prop_symb->free_function = NULL; xbt_dynar_push(a->propositional_symbols, &prop_symb); @@ -344,12 +344,11 @@ static void xbt_automaton_exp_label_free(xbt_automaton_exp_label_t e); static void xbt_automaton_propositional_symbol_free(xbt_automaton_propositional_symbol_t ps); void xbt_automaton_state_free(xbt_automaton_state_t s){ - if(s){ + if (s != NULL) { xbt_free(s->id); xbt_dynar_free(&(s->in)); xbt_dynar_free(&(s->out)); xbt_free(s); - s = NULL; } } diff --git a/src/xbt/parmap.cpp b/src/xbt/parmap.cpp index 7a0fab39db..074b53cd45 100644 --- a/src/xbt/parmap.cpp +++ b/src/xbt/parmap.cpp @@ -180,10 +180,10 @@ static void xbt_parmap_set_mode(xbt_parmap_t parmap, e_xbt_parmap_mode_t mode) switch (mode) { case XBT_PARMAP_POSIX: - parmap->master_wait_f = xbt_parmap_posix_master_wait; - parmap->worker_signal_f = xbt_parmap_posix_worker_signal; - parmap->master_signal_f = xbt_parmap_posix_master_signal; - parmap->worker_wait_f = xbt_parmap_posix_worker_wait; + parmap->master_wait_f = &xbt_parmap_posix_master_wait; + parmap->worker_signal_f = &xbt_parmap_posix_worker_signal; + parmap->master_signal_f = &xbt_parmap_posix_master_signal; + parmap->worker_wait_f = &xbt_parmap_posix_worker_wait; parmap->ready_cond = xbt_os_cond_init(); parmap->ready_mutex = xbt_os_mutex_init(); @@ -192,10 +192,10 @@ static void xbt_parmap_set_mode(xbt_parmap_t parmap, e_xbt_parmap_mode_t mode) break; case XBT_PARMAP_FUTEX: #if HAVE_FUTEX_H - parmap->master_wait_f = xbt_parmap_futex_master_wait; - parmap->worker_signal_f = xbt_parmap_futex_worker_signal; - parmap->master_signal_f = xbt_parmap_futex_master_signal; - parmap->worker_wait_f = xbt_parmap_futex_worker_wait; + parmap->master_wait_f = &xbt_parmap_futex_master_wait; + parmap->worker_signal_f = &xbt_parmap_futex_worker_signal; + parmap->master_signal_f = &xbt_parmap_futex_master_signal; + parmap->worker_wait_f = &xbt_parmap_futex_worker_wait; xbt_os_cond_destroy(parmap->ready_cond); xbt_os_mutex_destroy(parmap->ready_mutex); @@ -206,10 +206,10 @@ static void xbt_parmap_set_mode(xbt_parmap_t parmap, e_xbt_parmap_mode_t mode) xbt_die("Futex is not available on this OS."); #endif case XBT_PARMAP_BUSY_WAIT: - parmap->master_wait_f = xbt_parmap_busy_master_wait; - parmap->worker_signal_f = xbt_parmap_busy_worker_signal; - parmap->master_signal_f = xbt_parmap_busy_master_signal; - parmap->worker_wait_f = xbt_parmap_busy_worker_wait; + parmap->master_wait_f = &xbt_parmap_busy_master_wait; + parmap->worker_signal_f = &xbt_parmap_busy_worker_signal; + parmap->master_signal_f = &xbt_parmap_busy_master_signal; + parmap->worker_wait_f = &xbt_parmap_busy_worker_wait; xbt_os_cond_destroy(parmap->ready_cond); xbt_os_mutex_destroy(parmap->ready_mutex); diff --git a/src/xbt/xbt_log_appender_file.c b/src/xbt/xbt_log_appender_file.c index 0fa6906530..93887340cf 100644 --- a/src/xbt/xbt_log_appender_file.c +++ b/src/xbt/xbt_log_appender_file.c @@ -30,10 +30,10 @@ xbt_log_appender_t xbt_log_appender_file_new(char *arg) { xbt_log_appender_t res = xbt_new0(s_xbt_log_appender_t, 1); if (_XBT_LOGV(smpi).initialized) // HACK to detect if we run in SMPI mode. Relies on MAIN__ source disposition - res->do_append = smpi_append_file; + res->do_append = &smpi_append_file; else - res->do_append = append_file; - res->free_ = free_; + res->do_append = &append_file; + res->free_ = &free_; if (arg) res->data = (void *) fopen(arg, "w"); else @@ -111,10 +111,10 @@ xbt_log_appender_t xbt_log_appender2_file_new(char *arg,int roll) { xbt_log_appender_t res = xbt_new0(s_xbt_log_appender_t, 1); if (_XBT_LOGV(smpi).initialized) // HACK to detect if we run in SMPI mode. Relies on MAIN__ source disposition - res->do_append = smpi_append2_file; + res->do_append = &smpi_append2_file; else - res->do_append = append2_file; - res->free_ = free_append2_; + res->do_append = &append2_file; + res->free_ = &free_append2_; xbt_log_append2_file_t data = xbt_new0(struct xbt_log_append2_file_s, 1); xbt_assert(arg); char* buf=xbt_strdup(arg); diff --git a/src/xbt/xbt_log_layout_format.c b/src/xbt/xbt_log_layout_format.c index b9168c9048..4dca16363e 100644 --- a/src/xbt/xbt_log_layout_format.c +++ b/src/xbt/xbt_log_layout_format.c @@ -215,8 +215,8 @@ static void xbt_log_layout_format_free(xbt_log_layout_t lay) xbt_log_layout_t xbt_log_layout_format_new(char *arg) { xbt_log_layout_t res = xbt_new0(s_xbt_log_layout_t, 1); - res->do_layout = xbt_log_layout_format_doit; - res->free_ = xbt_log_layout_format_free; + res->do_layout = &xbt_log_layout_format_doit; + res->free_ = &xbt_log_layout_format_free; res->data = xbt_strdup((char *) arg); if (format_begin_of_time < 0) diff --git a/src/xbt/xbt_log_layout_simple.c b/src/xbt/xbt_log_layout_simple.c index 7af08811a2..c709fca855 100644 --- a/src/xbt/xbt_log_layout_simple.c +++ b/src/xbt/xbt_log_layout_simple.c @@ -76,7 +76,7 @@ static int xbt_log_layout_simple_doit(xbt_log_layout_t l, xbt_log_event_t ev, co xbt_log_layout_t xbt_log_layout_simple_new(char *arg) { xbt_log_layout_t res = xbt_new0(s_xbt_log_layout_t, 1); - res->do_layout = xbt_log_layout_simple_doit; + res->do_layout = &xbt_log_layout_simple_doit; if (simple_begin_of_time < 0) simple_begin_of_time = surf_get_clock(); diff --git a/src/xbt/xbt_virtu.c b/src/xbt/xbt_virtu.c index a655f45202..b35f23a91e 100644 --- a/src/xbt/xbt_virtu.c +++ b/src/xbt/xbt_virtu.c @@ -15,7 +15,7 @@ static int xbt_fake_pid(void) return 0; } -int_f_void_t xbt_getpid = xbt_fake_pid; +int_f_void_t xbt_getpid = &xbt_fake_pid; const char *xbt_procname(void) { diff --git a/teshsuite/msg/pid/pid.c b/teshsuite/msg/pid/pid.c index f47aa0741b..3a30fc54a5 100644 --- a/teshsuite/msg/pid/pid.c +++ b/teshsuite/msg/pid/pid.c @@ -31,10 +31,9 @@ static int sendpid(int argc, char *argv[]) static int killall(int argc, char *argv[]){ msg_task_t task = NULL; - XBT_ATTRIB_UNUSED int res; for (int i=0; i<3;i++) { - res = MSG_task_receive(&(task), mailbox); + MSG_task_receive(&(task), mailbox); int pid = *(int*)MSG_task_get_data(task); MSG_task_destroy(task); XBT_INFO("Killing process \"%d\".", pid); diff --git a/teshsuite/xbt/parmap_bench/parmap_bench.c b/teshsuite/xbt/parmap_bench/parmap_bench.c index f28a54f4ca..a3f1b0fd42 100644 --- a/teshsuite/xbt/parmap_bench/parmap_bench.c +++ b/teshsuite/xbt/parmap_bench/parmap_bench.c @@ -183,7 +183,7 @@ int main(int argc, char *argv[]) printf("Parmap benchmark with %d workers (modes = %#x)...\n\n", nthreads, modes); - fun_to_apply = fun_small_comp; + fun_to_apply = &fun_small_comp; printf("Benchmark for parmap create+apply+destroy (small comp):\n"); bench_all_modes(bench_parmap_full, nthreads, modes); @@ -193,7 +193,7 @@ int main(int argc, char *argv[]) bench_all_modes(bench_parmap_apply, nthreads, modes); printf("\n"); - fun_to_apply = fun_big_comp; + fun_to_apply = &fun_big_comp; printf("Benchmark for parmap create+apply+destroy (big comp):\n"); bench_all_modes(bench_parmap_full, nthreads, modes); -- 2.20.1