Statistics
| Branch: | Revision:

root / compiler.h @ 8e9f18b6

History | View | Annotate | Download (1.8 kB)

# Date Author Comment
76b64a7a 08/15/2012 09:26 pm Anthony Liguori

win32: provide separate macros for weak decls and definitions

mingw32 seems to want the declaration to also carry the weak attribute.
Strangely, gcc on Linux absolutely does not want the declaration to be marked
as weak. This may not be the right fix, but it seems to do the trick....

6ee373a0 08/13/2012 10:10 pm Anthony Liguori

compiler: add macro for GCC weak symbols

This lets us provide a default implementation of a symbol which targets can
override.

Signed-off-by: Anthony Liguori <>
Signed-off-by: Luiz Capitulino <>

ea8f978f 02/09/2012 05:17 pm Dong Xu Wang

rewrite QEMU_BUILD_BUG_ON

On some platforms, LINE will not expand to real number in QEMU_BUILD_BUG_ON,
so if using QEMU_BUILD_BUG_ON twice, compiler will report errors. This patch will
fix it.

BTW, I got error message on RHEL 6.1/gcc 4.4.5.

Signed-off-by: Dong Xu Wang <>...

f8b72754 09/23/2011 07:51 pm Stefan Weil

Move macro QEMU_GNUC_PREREQ to compiler.h

The macro is compiler specific and does not depend on the operating system.

Move macro QEMU_GNUC_PREREQ from osdep.h to compiler.h
and use it to simplify existing code.

host-utils.h uses this macro, so it now needs compiler.h...

87751797 09/23/2011 07:51 pm Stefan Weil

Fix and clean code which tests the gcc version

The code which tests whether gcc supports warn_unused_result was wrong.
Remove the wrong test from configure and replace it by code using
macro QEMU_GNUC_PREREQ in compiler.h.

Signed-off-by: Stefan Weil <>...

0f7fdd34 09/03/2011 01:45 pm Stefan Weil

Add new macro QEMU_PACKED for packed C structures

A packed struct needs different gcc attributes for compilations
with MinGW compilers because glib-2.0 adds compiler flag
-mms-bitfields which modifies the packing algorithm.

Attribute gcc_struct reverses the negative effects of -mms-bitfields....

5c026320 07/21/2011 10:48 pm Luiz Capitulino

Introduce compiler.h header file

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....