patch [#30227] Various MSVC (32-bit) Warning and Typo Fixes
[blender-staging.git] / source / blender / blenlib / BLI_utildefines.h
index 4a5ccd311c602060739ddaafe48552bcd725465f..ef8a6015adb9677108db5b6edd753dcfe7a933cd 100644 (file)
 #define GET_INT_FROM_POINTER(i) ((int)(intptr_t)(i))
 
 /* Macro to convert a value to string in the preprocessor
- * STRINGIFY_ARG: gives the defined name in the string
- * STRINGIFY: gives the defined value. */
-#define STRINGIFY_ARG(x) #x
-#define STRINGIFY(x) STRINGIFY_ARG(x)
+ * STRINGIFY_ARG: gives the argument as a string
+ * STRINGIFY_APPEND: appends any argument 'b' onto the string argument 'a',
+ *   used by STRINGIFY because some preprocessors warn about zero arguments
+ * STRINGIFY: gives the argument's value as a string */
+#define STRINGIFY_ARG(x) "" #x
+#define STRINGIFY_APPEND(a, b) "" a #b
+#define STRINGIFY(x) STRINGIFY_APPEND("", x)
 
 /* useful for debugging */
 #define AT __FILE__ ":" STRINGIFY(__LINE__)