#endif
/*
- * Macro that allows to cast constness away from a variable, but doesn't
+ * Macro that allows to cast constness away from an expression, but doesn't
* allow changing the underlying type. Enforcement of the latter
* currently only works for gcc like compilers.
*
- * Please note IT IS NOT SAFE to cast constness away if the variable will ever
+ * Please note IT IS NOT SAFE to cast constness away if the result will ever
* be modified (it would be undefined behaviour). Doing so anyway can cause
* compiler misoptimizations or runtime crashes (modifying readonly memory).
- * It is only safe to use when the the variable will not be modified, but API
+ * It is only safe to use when the the result will not be modified, but API
* design or language restrictions prevent you from declaring that
* (e.g. because a function returns both const and non-const variables).
*
* be nice, but not trivial, to improve that).
*/
#if defined(HAVE__BUILTIN_TYPES_COMPATIBLE_P)
-#define unconstify(underlying_type, var) \
- (StaticAssertExpr(__builtin_types_compatible_p(__typeof(var), const underlying_type), \
+#define unconstify(underlying_type, expr) \
+ (StaticAssertExpr(__builtin_types_compatible_p(__typeof(expr), const underlying_type), \
"wrong cast"), \
- (underlying_type) (var))
+ (underlying_type) (expr))
#else
-#define unconstify(underlying_type, var) \
- ((underlying_type) (var))
+#define unconstify(underlying_type, expr) \
+ ((underlying_type) (expr))
#endif
/* ----------------------------------------------------------------