Harbour 3.4 Clang compilador padrão

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Harbour 3.4 Clang compilador padrão

Mensagem por Itamar M. Lins Jr. »

Ola!
2017-09-30 15:07 UTC Viktor Szakats (vszakats users.noreply.github.com)
* .appveyor.yml
* switch to clang to build snapshot binary releases.
Please see RELNOTES, on how to install clang via MSYS2.
The binaries remain compatible with libs/objects built with
mingw 7.x.

* utils/hbmk2/pkg_dynl.hbm
! fix typo made in 2017-09-29 14:14 UTC
Parece que o padrão mudou de GCC para CLang.
Mais explicações, serão bem vindas!
Pelo que estou lendo o Clang tem vantagens sobre o GCC. Achei isso na NET.
https://clang.llvm.org/comparison.html#gcc

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Harbour 3.4 Clang compilador padrão

Mensagem por JoséQuintas »

Apesar de muita coisa chamar atenção, esta me chamou mais:
GCC is licensed under the GPL license. clang uses a BSD license, which allows it to be embedded in software that is not GPL-licensed
Pode significar um Harbour pronto, sem depender de nada externo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
RobertoLinux
Usuário Nível 3
Usuário Nível 3
Mensagens: 110
Registrado em: 14 Abr 2014 18:32
Localização: Fortaleza/Ce

Harbour 3.4 Clang compilador padrão

Mensagem por RobertoLinux »

Bom dia.
Nobres colegas, não sei se entendi direito, mas me parece que desde o GCC 7.0 tudo que for compilado com o mesmo se torna GPL automaticamente, por isso o FreeBSD portou tudo para LLVM/clang. Eu acho que é isso, não tenho certeza.

Felicidades.
Entusiasta
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Harbour 3.4 Clang compilador padrão

Mensagem por asimoes »

Acompanhando:

O link que o Itamar postou:
Essa parte sobre os Prós
Clang vs GCC (GNU Compiler Collection)

Pro's of GCC vs clang:

GCC supports languages that clang does not aim to, such as Java, Ada, FORTRAN, Go, etc.
GCC supports more targets than LLVM.
GCC supports many language extensions, some of which are not implemented by Clang. For instance, in C mode, GCC supports nested functions and has an extension
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
RobertoLinux
Usuário Nível 3
Usuário Nível 3
Mensagens: 110
Registrado em: 14 Abr 2014 18:32
Localização: Fortaleza/Ce

Harbour 3.4 Clang compilador padrão

Mensagem por RobertoLinux »

Olá.

Em termos de capacidades, no link abaixo há um comparativo bem detalhado.

https://www.phoronix.com/scan.php?page= ... lers&num=1

Felicidades.
Entusiasta
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Harbour 3.4 Clang compilador padrão

Mensagem por asimoes »

Vamos acompanhar a evolução disso, porque tem muita biblioteca para manter compatibilidade (hwgui, minigui, etc)
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Harbour 3.4 Clang compilador padrão

Mensagem por JoséQuintas »

Seja o que for... foi ou começou a ir....
2017-10-07 15:56 UTC Viktor Szakats (vszakats users.noreply.github.com)
* README.md
* clang is now the primary compiler on Windows and darwin
(as far as this fork is concerned)
* recommend at least 6.x version of mingw - it's a free upgrade.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Harbour 3.4 Clang compilador padrão

Mensagem por JoséQuintas »

Da wikipedia
Clang é um front-end de um compilador para as linguagens C, C++, Objective-C e Objective-C++ que utiliza o LLVM como back-end[1] desde a versão 2.6 do LLVM. Tem como objetivo oferecer um substituto open source ao GCC, o conjunto de compiladores da GNU. O desenvolvimento do Clang conta com o envolvimento de grandes empresas como o Google[2] e a Apple[3][4].
Seu código fonte está disponível sob uma licença da Universidade de Illinois[5] que combina as licenças MIT e BSD[4]. Implementa na totalidade a especificação C++11[6].
Partes que chamaram a atenção:
- é um front-end de um compilador para as linguagens C (?)
- substituto open source do GCC
- Participação de Google e Apple
- Totalidade da especificação do C++11
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Harbour 3.4 Clang compilador padrão

Mensagem por JoséQuintas »

Mais um pouco:
Clang is an "LLVM native" C/C++/Objective-C compiler, which aims to deliver amazingly fast compiles (e.g. about 3x faster than GCC when compiling Objective-C code in a debug configuration),
The Clang Static Analyzer is a tool that automatically finds bugs in your code, and is a great example of the sort of tool that can be built using the Clang frontend as a library to parse C/C++ code
https://llvm.org/

Pelo que entendi, em termos que nós conhecemos, é como se CLang fosse um pré-compilador.
Seja como for, vai reduzir as diferenças do fonte em C entre compiladores, o que vai facilitar o desenvolvimento.

Não dá pra entender no que isso afeta em termos de compatibilidade, até onde precisa se estender essa troca, nas LIBs por exemplo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Harbour 3.4 Clang compilador padrão

Mensagem por asimoes »

Eu até baixei o LLVM, tentei compilar com gcc 7.10 gerou 7 libs e abortou, pelo que eu vi tem que usar o GCC 6.x, não testei, enfim vou aguardar mais informações pra ver o impacto disso.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Harbour 3.4 Clang compilador padrão

Mensagem por JoséQuintas »

Também tentei e não consegui, mas não cheguei a trocar o compilador C.

Tem isto no readme, e parece que vai precisar de HB_WITH_SLANG ou algo assim.
clang1.png
Novamente: não sei no que isso pode afetar compatibilidade.
Mas como diz no changelog, é a primeira opção (primary), não que seja a única.
Por enquanto é o início de uso, pode ser que só daqui há algum tempo vejamos alguma diferença.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Harbour 3.4 Clang compilador padrão

Mensagem por asimoes »

Quintas,

Eu não sei se o Viktor já tem uma versão pré-compilada com clang, usando a versão GCC do MSYS2 deu erro, usando a versão 7.10 também, se tem mais alguma variável para definir eu também não sei, por enquanto vou na compilação de costume SET HB_COMPILER= mingw
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Claudio Soto
Colaborador
Colaborador
Mensagens: 566
Registrado em: 27 Ago 2012 12:31
Localização: Uruguay
Contato:

Harbour 3.4 Clang compilador padrão

Mensagem por Claudio Soto »

El clang es un exelente compilador de c/c++ con un analizador de sintaxis muy bueno, mejor que gcc, yo lo he utilizado para programar en Android (ver por ejemplo el Charrua Server).

El LLVM es un "lenguaje"/herramienta para desarrollar compiladores
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Harbour 3.4 Clang compilador padrão

Mensagem por JoséQuintas »

E pode dar uma idéia do que acontece com Harbour e LIBs?
Todos terão que trocar pra clang?
Ou para as LIBs não importa?
Ou como fica Harbour/xHarbour, se precisarão LIBs em versões diferentes por causa das rotinas em C?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Claudio Soto
Colaborador
Colaborador
Mensagens: 566
Registrado em: 27 Ago 2012 12:31
Localização: Uruguay
Contato:

Harbour 3.4 Clang compilador padrão

Mensagem por Claudio Soto »

La mayoría de los compiladores soporta el último estándar de C por lo tanto son compatibles, la diferencia es que algunos compiladores le agregan alguna cosa que no es estándar y ahí surgen los problemas, pero en general son cosas menores fácil de solucionar.
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Responder