JIT versus standalone-headers checks

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: JIT versus standalone-headers checks
Date: 2018-06-10 19:59:04
Message-ID: 28392.1528660744@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I find that the JIT stuff has broken cpluspluscheck for me, along
with a related script that I use to verify that each header builds
cleanly standalone (ie with no prerequisites except postgres.h).
There are two problems:

(1) Doesn't work on a platform without the llvm header files:

./src/include/jit/llvmjit.h:18:26: error: llvm-c/Types.h: No such file or directory
followed by a lot of complaints like
./src/include/jit/llvmjit.h:60: error: 'LLVMTypeRef' does not name a type

It seems like a reasonable fix for that is to wrap the contents of these
headers in "#ifdef USE_LLVM" ... do you see a reason not to?

(2) This seems to need re-thought:

./src/include/jit/llvmjit.h:15:2: error: #error "llvmjit.h should only be included by code dealing with llvm"

I don't especially see the value of this #error, especially if we are
wrapping this whole header in "#ifdef USE_LLVM", and propose to just
remove it.

Thoughts?

regards, tom lane

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Devrim Gündüz 2018-06-10 20:55:09 Re: Failed rpm package signature checks with reposync
Previous Message crbenesch 2018-06-10 19:53:02 Re: queriing the version of libpq