[PATCH] basedefs: Add stringification of argument lists

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Dec 14 08:44:39 UTC 2020


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 */
 
-- 
2.26.2



More information about the devel mailing list