OK to build LLVM (*.bc) with CLANG but rest of postgresql with CC (other compiler)?

Поиск
Список
Период
Сортировка
От Palle Girgensohn
Тема OK to build LLVM (*.bc) with CLANG but rest of postgresql with CC (other compiler)?
Дата
Msg-id 1622CA17-30EE-4838-9180-126E8E66EC53@pingpong.net
обсуждение исходный текст
Ответы Re: OK to build LLVM (*.bc) with CLANG but rest of postgresql with CC (other compiler)?  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
Hi!

TL;DR:

CLANG is used to compile *.bc files during postgresql build. Is it OK to have a different compiler for the rest of the
build?gcc, or even another version of clang? 

--

Slightly longer version:

I'm packaging postgresql for FreeBSD and as you probably know, in that OS clang is the default compiler.

At present, depending on OS version, it is clang version 13, 14 or even 16. That version of cc (clang) is always
present.

LLVM is an optional add-on, a package. The default version is 15, and it also installs the clang15 binary for the
correspondingclang version 15. 

As I understand, you're "better off" compiling the LLVM stuff in PostgreSQL with the same version clang compiler as the
LLVMversion you're using. Hence, with LLVM 15, set the environment variable CLANG=/path/to/clang15 when running
configure.If the .bc files will get compiled by the base system clang compiler, this can lead to a ThinLTO link error,
ifthe base system compiler is a newer version of llvm. 

The question is if it is a bad idea to use the base compiler, say clang13, to build postgresql, but set CLANG=clang15
tomatch the LLVM version. Am I better off using clang15 for everything then? 

Cheers,
Palle




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Palle Girgensohn
Дата:
Сообщение: OK to build LLVM (*.bc) with CLANG but rest of postgresql with CC (other compiler)?
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Views no longer in rangeTabls?