tain aussi dans les "features" de gcc 3.4/3.5, ya plus de cast lvalues
trop fort
je les aime ces gentils mainteneurs de gcc

, surtout et en particulier ceux qui decident de rendre ces trucs la deprecated et de les virer


a un point tel que si j'en croise un dans la rue je l'etripe...
Pollux:
Et des raisons de supprimer les "features" inutiles et même néfastes, il y en a plein, par exemple la maintenabilité du code.
tu m'excusera, mais dans le cas de __FUNCTION__, et de pas mal d'autres extensions, tu peux m'expliquer l'interet d'en virer une partie? ils ont pas interet a le virer tout court, ca serait vraiment encore plus abruti et borne que de virer la concatenation avec des strings... et franchement si ils font ca et qu'il y a pas de compilateur equivalent a gcc qui aie pas des devs aussi cons, j'utilise plus gcc et je dev plus que sous windows...
ok ils virent la concat de __FUNCTION__ avec des strings...
1- ca rend le code plus complexe, dans le cas d'une utilisation de ce genre:
#define LOG(s...) kr_log_printf("[" PV_MODULE_NAME "::" __FILE__ "::" STRINGIFY(__LINE__) "::" __FUNCTION__ "] " s)
utilisee comme ca:
LOG("bande de %s", "connards");
c'est sur que ca optimise vachement d'avoir a faire:
#define LOG(s...) kr_log_printf(__FUNCTION__, PV_MODULE_NAME, __FILE__, __LINE__, s)
ce qui me fait le plus chier avec ca c'est que non seulement ca allourdit le passage de parametres et la fonction de log elle meme, mais ca vire completement le concept d'une fonction de log_printf qui devrait marcher sans avoir a se servir de la macro LOG, qui a la base etait la que pour avoir une sorte de norme dans les msg de logs affiches...
surtout que cet exemple la est pas celui que j'utilise reellement (j'aimerai bien) pke VC++ supporte pas les parametres va_arg style pour les macros. (si quelqu'un sait comment faire je lui offre une nuit sm gratuite
surtout que l'excuse d' "optimiser" le tableau de strings genere par le compilateur est meme pas valable... tu gagne une chiure de blatte pour la taille du prog et la fonction de log doit faire des concatenations completement inutiles a chaque appel alors que ca aurait tres bien pu etre fait a la compilation, pour un temps de compil supplementaire completement minable, voire negatif...
* ça accroît la taille du code
dans ce cas la, ca la decroit, et de bcp si tu log massivement.
le seul truc que ca accroit, c'est eventuellement la taille de l'exe, et de facon negligeable.
au final, ca fait plus chier le programmeur qu'autre chose... genial non?
* mieux vaut supprimer une feature plutôt que de la casser pendant des mois sans que personne ne s'en rende compte...
si la feature est utile est tres utilisee (comme c'est le cas la), mieux vaut ne pas la supprimer ni la casser du tout...
C'est vraiment un gros vandale: il n'arrête pas de vouloir tout supprimer et de prétendre que ça fait avancer le projet GCC.
on appelle aussi ca un trou du cul et un gros connard.
Je suis entièrement d'accord avec toi!
wow, pour une fois
Je peux réverser ça pour TIGCC et te faire parvenir un patch à appliquer à FSF GCC pour réverser ça, mais c'est tout ce que je peux faire, moi.
merci de proposer, je sais pas trop comment ca se presente un patch pour ca.. ca patche l'exe ou les sources? (patcher l'exe pour ce genre de trucs ca doit etre relativement tendu a faire

)
pke le seul truc qui me fait chier dans l'histoire c'est que notre truc soit pas compilable avec une version "normale" de gcc, que les gars qui veulent le recompiler aient besoin de patcher leur gcc. remarque on peut tjrs fournir le compilo avec, m'enfin bon... c'est gore.
un truc que j'ai pense faire pour ce probleme specifique (le __FUNCTION__), c'est de reutiliser le preprocesseur qu'on est en train de faire pour les scripts de VM qui est en fait un preprocesseur C, de l'utiliser en lieu et place du preproc utilise par gcc (y doit y avoir moyen de forcer un preprocesseur dans les options de compil de gcc dans le makefile non?), qu'il preprocess normalement et a la fin une passe pour manuellement remplacer tous les __FUNCTION__, comme ca gcc s'en occupe plus.
enfin bon c'est gore aussi
Alors, personne pour m'aider à mettre en place un tel fork?
j'ai deja pas assez de temps pour coder ce que je devrais coder, donc pour ma part ca va pas etre possible.
