Novidades que virão no GCC 6

Apesar do Clang estar ganhando terreno, o GCC ainda tem seu brilho. Confira algumas novidades da próxima release deste ótimo compilador:

  • Detecção de indentação errônea: O propósito deste warning é evitar erros como o que aconteceu com código relacionado ao SSL na Apple, onde uma indentação errada disfarçou um código que sempre executado, onde era necessário ser executado dentro de um bloco condicional. Para mais informações, veja Apple’s SSL iPhone vulnerability.
  • Comparações tautológicas: Esse warning existe para avisar o programador quando uma condição é testada duas vezes, ou quando um código testa o mesmo objeto duas vezes, o que pode ser um erro de digitação e pode causar algum erro no código.
  • Condições duplicadas: avisará quando existe um “else if” com a mesma comparação de um bloco “if”.
  • Shift de bits com valor negativo e shift overflow: Essas condições sempre geraram comportamentos indefinidos, e agora o GCC avisa o programador em tempo de compilação quando estas condições aparecerem.
  • Deferenciação de ponteiros nulos: GCC ficou mais agressivo na detecção de condições onde um valor NULL é deferenciado e quando uma função retorna NULL mesmo quando um atributo desta função explicitamente desabilita valores NULL.

Para mais informações, configura o artigo novidades no GCC 6 da Red Hat.