Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 24 May 2023 10:25:49 -0400
From: Rich Felker <dalias@...c.org>
To: Jens Gustedt <Jens.Gustedt@...ia.fr>
Cc: musl@...ts.openwall.com
Subject: Re: [C23 divers headers 10/17] C23: remove the contents of
 stdalign.h

On Wed, Apr 19, 2023 at 01:48:23PM +0200, Jens Gustedt wrote:
> This now has no contents because the features have been promoted to
> keywords.
> ---
>  include/stdalign.h | 18 +++++++++---------
>  1 file changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/include/stdalign.h b/include/stdalign.h
> index 2cc94be3..477ae69c 100644
> --- a/include/stdalign.h
> +++ b/include/stdalign.h
> @@ -1,20 +1,20 @@
> -#ifndef _STDALIGN_H
> -#define _STDALIGN_H
> +#ifndef __STDC_VERSION_STDALIGN_H__
> +#define __STDC_VERSION_STDALIGN_H__ 202311L
>  
>  #ifndef __cplusplus
>  
>  /* this whole header only works in C11 or with compiler extensions */
>  #if __STDC_VERSION__ < 201112L && defined( __GNUC__)
> -#define _Alignas(t) __attribute__((__aligned__(t)))
> -#define _Alignof(t) __alignof__(t)
> -#endif
> -
> -#define alignas _Alignas
> -#define alignof _Alignof
> -
> +# define _Alignas(t) __attribute__((__aligned__(t)))
> +# define _Alignof(t) __alignof__(t)
>  #endif
>  
> +/* Starting with C23 this header has no contents because these are keywords. */
> +#if __STDC_VERSION__ < 202311L
>  #define __alignas_is_defined 1
>  #define __alignof_is_defined 1
> +#endif
> +
> +#endif
>  
>  #endif
> -- 
> 2.34.1

This needs to be conditional on C version. The existing logic should
not be removed but should be skipped for C23. While we will only
support strict namespace conformance for latest C (and for subtle
behavioral things), we don't gratuitously drop support for old
versions of the standard completely like this.

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.