includes: Resolve some minor C++ incompatibilties

This commit is contained in:
Matt Borgerson 2020-03-12 02:38:24 -07:00
parent 658b354723
commit 64cacd4564
4 changed files with 20 additions and 6 deletions

View File

@ -70,7 +70,7 @@
unsigned long name[BITS_TO_LONGS(bits)]
#define small_nbits(nbits) \
((nbits) <= BITS_PER_LONG)
((unsigned long)(nbits) <= BITS_PER_LONG)
int slow_bitmap_empty(const unsigned long *bitmap, long bits);
int slow_bitmap_full(const unsigned long *bitmap, long bits);
@ -93,7 +93,7 @@ long slow_bitmap_count_one(const unsigned long *bitmap, long nbits);
static inline unsigned long *bitmap_try_new(long nbits)
{
long len = BITS_TO_LONGS(nbits) * sizeof(unsigned long);
return g_try_malloc0(len);
return (unsigned long *)g_try_malloc0(len);
}
static inline unsigned long *bitmap_new(long nbits)
@ -265,9 +265,9 @@ static inline unsigned long *bitmap_zero_extend(unsigned long *old,
long old_nbits, long new_nbits)
{
long new_len = BITS_TO_LONGS(new_nbits) * sizeof(unsigned long);
unsigned long *new = g_realloc(old, new_len);
bitmap_clear(new, old_nbits, new_nbits - old_nbits);
return new;
unsigned long *new_ = (unsigned long *)g_realloc(old, new_len);
bitmap_clear(new_, old_nbits, new_nbits - old_nbits);
return new_;
}
void bitmap_to_le(unsigned long *dst, const unsigned long *src,

View File

@ -90,7 +90,11 @@
* message (but as it remains present in the source code, it can still
* be useful when debugging). */
#if defined(CONFIG_STATIC_ASSERT)
#ifdef __cplusplus
#define QEMU_BUILD_BUG_MSG(x, msg) static_assert(!(x), msg)
#else
#define QEMU_BUILD_BUG_MSG(x, msg) _Static_assert(!(x), msg)
#endif
#elif defined(__COUNTER__)
#define QEMU_BUILD_BUG_MSG(x, msg) typedef QEMU_BUILD_BUG_ON_STRUCT(x) \
glue(qemu_build_bug_on__, __COUNTER__) __attribute__((unused))

View File

@ -527,7 +527,7 @@ static inline QEMUTimer *timer_new_full(QEMUTimerListGroup *timer_list_group,
int scale, int attributes,
QEMUTimerCB *cb, void *opaque)
{
QEMUTimer *ts = g_malloc0(sizeof(QEMUTimer));
QEMUTimer *ts = (QEMUTimer *)g_malloc0(sizeof(QEMUTimer));
timer_init_full(ts, timer_list_group, type, scale, attributes, cb, opaque);
return ts;
}

View File

@ -14,6 +14,11 @@
#ifndef QEMU_OBJECT_H
#define QEMU_OBJECT_H
#ifdef __cplusplus
#define class qom_class
#define typename qom_typename
#endif
#include "qapi/qapi-builtin-types.h"
#include "qemu/module.h"
@ -1884,4 +1889,9 @@ char *object_property_help(const char *name, const char *type,
G_DEFINE_AUTOPTR_CLEANUP_FUNC(Object, object_unref)
#ifdef __cplusplus
#undef class
#undef typename
#endif
#endif