[LTP] Make global vars/funcs static, where possible #879
Cyril Hrubis
chrubis@suse.cz
Wed Nov 3 14:03:11 CET 2021
Hi!
First of all the mine type for the attachment is still wrong, it should
be text/plain.
> -char *TCID = "abs01";
> -int local_flag = PASSED;
> -int block_number;
> -FILE *temp;
> -int TST_TOTAL = 1;
> +static const char *TCID = "abs01";
Actually this is wrong, the test library makes use fo the TCID so it's
not supposed to be static.
> +static int local_flag = PASSED;
> +static int block_number;
> +static FILE *temp;
> +static int TST_TOTAL = 1;
Same for the TST_TOTAL. See lib/tst_res.c line 123.
> static void setup(void);
> static int blenter(void);
> diff --git a/testcases/misc/math/atof/atof01.c
> b/testcases/misc/math/atof/atof01.c
> index 98d085abb..67d904810 100644
> --- a/testcases/misc/math/atof/atof01.c
> +++ b/testcases/misc/math/atof/atof01.c
> @@ -49,16 +49,16 @@
> /***** *****/
> #define ERR 0.0000001
>
> -double pi;
> +static double pi;
>
> /*char progname[]= "atof1()"; */
> /** LTP Port **/
> -char *TCID = "atof01"; /* Test program identifier */
> +static const char *TCID = "atof01"; /* Test program
> identifier */
>
> -int local_flag = PASSED;
> -int block_number;
> -FILE *temp;
> -int TST_TOTAL = 1;
> +static int local_flag = PASSED;
> +static int block_number;
> +static FILE *temp;
> +static int TST_TOTAL = 1;
>
> static void setup(void);
> static void blenter(void);
> diff --git a/testcases/misc/math/float/main.c
> b/testcases/misc/math/float/main.c
> index 7285141a4..fecc154e5 100644
> --- a/testcases/misc/math/float/main.c
> +++ b/testcases/misc/math/float/main.c
> @@ -29,13 +29,13 @@
>
> #define SAFE_FREE(p) { if (p) { free(p); (p)=NULL; } }
> /* LTP status reporting */
> -char *TCID; /* Test program identifier. */
> -int TST_TOTAL = 1; /* Total number of test cases. */
> +static char *TCID; /* Test program identifier.
> */
> +static int TST_TOTAL = 1; /* Total number of test cases.
> */
>
> /* To avoid extensive modifications to the code, use this bodge */
> #define exit(x) myexit(x)
>
> -void myexit(int x)
> +static void myexit(int x)
> {
> if (x)
> tst_resm(TFAIL, "Test failed");
> @@ -44,45 +44,45 @@ void myexit(int x)
> tst_exit();
> }
>
> -TH_DATA *pcom;
> -TH_DATA **tabcom;
> -TH_DATA **tabcour;
> +static TH_DATA *pcom;
> +static TH_DATA **tabcom;
> +static TH_DATA **tabcour;
> #ifndef PATH_MAX
> #define PATH_MAX 1024
> #endif
> -char datadir[PATH_MAX]; /* DATA directory */
> +static char datadir[PATH_MAX]; /* DATA directory */
>
> #ifndef PTHREAD_THREADS_MAX
> #define PTHREAD_THREADS_MAX 1024
> #endif
> #define DEFAULT_NUM_THREADS 20
> -int num_threads = DEFAULT_NUM_THREADS;
> -int num_loops = 500;
> +static int num_threads = DEFAULT_NUM_THREADS;
> +static int num_loops = 500;
>
> -int sig_cancel = 0; /* flag set by handle_signals to tell
> initial thread
> +static int sig_cancel = 0; /* flag set by handle_signals
> to tell initial thread
> to stop creating new threads (signal
> caught) */
>
> -int indice = 0; /* # of threads created, to be
> canceled by handle_signals
> +static int indice = 0; /* # of threads created, to be
> canceled by handle_signals
> or waited for by initial thread */
>
> -pthread_mutex_t sig_mutex;
> -pthread_t *threads;
> +static pthread_mutex_t sig_mutex;
> +static pthread_t *threads;
>
> -int debug = 0;
> -int true = 1;
> +static int debug = 0;
> +static int is_true = 1;
>
> static void *handle_signals(void *);
>
> static void sys_error(const char *, int);
>
> -const double EPS = 0.1e-300;
> +static const double EPS = 0.1e-300;
>
> -const int nb_func = NB_FUNC;
> +static const int nb_func = NB_FUNC;
>
> -int generate(char *datadir, char *bin_path)
> +static int generate(char *datadir, char *bin_path)
> {
> char *cmdline;
> - char *fmt = "cd %s; %s/%s %s";
> + const char *fmt = "cd %s; %s/%s %s";
>
> cmdline = malloc(2 * strlen(bin_path) + strlen(datadir) +
> strlen(GENERATOR) + strlen(fmt));
> if (cmdline == NULL)
> @@ -229,7 +229,7 @@ int main(int argc, char *argv[])
>
> indice = 0;
> for (i = 0; i < nb_func; i++) {
> -
> + tst_resm(TINFO, " > running test %d", i+1);
> for (th_num = 0; th_num < num_threads; th_num++) {
>
> /* allocate struct of commucation with the
> thread */
> @@ -237,7 +237,7 @@ int main(int argc, char *argv[])
> if (pcom == NULL)
> tst_brkm(TFAIL | TERRNO, cleanup,
> "calloc failed");
> - *tabcour = (TH_DATA *) pcom;
> + *tabcour = pcom;
> tabcour++;
> /*
> * update structure of communication
> @@ -252,7 +252,7 @@ int main(int argc, char *argv[])
> goto finished;
> }
> retval = pthread_create(&threads[indice],
> &newattr,
> - thread_code, (void
> *)pcom);
> + thread_code, pcom);
> if (retval != 0)
> sys_error("main : create FAILED",
> __LINE__);
> indice++;
> diff --git a/testcases/misc/math/float/tfloat.h
> b/testcases/misc/math/float/tfloat.h
> index 50cb73d10..438bbe728 100644
> --- a/testcases/misc/math/float/tfloat.h
> +++ b/testcases/misc/math/float/tfloat.h
> @@ -53,11 +53,7 @@
> #define FUNC_LDEXP 7
> #define FUNC_GAM 8
>
> -extern void * thread_code(void *);
> -
> -/* global variables, constants or initialized by main() */
> -extern const double EPS; /* 0.1e-300 */
> -extern int true, num_threads;
And these three constansts seem to be shared between thread_code.c and
main.c. I guess that proper fix would be to propagate them to the
TH_DATA structure.
> +static void * thread_code(void *);
>
> /*
> * TH_DATA structures
> @@ -102,6 +98,4 @@ typedef struct {
> TH_FUNC th_func;
> } TH_DATA;
>
> -extern const TH_FUNC th_func[];
This one as well, appears to be shared between different C source files.
> #endif /* ifndef _TFLOAT_H */
> diff --git a/testcases/misc/math/float/thread_code.c
> b/testcases/misc/math/float/thread_code.c
> index ca18cef1e..125a60c15 100644
> --- a/testcases/misc/math/float/thread_code.c
> +++ b/testcases/misc/math/float/thread_code.c
> @@ -274,7 +274,7 @@ static void compute_ldexp(TH_DATA * th_data, double
> *din, double *dex,
> * pointer to a TH_DATA structure.
> *
> */
> -void *thread_code(void *arg)
> +static void *thread_code(void *arg)
> {
> TH_DATA *th_data = (TH_DATA *) arg;
> size_t fsize, fsize2, fsize3;
> diff --git a/testcases/misc/math/fptests/fptest01.c
> b/testcases/misc/math/fptests/fptest01.c
> index 2072dced6..76d5b0121 100644
> --- a/testcases/misc/math/fptests/fptest01.c
> +++ b/testcases/misc/math/fptests/fptest01.c
> @@ -61,8 +61,8 @@
> /** LTP Port **/
> #include "test.h"
>
> -char *TCID = "fptest01"; /* Test program identifier. */
> -int TST_TOTAL = 1; /* Total number of test cases. */
> +static const char *TCID = "fptest01"; /* Test program identifier.
> */
> +static int TST_TOTAL = 1; /* Total number of test cases.
> */
> /**************/
>
> struct event {
> @@ -79,19 +79,19 @@ static int addevent(int, int, double);
> static void gaussinit(double, double);
> static double gauss(void);
>
> -struct event eventtab[EVENTMX];
> -struct event rtrevent;
> -int waiting[EVENTMX]; /* array of waiting processors */
> -int nwaiting; /* number of waiting processors */
> -double global_time; /* global clock */
> -double lsttime; /* time used for editing */
> -double dtc, dts, alpha; /* timing parameters */
> -int nproc; /* number of processors */
> -int barcnt; /* number of processors ATBARRIER */
> -int ncycle; /* number of cycles completed */
> -int ncycmax; /* number of cycles to run */
> -int critfree; /* TRUE if critical section not
> occupied */
> -int gcount; /* # calls to gauss */
> +static struct event eventtab[EVENTMX];
> +static struct event rtrevent;
> +static int waiting[EVENTMX]; /* array of waiting processors
> */
> +static int nwaiting; /* number of waiting processors
> */
> +static double global_time; /* global clock */
> +static double lsttime; /* time used for editing */
> +static double dtc, dts, alpha; /* timing parameters */
> +static int nproc; /* number of processors */
> +static int barcnt; /* number of processors
> ATBARRIER */
> +static int ncycle; /* number of cycles completed
> */
> +static int ncycmax; /* number of cycles to run */
> +static int critfree; /* TRUE if critical section not
> occupied */
> +static int gcount; /* # calls to gauss */
>
> static struct event *nextevent(void);
>
> diff --git a/testcases/misc/math/fptests/fptest02.c
> b/testcases/misc/math/fptests/fptest02.c
> index e6b49feb9..5bb849d65 100644
> --- a/testcases/misc/math/fptests/fptest02.c
> +++ b/testcases/misc/math/fptests/fptest02.c
> @@ -61,8 +61,8 @@
> /** LTP Port **/
> #include "test.h"
>
> -char *TCID = "fptest02"; /* Test program identifier. */
> -int TST_TOTAL = 1; /* Total number of test cases. */
> +static const char *TCID = "fptest02"; /* Test program identifier.
> */
> +static int TST_TOTAL = 1; /* Total number of test cases.
> */
> /**************/
>
> struct event {
> @@ -79,18 +79,18 @@ static int addevent(int, int, double);
> static void gaussinit(double, double, int);
> static double gauss(void);
>
> -struct event eventtab[EVENTMX];
> -struct event rtrevent;
> -int waiting[EVENTMX]; /* array of waiting processors */
> -int nwaiting; /* number of waiting processors */
> -double sgtime; /* global clock */
> -double lsttime; /* time used for editing */
> -double dtc, dts, alpha; /* timing parameters */
> -int nproc; /* number of processors */
> -int barcnt; /* number of processors ATBARRIER */
> -int ncycle; /* number of cycles completed */
> -int ncycmax; /* number of cycles to run */
> -int critfree; /* TRUE if critical section not
> occupied */
> +static struct event eventtab[EVENTMX];
> +static struct event rtrevent;
> +static int waiting[EVENTMX]; /* array of waiting processors
> */
> +static int nwaiting; /* number of waiting processors
> */
> +static double sgtime; /* global clock */
> +static double lsttime; /* time used for editing */
> +static double dtc, dts, alpha; /* timing parameters */
> +static int nproc; /* number of processors */
> +static int barcnt; /* number of processors
> ATBARRIER */
> +static int ncycle; /* number of cycles completed
> */
> +static int ncycmax; /* number of cycles to run */
> +static int critfree; /* TRUE if critical section not
> occupied */
>
> static struct event *nextevent(void );
>
> diff --git a/testcases/misc/math/nextafter/nextafter01.c
> b/testcases/misc/math/nextafter/nextafter01.c
> index f4b212d4d..6faa4a7a5 100644
> --- a/testcases/misc/math/nextafter/nextafter01.c
> +++ b/testcases/misc/math/nextafter/nextafter01.c
> @@ -43,16 +43,16 @@
> #define FAILED 0
> #define PASSED 1
>
> -char *TCID = "nextafter01";
> +static const char *TCID = "nextafter01";
>
> -int local_flag = PASSED;
> -int block_number;
> -FILE *temp;
> -int TST_TOTAL = 1;
> +static int local_flag = PASSED;
> +static int block_number;
> +static FILE *temp;
> +static int TST_TOTAL = 1;
>
> -void setup();
> -void blenter();
> -void blexit();
> +static void setup();
> +static void blenter();
> +static void blexit();
>
> /*--------------------------------------------------------------*/
> int main()
> --
> 2.25.1
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list