[PATCH] basedefs: Add stringification of argument lists

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Feb 8 06:54:54 UTC 2021


On 14/12/2020 09:44, Sebastian Huber wrote:

> Change RTEMS_STRING() and RTEMS_XSTRING() to accept a variable number of
> arguments which is stringified.  This can be used for example to create
> register lists for inline assembler statements.
> ---
>   cpukit/include/rtems/score/basedefs.h | 16 ++++++++--------
>   1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/cpukit/include/rtems/score/basedefs.h b/cpukit/include/rtems/score/basedefs.h
> index 0081dbfbe4..87a693e180 100644
> --- a/cpukit/include/rtems/score/basedefs.h
> +++ b/cpukit/include/rtems/score/basedefs.h
> @@ -335,13 +335,13 @@ extern "C" {
>   /**
>    * @ingroup RTEMSAPIBaseDefs
>    *
> - * @brief Stringifies _x without expanding.
> + * @brief Stringifies the arguments without expanding them.
>    *
> - * @param _x is the token to stringify.
> + * @param ... are the arguments to stringify.
>    *
> - * @return Returns the stringification of the token _x.
> + * @return Returns the stringification of the arguments.
>    */
> -#define RTEMS_STRING( _x ) #_x
> +#define RTEMS_STRING( ... ) #__VA_ARGS__
>   
>   /* Generated from spec:/rtems/basedefs/if/typeof-refx */
>   
> @@ -898,13 +898,13 @@ extern "C" {
>   /**
>    * @ingroup RTEMSAPIBaseDefs
>    *
> - * @brief Stringifies the expansion of _x.
> + * @brief Stringifies the expansion of the arguments.
>    *
> - * @param _x is the token expand and stringify.
> + * @param ... are the arguments to expand and stringify.
>    *
> - * @return Returns the stringification of the expansion of token _x.
> + * @return Returns the stringification of the expansion of the arguments.
>    */
> -#define RTEMS_XSTRING( _x ) RTEMS_STRING( _x )
> +#define RTEMS_XSTRING( ... ) RTEMS_STRING( __VA_ARGS__ )
>   
>   /* Generated from spec:/rtems/basedefs/if/define-global-symbol */
Any objections to push this? It makes the macro a bit more flexible. 
Linux uses the same approach.

-- 
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/



More information about the devel mailing list