diff options
Diffstat (limited to 'include/qemu')
| -rw-r--r-- | include/qemu/compiler.h | 8 | ||||
| -rw-r--r-- | include/qemu/cutils.h | 8 | ||||
| -rw-r--r-- | include/qemu/host-utils.h | 4 | ||||
| -rw-r--r-- | include/qemu/range.h | 6 | ||||
| -rw-r--r-- | include/qemu/typedefs.h | 3 |
5 files changed, 13 insertions, 16 deletions
diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h index 6b92710487..261842beae 100644 --- a/include/qemu/compiler.h +++ b/include/qemu/compiler.h @@ -28,12 +28,6 @@ #define QEMU_SENTINEL __attribute__((sentinel)) -#if QEMU_GNUC_PREREQ(4, 3) -#define QEMU_ARTIFICIAL __attribute__((always_inline, artificial)) -#else -#define QEMU_ARTIFICIAL -#endif - #if defined(_WIN32) # define QEMU_PACKED __attribute__((gcc_struct, packed)) #else @@ -127,7 +121,7 @@ #define __has_builtin(x) 0 /* compatibility with non-clang compilers */ #endif -#if __has_builtin(__builtin_assume_aligned) || QEMU_GNUC_PREREQ(4, 7) +#if __has_builtin(__builtin_assume_aligned) || !defined(__clang__) #define HAS_ASSUME_ALIGNED #endif diff --git a/include/qemu/cutils.h b/include/qemu/cutils.h index 7071bfe2d4..d2dad3057c 100644 --- a/include/qemu/cutils.h +++ b/include/qemu/cutils.h @@ -146,14 +146,16 @@ int qemu_strtoi64(const char *nptr, const char **endptr, int base, int64_t *result); int qemu_strtou64(const char *nptr, const char **endptr, int base, uint64_t *result); +int qemu_strtod(const char *nptr, const char **endptr, double *result); +int qemu_strtod_finite(const char *nptr, const char **endptr, double *result); int parse_uint(const char *s, unsigned long long *value, char **endptr, int base); int parse_uint_full(const char *s, unsigned long long *value, int base); -int qemu_strtosz(const char *nptr, char **end, uint64_t *result); -int qemu_strtosz_MiB(const char *nptr, char **end, uint64_t *result); -int qemu_strtosz_metric(const char *nptr, char **end, uint64_t *result); +int qemu_strtosz(const char *nptr, const char **end, uint64_t *result); +int qemu_strtosz_MiB(const char *nptr, const char **end, uint64_t *result); +int qemu_strtosz_metric(const char *nptr, const char **end, uint64_t *result); /* used to print char* safely */ #define STR_OR_NULL(str) ((str) ? (str) : "null") diff --git a/include/qemu/host-utils.h b/include/qemu/host-utils.h index 38da849be9..4cd170e6cd 100644 --- a/include/qemu/host-utils.h +++ b/include/qemu/host-utils.h @@ -207,7 +207,7 @@ static inline int cto64(uint64_t val) */ static inline int clrsb32(uint32_t val) { -#if QEMU_GNUC_PREREQ(4, 7) +#if __has_builtin(__builtin_clrsb) || !defined(__clang__) return __builtin_clrsb(val); #else return clz32(val ^ ((int32_t)val >> 1)) - 1; @@ -223,7 +223,7 @@ static inline int clrsb32(uint32_t val) */ static inline int clrsb64(uint64_t val) { -#if QEMU_GNUC_PREREQ(4, 7) +#if __has_builtin(__builtin_clrsbll) || !defined(__clang__) return __builtin_clrsbll(val); #else return clz64(val ^ ((int64_t)val >> 1)) - 1; diff --git a/include/qemu/range.h b/include/qemu/range.h index f28f0c1825..7e75f4e655 100644 --- a/include/qemu/range.h +++ b/include/qemu/range.h @@ -39,7 +39,7 @@ struct Range { uint64_t upb; /* inclusive upper bound */ }; -static inline void range_invariant(Range *range) +static inline void range_invariant(const Range *range) { assert(range->lob <= range->upb || range->lob == range->upb + 1); } @@ -48,14 +48,14 @@ static inline void range_invariant(Range *range) #define range_empty ((Range){ .lob = 1, .upb = 0 }) /* Is @range empty? */ -static inline bool range_is_empty(Range *range) +static inline bool range_is_empty(const Range *range) { range_invariant(range); return range->lob > range->upb; } /* Does @range contain @val? */ -static inline bool range_contains(Range *range, uint64_t val) +static inline bool range_contains(const Range *range, uint64_t val) { return val >= range->lob && val <= range->upb; } diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h index 3ec0e13a96..d59df20c4d 100644 --- a/include/qemu/typedefs.h +++ b/include/qemu/typedefs.h @@ -61,7 +61,9 @@ typedef struct MSIMessage MSIMessage; typedef struct NetClientState NetClientState; typedef struct NetFilterState NetFilterState; typedef struct NICInfo NICInfo; +typedef struct NodeInfo NodeInfo; typedef struct NumaNodeMem NumaNodeMem; +typedef struct ObjectClass ObjectClass; typedef struct PCIBridge PCIBridge; typedef struct PCIBus PCIBus; typedef struct PCIDevice PCIDevice; @@ -112,7 +114,6 @@ typedef struct SSIBus SSIBus; typedef struct uWireSlave uWireSlave; typedef struct VirtIODevice VirtIODevice; typedef struct Visitor Visitor; -typedef struct node_info NodeInfo; typedef void SaveStateHandler(QEMUFile *f, void *opaque); typedef int LoadStateHandler(QEMUFile *f, void *opaque, int version_id); |