Visite também: Currículo ·  Efetividade BR-Mac

O que é LinuxDownload LinuxApostila LinuxEnviar notícia


Compilador: FreeBSD 10 vai substituir o GCC pelo Clang

Dando sequência a um esforço iniciado em 2009, os desenvolvedores do FreeBSD anunciam a intenção de substituir o GCC pelo também software livre Clang, que passará a ser o compilador default do sistema. O Clang 3.0 já está disponível (mas não configurado como default) no FreeBSD 9.0-STABLE e no 10.0-CURRENT, e a política no momento já é tratar como bug qualquer pacote que não possa ser compilado corretamente com ele. (via phoronix.com – “[Phoronix] FreeBSD 10 To Use Clang Compiler, Deprecate GCC”)


• Publicado por Augusto Campos em 2012-05-14

Comentários dos leitores

Os comentários são responsabilidade de seus autores, e não são analisados ou aprovados pelo BR-Linux. Leia os Termos de uso do BR-Linux.

    Qual o motivo da substituição o GCC está defasado?

    linuxer (usuário não registrado) em 14/05/2012 às 11:29 am

    O gcc não está defasado. Na realidade, o gcc tem produzido em média código executável mais rápido que o Clang até agora, embora cada um tenha suas vantagens/desvantagens.

    O que pega para o gcc, na visão do pessoal dos BSDs, é a licença GPL (acho que é GPLv3), que impede forks proprietários do compilador (não tem nada a ver com o software compilado por ele, que pode ser proprietário sem problema).

    Marcelo Dalmas (usuário não registrado) em 14/05/2012 às 11:42 am

    Na realidade não são forks proprietários, mas sim a possibilidade de usar módulos do GCC em ferramentas proprietárias como IDEs, ferramentas de otimização, parsers, etc.

    Por exemplo, para um editor de texto “entender” a sintaxe de uma linguagem poderia utilizar o front-end do GCC. Mas como a licença não permite é preciso reimplementar a funcionalidade.

    Igor Cavalcante (usuário não registrado) em 14/05/2012 às 11:51 am

    clang tem alguma coisa haver com o llvm?

    Rafael Neri (usuário não registrado) em 14/05/2012 às 12:05 pm

    Tem sim, ele é um frontend for llvm para linguagens da familia C.

    http://clang.llvm.org/

    Ironmaniaco (usuário não registrado) em 14/05/2012 às 1:39 pm

    @linuxer

    O FreeBSD não usa o GCC com a licenca GPLv3.

    Eles pararam na GCC 4.2.2 que é a ultima versão com a GPLv2, e foram patcheando esta implementação de compilador. E o motivo continua sendo este mesmo que alguns colegas acima citaram: O Caráter “viral” da GPL, faz com que o clang seja o compilador de escolha(claro, e porque a Apple patrocina o LLVM também…)

    Willy (usuário não registrado) em 14/05/2012 às 1:55 pm

    Quem quiser saber mais sobre LLVM:

    http://www.youtube.com/watch?v=XwUoCDARU1M

    Igor Cavalcante (usuário não registrado) em 14/05/2012 às 4:49 pm

    Pelo que vi o llvm tem uma série de conceitos novos em relação ao gcc. Que podem melhorar e muito o desempenho de uma aplicação.

    Leandro Santiago (tenchi) (usuário não registrado) em 14/05/2012 às 11:08 pm

    @Igor Cavalcante, o llvm é melhor estruturado que o gcc, além de suas partes serem muito melhor reaproveitáveis em outras ferramentas, como citadas @Marcelo, acima.

    O LLVM é o software nº 1 quando se pensa em criar uma nova linguagem de programação ou suportar uma linguagem existente numa nova arquitetura. Fazer o gcc gerar código para uma nova arquitetura é um saco de complicado. Já no LLVM o processo é facilitado pela própria arquitetura (de software) do sistema.

    O LLVM não é um compilador. Ele é um framework que serve pra vc escrever compiladores, interpretadores, analizadores estáticos, enfim… é um canivete suíço do mundo das linguagens de programação.

    O próprio desenvolvimento do LLVM está ajudando muito o GCC a melhorar. Isso é o poder da concorrência. O suporte ao C++0x em ambos g++ e clang tem andado lado a lado e o gcc por exemplo até está melhorando suas mensagens de erro (testei numa compilação recente da futura versão 4.8), indicando por exemplo em que ponto exato ocorreu, o que é um avanço em relação às versões anteriores.

    Pra quem gosta de linguagens tradicionais como c e c++ (principais usos do gcc e do clang) a batalha entre gcc e clang/llvm é só alegria, pois uma – impossível – união de esforços entre as duas iniciativas só fariam os esforços estagnarem.

    Torço o nariz para a competição entre as centenas de distros Linux, mas sou a favor quando se fala de projetos bem estabelecidos tais como compiladores, navegadores web, etc.

Este post é antigo (2012-05-14) e foi arquivado. O envio de novos comentários a este post já expirou.