• [^] # Re: Messages d"erreurs

    Posté par (Mastodon) . En réponse à la dépêche LLVM 3.1 et Conférence EURO-LLVM 2012. Évalué à 10.

    Je vois plusieurs choses :

    • Clang propose souvent un correctif pertinent : par exemple, en cas d'oubli de & (l'opérateur unaire, celui qui prend l'adresse d'une variable), il suggérera d'en ajouter un et montrera exactement où. Autre correctif, quand on fait une coquille sur un nom de variable ou de fonction, il suggère le bon nom (en montrant où est défini ce nom). Ce sont des petites choses mais ça rend le quotidien tellement plus agréable.
    • Clang a tout intégré, ce qui signifie que le préprocesseur ou l'assembleur ne sont pas des programmes à part. Du coup, il peut faire remonter l'erreur exactement où elle se situe. Si on fait une erreur dans une macro, cette erreur sera détecté à la compilation mais Clang sera capable de remonter jusqu'à la macro, alors que GCC ne pourra pas. De même pour l'assembleur inline, Clang pour remonter jusqu'au code source en cas d'erreur.

    Voilà je pense les deux principaux atouts de Clang par rapport à GCC.