From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:42456) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qh0ZP-0003bd-5f for qemu-devel@nongnu.org; Wed, 13 Jul 2011 10:37:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qh0ZN-0006A7-GB for qemu-devel@nongnu.org; Wed, 13 Jul 2011 10:37:46 -0400 Received: from fe01x03-cgp.akado.ru ([77.232.31.164]:57200 helo=akado.ru) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qh0ZM-00069X-Lt for qemu-devel@nongnu.org; Wed, 13 Jul 2011 10:37:45 -0400 Date: Wed, 13 Jul 2011 18:37:31 +0400 (MSD) From: malc In-Reply-To: <1310567013-11058-2-git-send-email-lcapitulino@redhat.com> Message-ID: References: <1310567013-11058-1-git-send-email-lcapitulino@redhat.com> <1310567013-11058-2-git-send-email-lcapitulino@redhat.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Luiz Capitulino Cc: aliguori@us.ibm.com, qemu-devel@nongnu.org, mdroth@linux.vnet.ibm.com On Wed, 13 Jul 2011, Luiz Capitulino wrote: > From: Luiz Capitulino > > This moves compiler related macros from qemu-common.h to compiler.h. > > The reason for this change is that there are simple header files that > depend only on the compiler macros, so including qemu-common.h is overkill. > > Besides, qemu-common.h is bloated and will benefit from some splitting. > > Signed-off-by: Luiz Capitulino > --- > compiler.h | 31 +++++++++++++++++++++++++++++++ > qemu-common.h | 25 +------------------------ > 2 files changed, 32 insertions(+), 24 deletions(-) > create mode 100644 compiler.h > > diff --git a/compiler.h b/compiler.h > new file mode 100644 > index 0000000..2dfc2c6 > --- /dev/null > +++ b/compiler.h > @@ -0,0 +1,31 @@ > +#ifndef COMPILER_H > +#define COMPILER_H > + > +#include "config-host.h" > + > +#define QEMU_NORETURN __attribute__ ((__noreturn__)) > +#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT > +#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) > +#else > +#define QEMU_WARN_UNUSED_RESULT > +#endif > + > +#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1]; Identifiers starting with double underscore are reserved for all uses, so, please, use something else. > + > +#if defined __GNUC__ > +# if (__GNUC__ < 4) || \ > + defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4) > + /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */ > +# define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2))) > +# define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m))) > +# else > + /* Use gnu_printf when supported (qemu uses standard format strings). */ > +# define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2))) > +# define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m))) > +# endif > +#else > +#define GCC_ATTR /**/ > +#define GCC_FMT_ATTR(n, m) > +#endif > + > +#endif /* COMPILER_H */ > diff --git a/qemu-common.h b/qemu-common.h > index abd7a75..1e72931 100644 > --- a/qemu-common.h > +++ b/qemu-common.h > @@ -2,16 +2,9 @@ > #ifndef QEMU_COMMON_H > #define QEMU_COMMON_H > > +#include "compiler.h" > #include "config-host.h" > > -#define QEMU_NORETURN __attribute__ ((__noreturn__)) > -#ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT > -#define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) > -#else > -#define QEMU_WARN_UNUSED_RESULT > -#endif > - > -#define QEMU_BUILD_BUG_ON(x) typedef char __build_bug_on__##__LINE__[(x)?-1:1]; > #define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR) > > typedef struct QEMUTimer QEMUTimer; > @@ -82,22 +75,6 @@ struct iovec { > #include > #endif > > -#if defined __GNUC__ > -# if (__GNUC__ < 4) || \ > - defined(__GNUC_MINOR__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 4) > - /* gcc versions before 4.4.x don't support gnu_printf, so use printf. */ > -# define GCC_ATTR __attribute__((__unused__, format(printf, 1, 2))) > -# define GCC_FMT_ATTR(n, m) __attribute__((format(printf, n, m))) > -# else > - /* Use gnu_printf when supported (qemu uses standard format strings). */ > -# define GCC_ATTR __attribute__((__unused__, format(gnu_printf, 1, 2))) > -# define GCC_FMT_ATTR(n, m) __attribute__((format(gnu_printf, n, m))) > -# endif > -#else > -#define GCC_ATTR /**/ > -#define GCC_FMT_ATTR(n, m) > -#endif > - > typedef int (*fprintf_function)(FILE *f, const char *fmt, ...) > GCC_FMT_ATTR(2, 3); > > -- mailto:av1474@comtv.ru