2010-06-20 19 views

Répondre

2

C'est une extension GCC. (Voir la documentation du CCG, e.g. here for gcc 4.3.3, pour une liste complète des extensions de GCC, et le C99 spec is available here.)

GCC avertit de telles choses si vous utilisez les -pedantic -std=c99 drapeaux, par exemple:

$ cat foo.c 
int main(void) 
{ 
    return ({ int a = 0; a; }); 
} 
$ gcc -pedantic -std=c99 -c foo.c 
foo.c: In function 'main': 
foo.c:3: warning: ISO C forbids braced-groups within expressions 
+0

La fonctionnalité est-elle également incluse dans la norme C99? –

+0

Non - ce n'est pas le cas. –

+0

(J'ai mis à jour ma réponse pour clarifier cela.) –

1

C'est un GNU C extension. C'est ce qu'ils veulent dire par "peut apparaître ... dans GNU C." (Je souligne)

+0

La fonctionnalité est-elle également incluse dans la norme C99? –

+0

@AndreiCiobanu - non, c'est limité à GNU C seulement (par opposition à C standard) –