web-dev-qa-db-fra.com

Pourquoi gcc a-t-il un avertissement pendant longtemps?

Quelle est la raison de la -Wlong-long avertissement gcc?

Depuis la page de manuel de gcc:

-Wlong-long
       Warn if long long type is used.  This is enabled by either -Wpedantic or -Wtraditional in ISO C90 and C++98 modes.  To inhibit the warning messages, use -Wno-long-long.

Si je comprends bien, long long doit être d'au moins 64 bits (il est pratiquement toujours de 64 bits, au moins avec les compilateurs actuels). N'était-ce pas le cas pour ISO C90 ou C++ 98, ou y a-t-il une autre raison de ne pas utiliser long long?

Je connais <stdint.h> types comme int64_t et amis, mais certains compilateurs moins anciens (par exemple VS2005 et Green Hills ARM 3.5) ne fournissent pas <stdint.h>, et je pensais que long long serait (au moins) 64 bits pour ceux-ci et les chaînes d'outils plus récentes.

32
Patrick

Il n'y avait pas long long taper encore dans ISO C90 et C++ 98. Il n'a été ajouté qu'en ISO C99 et C++ 11.

Le GCC l'a cependant fourni comme une extension avant la normalisation.

37
a3f