On 5 March 2011 09:48, Blue Swirl <blauwir...@gmail.com> wrote:
> On Sat, Mar 5, 2011 at 11:42 AM, Peter Maydell <peter.mayd...@linaro.org> 
> wrote:
>> On 5 March 2011 09:34, Blue Swirl <blauwir...@gmail.com> wrote:
>>> On Sun, Feb 27, 2011 at 7:52 PM, Stefan Weil <w...@mail.berlios.de> wrote:
>>>> +#include_next <sys/time.h>
>>>
>>> Isn't include_next an extension by GCC?
>>
>> Are gcc extensions forbidden? We already have plenty of
>> code that uses gcc-specific syntax or gcc extensions...
>
> No, but relying on them is not OK. For example gcc attributes are
> wrapped in macros to allow other implementations.

Three random counter-examples:

vl.c:
    machine->max_cpus = machine->max_cpus ?: 1; /* Default to UP */

That use of ?: is a gcc extension.

target-i386/cpu.h:
register struct CPUX86State *env asm(AREG0);

Explicit register variables are a gcc extension.

qemu-timer-common.c:
static void __attribute__((constructor)) init_get_clock(void)

gcc-specific attribute not hidden by a macro.

-- PMM

Reply via email to