Folco (./41) :
(et c'est quoi ce have_builtin_unreachable au passage ? yen a qui s'éclatent avec le préproc, c'est fou ça
)
__builtin_unreachable (cf.
https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html#Other-Builtins ) signifie au compilateur que le chemin qui amène à cet appel n'est pas appel.
Typiquement
if (n <= 2)
__builtin_unreachable ();
for(i = 0 ; i < 2; i++)
C'est pratique pour après une instruction asm qui reboote ou pour éliminer des branches de l'arbre de décision du compilateur, qui peut simplifier et prendre le chemin le plus rapide.
(en pratique, ca permet effectivement de générer du code un peu mieux

)