[LTP] [PATCH] pthread_barrier_init: remove the restrict limit

Richard Palethorpe rpalethorpe@suse.de
Tue Oct 18 10:48:06 CEST 2022


Hello,

Li Wang <liwang@redhat.com> writes:

> The restrict keyword tells the compiler that a given pointer
> does not alias any other pointer in the same context. But this
> is only supported by C99.
>
> To make older platforms compilinng LTP successful, we have to cancel
> that limitation in function definition.
>
> Fix error: https://github.com/linux-test-project/ltp/actions/runs/3263823142/jobs/5363481739
>
> Signed-off-by: Li Wang <liwang@redhat.com>

Sure, we don't care about this optimization. If it were a safety feature
I would suggest adding macros with an empty fallback.

Acked-by: Richard Palethorpe <rpalethorpe@suse.com>

> ---
>
> Notes:
>       I also considering adding "-std=gun99" for compiling the whole library,
>       but not sure if this could bring a bigger potential impact on
> LTP.

It would be nice to at least use C99, but I guess we can wait a bit
longer until centos7 is EOL.

>
>  include/tst_safe_pthread.h | 4 ++--
>  lib/safe_pthread.c         | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/include/tst_safe_pthread.h b/include/tst_safe_pthread.h
> index cc6da2de8..8fb553929 100644
> --- a/include/tst_safe_pthread.h
> +++ b/include/tst_safe_pthread.h
> @@ -41,8 +41,8 @@ int safe_pthread_barrier_destroy(const char *file, const int lineno,
>  	safe_pthread_barrier_destroy(__FILE__, __LINE__, barrier);
>  
>  int safe_pthread_barrier_init(const char *file, const int lineno,
> -			      pthread_barrier_t *restrict barrier,
> -			      const pthread_barrierattr_t *restrict attr,
> +			      pthread_barrier_t *barrier,
> +			      const pthread_barrierattr_t *attr,
>  			      unsigned count);
>  #define SAFE_PTHREAD_BARRIER_INIT(barrier, attr, count) \
>  	safe_pthread_barrier_init(__FILE__, __LINE__, barrier, attr, count);
> diff --git a/lib/safe_pthread.c b/lib/safe_pthread.c
> index d7bfee4cc..d70bb8707 100644
> --- a/lib/safe_pthread.c
> +++ b/lib/safe_pthread.c
> @@ -90,8 +90,8 @@ int safe_pthread_cancel(const char *file, const int lineno,
>  }
>  
>  int safe_pthread_barrier_init(const char *file, const int lineno,
> -			      pthread_barrier_t *restrict barrier,
> -			      const pthread_barrierattr_t *restrict attr,
> +			      pthread_barrier_t *barrier,
> +			      const pthread_barrierattr_t *attr,
>  			      unsigned count)
>  {
>  	int rval;


-- 
Thank you,
Richard.


More information about the ltp mailing list