GCC 11.4 lançado com mais de 110 bugs corrigidos

GCC 15 dá adeus ao suporte ao Solaris 11.3
Compilador GCC 10.5 lançado para encerrar a série

Embora o GCC 13 tenha visto seu primeiro lançamento estável apenas há algumas semanas, para aqueles que demoram a mudar para os principais lançamentos de novos compiladores e ainda contam com a série GCC 11 de dois anos, acaba de ocorrer o lançamento pontual com uma atualização da série 11, o GCC 11.4. Assim, o novo GCC 11.4 acaba de ser lançado com mais de 110 bugs corrigidos.

GCC 11.4 lançado com mais de 110 bugs corrigidos

O GCC 11.4 foi enviado para fornecer correções para mais de 110 bugs. Como em todos os lançamentos pontuais do GCC, esta é estritamente uma atualização de correção de bug e regressão para a GNU Compiler Collection.O GCC 11.3 foi lançado há mais de um ano, portanto, há muito em estoque com o GCC 11.4 quando se trata de correções de bug/regressão portadas de volta. 

O GCC 11.4 pode ser baixado via gcc.gnu.org. No entanto, para aqueles que desejam os melhores e mais recentes recursos do compilador, suporte expandido à CPU e otimizações, experimente o GCC 13.1.

Novidades do GCC 13.1

GCC 11.4 lançado com mais de 110 bugs corrigidos

versão mais recente do GCC, GCC 13.1, adiciona suporte para uma série de novos recursos e melhorias para a linguagem C definida no próximo padrão C2x, incluindo nullptr, enumerações aprimoradas, auto inferência de tipos e muito mais.

O C2x está adotando uma série de alterações na linguagem que apareceu pela primeira vez em C++, para facilitar a coexistência das duas linguagens na mesma base de código. Essas alterações incluem nullptr, enumerações aprimoradas, inferência auto de tipo, constexprespecificador e outros.

A nova constante nullptr tentará remover um dos problemas com a macro antiga NULL, cuja definição depende da implementação. Isso leva a uma série de deficiências potenciais ao usá-lo com macros de tipo genérico, com expressão condicional como (true ? 0 : NULL)(uma vez que NULLpode ser definido como (void*)0), com funções vararg onde NULLé usado como sentinela e em outros casos.

Para melhorar isso, nullptr terá um tipo próprio nullptr_t; não terá um valor escalar, portanto não pode ser usado em expressões aritméticas; será conversível para qualquer tipo de ponteiro; e sempre converterá em um booleano com valorfalse.

As enumerações melhoradas são outra alteração à linguagem que tenta corrigir um caso de subespecificação da norma anterior, neste caso referente ao tipo subjacente associado a enums. Na verdade, embora C normalmente use int para enumerações, nem sempre é esse o caso, o que pode causar problemas de portabilidade. Além disso, quando int são efetivamente usados, isso exclui a possibilidade de usar enumerações no nível do campo de bits. O novo padrão permite assim que os desenvolvedores indiquem o tipo de enumeração.