Fix compilation failure against LLVM 11 - Mailing list pgsql-hackers

From Jesse Zhang
Subject Fix compilation failure against LLVM 11
Date
Msg-id CAGf+fX7bvtP0YXMu7pOsu_NwhxW6dArTkxb=jt7M2-UJkyJ_3g@mail.gmail.com
Whole thread Raw
Responses Re: Fix compilation failure against LLVM 11
List pgsql-hackers
Hi hackers,

My local build of master started failing last night with this error:

llvmjit_inline.cpp:59:10: fatal error: 'llvm/IR/CallSite.h' file not found
#include <llvm/IR/CallSite.h>
         ^~~~~~~~~~~~~~~~~~~~

I searched my inbox and the archive, strange that nobody else is seeing
this.

Turns out that LLVM has recently removed "llvm/IR/CallSite.h" in
(unreleased) version 11 [1][2]. To fix the build I tried conditionally
(on LLVM_VERSION_MAJOR < 11) including CallSite.h, but that looks yuck.
Then I poked at llvmjit_inline.cpp a bit and found that CallSite.h
doesn't seem to be really necessary. PFA a patch that simply removes
this #include.

In addition, I've done the due dilligence of trying to build against
LLVM versions 8, 9, 10.

Cheers,
Jesse

[1] LLVM Differential Revision: https://reviews.llvm.org/D78794
[2] LLVM commit https://github.com/llvm/llvm-project/commit/2c24051bacd2
"[CallSite removal] Rename CallSite.h to AbstractCallSite.h. NFC"

Attachment

pgsql-hackers by date:

Previous
From: Noah Misch
Date:
Subject: 001_rep_changes.pl timeout on jacana/bowerbird
Next
From: Andy Fan
Date:
Subject: Re: Subplan result caching