Fix Q_TOSTR(3) with GCC when it's called with first parameter being const.
Discussed with: cem MFC after: 2 weeks Sponsored by: Klara Inc, Netflix Differential Revision: https://reviews.freebsd.org/D21766
This commit is contained in:
parent
d046858b85
commit
4ed8c79723
@ -58,11 +58,16 @@ typedef uint64_t u64q_t;
|
||||
typedef s64q_t smaxq_t;
|
||||
typedef u64q_t umaxq_t;
|
||||
|
||||
#if defined(__GNUC__)
|
||||
/* Ancient GCC hack to de-const, remove when GCC4 is removed. */
|
||||
#define Q_BT(q) __typeof(1 * q)
|
||||
#else
|
||||
/* The underlying base type of 'q'. */
|
||||
#define Q_BT(q) __typeof(q)
|
||||
#endif
|
||||
|
||||
/* Type-cast variable 'v' to the same underlying type as 'q'. */
|
||||
#define Q_TC(q, v) ((Q_BT(q))(v))
|
||||
#define Q_TC(q, v) ((__typeof(q))(v))
|
||||
|
||||
/* Number of total bits associated with the data type underlying 'q'. */
|
||||
#define Q_NTBITS(q) ((uint32_t)(sizeof(q) << 3))
|
||||
|
Loading…
x
Reference in New Issue
Block a user