From 58099c80664a2feed354f2ff8014350180becb5d Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 16 Sep 2014 09:47:32 -0700 Subject: [PATCH] qemu/compiler: Define QEMU_ARTIFICIAL The combination of always_inline + artificial allows tiny inline functions to be written that do not interfere with debugging. In particular, gdb will not step into an artificial function. The always_inline attribute was introduced in gcc 4.2, and the artificial attribute was introduced in gcc 4.3. Signed-off-by: Richard Henderson --- include/qemu/compiler.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h index 155b358964..ac7c4c441e 100644 --- a/include/qemu/compiler.h +++ b/include/qemu/compiler.h @@ -24,6 +24,12 @@ #define QEMU_WARN_UNUSED_RESULT #endif +#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 -- 2.11.0