* [Qemu-devel] [PATCH v2 0/2]: Fix build issue with error.h @ 2011-07-12 19:00 Luiz Capitulino 2011-07-12 19:00 ` [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file Luiz Capitulino 2011-07-12 19:00 ` [Qemu-devel] [PATCH 2/2] Error: Fix build when qemu-common.h is not included Luiz Capitulino 0 siblings, 2 replies; 7+ messages in thread From: Luiz Capitulino @ 2011-07-12 19:00 UTC (permalink / raw) To: qemu-devel; +Cc: aliguori, mdroth A .c file including error.h and not including qemu-common.h will break the build, because error.h uses a macro defined in qemu-common.h. The simple and obvious fix would be to change error.h to include qemu-common.h. But this is overkill, so this series does some splitting in qemu-common.h and changes error.h to include only what it really needs. Please, refer to the patches for more details. v2 o move compiler related macros from qemu-common.h to compiler.h compiler.h | 38 ++++++++++++++++++++++++++++++++++++++ error.h | 1 + qemu-common.h | 25 +------------------------ 3 files changed, 40 insertions(+), 24 deletions(-) ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file 2011-07-12 19:00 [Qemu-devel] [PATCH v2 0/2]: Fix build issue with error.h Luiz Capitulino @ 2011-07-12 19:00 ` Luiz Capitulino 2011-07-12 20:31 ` malc 2011-07-12 19:00 ` [Qemu-devel] [PATCH 2/2] Error: Fix build when qemu-common.h is not included Luiz Capitulino 1 sibling, 1 reply; 7+ messages in thread From: Luiz Capitulino @ 2011-07-12 19:00 UTC (permalink / raw) To: qemu-devel; +Cc: aliguori, mdroth From: Luiz Capitulino <lcapitulino@gmail.com> 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 <lcapitulino@gmail.com> --- compiler.h | 38 ++++++++++++++++++++++++++++++++++++++ qemu-common.h | 25 +------------------------ 2 files changed, 39 insertions(+), 24 deletions(-) create mode 100644 compiler.h diff --git a/compiler.h b/compiler.h new file mode 100644 index 0000000..864f8ff --- /dev/null +++ b/compiler.h @@ -0,0 +1,38 @@ +/* + * Compiler related definition + * + * This work is licensed under the terms of the GNU GPL, version 2. See + * the COPYING file in the top-level directory. + * + */ +#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]; + +#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 <sys/uio.h> #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); -- 1.7.6.134.gcf13f ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file 2011-07-12 19:00 ` [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file Luiz Capitulino @ 2011-07-12 20:31 ` malc 2011-07-12 20:34 ` Luiz Capitulino 0 siblings, 1 reply; 7+ messages in thread From: malc @ 2011-07-12 20:31 UTC (permalink / raw) To: Luiz Capitulino; +Cc: aliguori, qemu-devel, mdroth On Tue, 12 Jul 2011, Luiz Capitulino wrote: > From: Luiz Capitulino <lcapitulino@gmail.com> > > 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 <lcapitulino@gmail.com> > --- > compiler.h | 38 ++++++++++++++++++++++++++++++++++++++ > qemu-common.h | 25 +------------------------ > 2 files changed, 39 insertions(+), 24 deletions(-) > create mode 100644 compiler.h > > diff --git a/compiler.h b/compiler.h > new file mode 100644 > index 0000000..864f8ff > --- /dev/null > +++ b/compiler.h > @@ -0,0 +1,38 @@ > +/* > + * Compiler related definition > + * > + * This work is licensed under the terms of the GNU GPL, version 2. See > + * the COPYING file in the top-level directory. > + * > + */ > +#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]; > + > +#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))) I wrote the above and certainly didn't license it under GPL, please drop the bogus copyright notice at the top. > +# 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 <sys/uio.h> > #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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file 2011-07-12 20:31 ` malc @ 2011-07-12 20:34 ` Luiz Capitulino 2011-07-12 20:43 ` malc 0 siblings, 1 reply; 7+ messages in thread From: Luiz Capitulino @ 2011-07-12 20:34 UTC (permalink / raw) To: malc; +Cc: aliguori, qemu-devel, mdroth On Wed, 13 Jul 2011 00:31:56 +0400 (MSD) malc <av1474@comtv.ru> wrote: > On Tue, 12 Jul 2011, Luiz Capitulino wrote: > > > From: Luiz Capitulino <lcapitulino@gmail.com> > > > > 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 <lcapitulino@gmail.com> > > --- > > compiler.h | 38 ++++++++++++++++++++++++++++++++++++++ > > qemu-common.h | 25 +------------------------ > > 2 files changed, 39 insertions(+), 24 deletions(-) > > create mode 100644 compiler.h > > > > diff --git a/compiler.h b/compiler.h > > new file mode 100644 > > index 0000000..864f8ff > > --- /dev/null > > +++ b/compiler.h > > @@ -0,0 +1,38 @@ > > +/* > > + * Compiler related definition > > + * > > + * This work is licensed under the terms of the GNU GPL, version 2. See > > + * the COPYING file in the top-level directory. > > + * > > + */ > > +#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]; > > + > > +#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))) > > I wrote the above and certainly didn't license it under GPL, please drop > the bogus copyright notice at the top. Which one should I use? > > > +# 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 <sys/uio.h> > > #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); > > > > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file 2011-07-12 20:34 ` Luiz Capitulino @ 2011-07-12 20:43 ` malc 2011-07-12 20:52 ` Luiz Capitulino 0 siblings, 1 reply; 7+ messages in thread From: malc @ 2011-07-12 20:43 UTC (permalink / raw) To: Luiz Capitulino; +Cc: aliguori, qemu-devel, mdroth On Tue, 12 Jul 2011, Luiz Capitulino wrote: > On Wed, 13 Jul 2011 00:31:56 +0400 (MSD) > malc <av1474@comtv.ru> wrote: > > > On Tue, 12 Jul 2011, Luiz Capitulino wrote: > > > > > From: Luiz Capitulino <lcapitulino@gmail.com> > > > > > > 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 <lcapitulino@gmail.com> > > > --- > > > compiler.h | 38 ++++++++++++++++++++++++++++++++++++++ > > > qemu-common.h | 25 +------------------------ > > > 2 files changed, 39 insertions(+), 24 deletions(-) > > > create mode 100644 compiler.h > > > > > > diff --git a/compiler.h b/compiler.h > > > new file mode 100644 > > > index 0000000..864f8ff > > > --- /dev/null > > > +++ b/compiler.h > > > @@ -0,0 +1,38 @@ > > > +/* > > > + * Compiler related definition > > > + * > > > + * This work is licensed under the terms of the GNU GPL, version 2. See > > > + * the COPYING file in the top-level directory. > > > + * > > > + */ > > > +#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]; > > > + > > > +#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))) > > > > I wrote the above and certainly didn't license it under GPL, please drop > > the bogus copyright notice at the top. > > Which one should I use? None, it's a bloody header with definitions it's not copyrightable. > > > > > > +# 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 <sys/uio.h> > > > #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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file 2011-07-12 20:43 ` malc @ 2011-07-12 20:52 ` Luiz Capitulino 0 siblings, 0 replies; 7+ messages in thread From: Luiz Capitulino @ 2011-07-12 20:52 UTC (permalink / raw) To: malc; +Cc: aliguori, qemu-devel, mdroth On Wed, 13 Jul 2011 00:43:42 +0400 (MSD) malc <av1474@comtv.ru> wrote: > On Tue, 12 Jul 2011, Luiz Capitulino wrote: > > > On Wed, 13 Jul 2011 00:31:56 +0400 (MSD) > > malc <av1474@comtv.ru> wrote: > > > > > On Tue, 12 Jul 2011, Luiz Capitulino wrote: > > > > > > > From: Luiz Capitulino <lcapitulino@gmail.com> > > > > > > > > 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 <lcapitulino@gmail.com> > > > > --- > > > > compiler.h | 38 ++++++++++++++++++++++++++++++++++++++ > > > > qemu-common.h | 25 +------------------------ > > > > 2 files changed, 39 insertions(+), 24 deletions(-) > > > > create mode 100644 compiler.h > > > > > > > > diff --git a/compiler.h b/compiler.h > > > > new file mode 100644 > > > > index 0000000..864f8ff > > > > --- /dev/null > > > > +++ b/compiler.h > > > > @@ -0,0 +1,38 @@ > > > > +/* > > > > + * Compiler related definition > > > > + * > > > > + * This work is licensed under the terms of the GNU GPL, version 2. See > > > > + * the COPYING file in the top-level directory. > > > > + * > > > > + */ > > > > +#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]; > > > > + > > > > +#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))) > > > > > > I wrote the above and certainly didn't license it under GPL, please drop > > > the bogus copyright notice at the top. > > > > Which one should I use? > > None, it's a bloody header with definitions it's not copyrightable. It's, but you're choosing not to do so. > > > > > > > > > > +# 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 <sys/uio.h> > > > > #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); > > > > > > > > > > > > > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 2/2] Error: Fix build when qemu-common.h is not included 2011-07-12 19:00 [Qemu-devel] [PATCH v2 0/2]: Fix build issue with error.h Luiz Capitulino 2011-07-12 19:00 ` [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file Luiz Capitulino @ 2011-07-12 19:00 ` Luiz Capitulino 1 sibling, 0 replies; 7+ messages in thread From: Luiz Capitulino @ 2011-07-12 19:00 UTC (permalink / raw) To: qemu-devel; +Cc: aliguori, mdroth From: Luiz Capitulino <lcapitulino@gmail.com> Commit e4ea5e2d0e0e4c5188ab45b66f3195062ae059dc added the use of the macro GCC_FMT_ATTR to error.h, however compiler.h is not included by error.h This will cause a build error when files including error.h don't include qemu-common.h (or compiler.h). Not an issue today because the only file including it is json-parser.h and it does include qemu-common.h, but let's get it fixed. Signed-off-by: Luiz Capitulino <lcapitulino@gmail.com> --- error.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/error.h b/error.h index 0f92a6f..6361f40 100644 --- a/error.h +++ b/error.h @@ -12,6 +12,7 @@ #ifndef ERROR_H #define ERROR_H +#include "compiler.h" #include <stdbool.h> /** -- 1.7.6.134.gcf13f ^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2011-07-12 20:53 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-07-12 19:00 [Qemu-devel] [PATCH v2 0/2]: Fix build issue with error.h Luiz Capitulino 2011-07-12 19:00 ` [Qemu-devel] [PATCH 1/2] Introduce compiler.h header file Luiz Capitulino 2011-07-12 20:31 ` malc 2011-07-12 20:34 ` Luiz Capitulino 2011-07-12 20:43 ` malc 2011-07-12 20:52 ` Luiz Capitulino 2011-07-12 19:00 ` [Qemu-devel] [PATCH 2/2] Error: Fix build when qemu-common.h is not included Luiz Capitulino
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).