Re: JIT compiling with LLVM v9.0

Поиск
Список
Период
Сортировка
От Konstantin Knizhnik
Тема Re: JIT compiling with LLVM v9.0
Дата
Msg-id 851c8ebb-7637-f861-d291-16380d16dd3c@postgrespro.ru
обсуждение исходный текст
Ответ на Re: JIT compiling with LLVM v9.0  (Thomas Munro <thomas.munro@enterprisedb.com>)
Ответы Re: JIT compiling with LLVM v9.0  (Jeff Davis <pgsql@j-davis.com>)
Список pgsql-hackers

On 31.01.2018 05:48, Thomas Munro wrote:
>
>>> This seems to be a valid complaint.  I don't think you should be
>>> (indirectly) wrapping Types.h in extern "C".  At a guess, your
>>> llvmjit.h should be doing its own #ifdef __cplusplus'd linkage
>>> specifiers, so you can use it from C or C++, but making sure that you
>>> don't #include LLVM's headers from a bizarro context where __cplusplus
>>> is defined but the linkage is unexpectedly already "C"?
>> Hm, this seems like a bit of pointless nitpickery by the compiler to me,
>> but I guess...
> Well that got me curious about how GCC could possibly be accepting
> that (it certainly doesn't like extern "C" template ... any more than
> the next compiler).  I dug a bit and realised that it's the stdlib
> that's different:  libstdc++ has its own extern "C++" in <cmath>,
> while  libc++ doesn't.
>
The same problem takes place with old versions of GCC: I have to upgrade 
GCC to 7.2 to make it possible to compile this code.
The problem in not in compiler itself, but in libc++ headers.

-- 
Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company



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

Предыдущее
От: Amit Langote
Дата:
Сообщение: Re: [HACKERS] path toward faster partition pruning
Следующее
От: Yugo Nagata
Дата:
Сообщение: Re: [HACKERS] [PATCH] Lockable views