Je suis convaincu que GCC (ou n'importe quel compilateur) n'est pas capable de parser certains fichiers C parfaitement valides (mais complètement tordus).
Si tu actives certaines optimisations qui créent des graphes complexes (en gros, -O3 avec quelques options en plus par exemple) tu peux clairement arriver à des plantages du compilateur pour certains codes. Par exemple, le fameux code de ffmpeg a quelques fonctions qui font 3000 lignes pour cause de programmeur ne faisant pas confiance au compilo. Bon ben, si jamais on activait les directives de compilation et vectorisation dessus, on pourrait avoir quelques surprises, euh, intéressantes. :-)
Sinon, avec le compilateur d'Intel, il m'est déjà arrivé d'avoir des plantages du genre « Internal error : graph too deep » (ce n'était pas exactement dit comme ça, mais c'est plus ou moins ce que ça veut dire) : c'était la représentation interne du programme en activant toutes les grosses optimisations qui faisait que le compilateur finissait par faire trop de récursions en parcourant/mettant à jour le graphe...
[^] # Re: Intérêt ?
Posté par lasher . En réponse au journal Tous les parsers JSON sont mauvais. Évalué à 2.
Je réponds à la bourre, mais :
Si tu actives certaines optimisations qui créent des graphes complexes (en gros,
-O3avec quelques options en plus par exemple) tu peux clairement arriver à des plantages du compilateur pour certains codes. Par exemple, le fameux code deffmpega quelques fonctions qui font 3000 lignes pour cause de programmeur ne faisant pas confiance au compilo. Bon ben, si jamais on activait les directives de compilation et vectorisation dessus, on pourrait avoir quelques surprises, euh, intéressantes. :-)Sinon, avec le compilateur d'Intel, il m'est déjà arrivé d'avoir des plantages du genre « Internal error : graph too deep » (ce n'était pas exactement dit comme ça, mais c'est plus ou moins ce que ça veut dire) : c'était la représentation interne du programme en activant toutes les grosses optimisations qui faisait que le compilateur finissait par faire trop de récursions en parcourant/mettant à jour le graphe...