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