Thread: Compiler warning on Debian 12, PostgreSQL 16 Beta3
Hi, I've just noticed this warning when building on Debian 12: In file included from /usr/lib/llvm-14/include/llvm/Analysis/ModuleSummaryAnalysis.h:17, from llvmjit_inline.cpp:51: /usr/lib/llvm-14/include/llvm/IR/ModuleSummaryIndex.h: In constructor ‘llvm::ModuleSummaryIndex::ModuleSummaryIndex(bool,bool)’: /usr/lib/llvm-14/include/llvm/IR/ModuleSummaryIndex.h:1175:73: warning: member ‘llvm::ModuleSummaryIndex::Alloc’ is useduninitialized [-Wuninitialized] 1175 | : HaveGVs(HaveGVs), EnableSplitLTOUnit(EnableSplitLTOUnit), Saver(Alloc), | cat /etc/debian_version 12.1 Regards Daniel
On 2023-Aug-25, Daniel Westermann (DWE) wrote: > I've just noticed this warning when building on Debian 12: > > In file included from /usr/lib/llvm-14/include/llvm/Analysis/ModuleSummaryAnalysis.h:17, > from llvmjit_inline.cpp:51: > /usr/lib/llvm-14/include/llvm/IR/ModuleSummaryIndex.h: In constructor ‘llvm::ModuleSummaryIndex::ModuleSummaryIndex(bool,bool)’: > /usr/lib/llvm-14/include/llvm/IR/ModuleSummaryIndex.h:1175:73: warning: member ‘llvm::ModuleSummaryIndex::Alloc’ is useduninitialized [-Wuninitialized] > 1175 | : HaveGVs(HaveGVs), EnableSplitLTOUnit(EnableSplitLTOUnit), Saver(Alloc), > | Yeah, I get this one too. I thought commit 37d5babb5cfa ("jit: Support opaque pointers in LLVM 16.") was going to silence it, but I was quite mistaken. I gave that code a quick look and could not understand what it was complaining about. Is it a bug in the LLVM headers? Adding Andres and Thomas to CC, because they're the ones touching the LLVM / JIT code. Any clues? -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
On Wed, Nov 8, 2023 at 4:46 AM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote: > On 2023-Aug-25, Daniel Westermann (DWE) wrote: > > I've just noticed this warning when building on Debian 12: > > > > In file included from /usr/lib/llvm-14/include/llvm/Analysis/ModuleSummaryAnalysis.h:17, > > from llvmjit_inline.cpp:51: > > /usr/lib/llvm-14/include/llvm/IR/ModuleSummaryIndex.h: In constructor ‘llvm::ModuleSummaryIndex::ModuleSummaryIndex(bool,bool)’: > > /usr/lib/llvm-14/include/llvm/IR/ModuleSummaryIndex.h:1175:73: warning: member ‘llvm::ModuleSummaryIndex::Alloc’ is useduninitialized [-Wuninitialized] > > 1175 | : HaveGVs(HaveGVs), EnableSplitLTOUnit(EnableSplitLTOUnit), Saver(Alloc), > > | > > Yeah, I get this one too. I thought commit 37d5babb5cfa ("jit: Support > opaque pointers in LLVM 16.") was going to silence it, but I was quite > mistaken. I gave that code a quick look and could not understand what > it was complaining about. Is it a bug in the LLVM headers? I found the commit where they fixed that in 15+: https://github.com/llvm/llvm-project/commit/1d9086bf054c2e734940620d02d4451156b424e6 They don't seem to back-patch fixes, generally.
On 2023-Nov-08, Thomas Munro wrote: > On Wed, Nov 8, 2023 at 4:46 AM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote: > > On 2023-Aug-25, Daniel Westermann (DWE) wrote: > > > > Yeah, I get this one too. I thought commit 37d5babb5cfa ("jit: Support > > opaque pointers in LLVM 16.") was going to silence it, but I was quite > > mistaken. I gave that code a quick look and could not understand what > > it was complaining about. Is it a bug in the LLVM headers? > > I found the commit where they fixed that in 15+: > > https://github.com/llvm/llvm-project/commit/1d9086bf054c2e734940620d02d4451156b424e6 > > They don't seem to back-patch fixes, generally. Ah yeah, I can silence the warning by patching that file locally. Annoying :-( -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/ "El sabio habla porque tiene algo que decir; el tonto, porque tiene que decir algo" (Platon).
On Wed, Nov 8, 2023 at 8:13 AM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote: > On 2023-Nov-08, Thomas Munro wrote: > > On Wed, Nov 8, 2023 at 4:46 AM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote: > > > On 2023-Aug-25, Daniel Westermann (DWE) wrote: > > > > > > Yeah, I get this one too. I thought commit 37d5babb5cfa ("jit: Support > > > opaque pointers in LLVM 16.") was going to silence it, but I was quite > > > mistaken. I gave that code a quick look and could not understand what > > > it was complaining about. Is it a bug in the LLVM headers? > > > > I found the commit where they fixed that in 15+: > > > > https://github.com/llvm/llvm-project/commit/1d9086bf054c2e734940620d02d4451156b424e6 > > > > They don't seem to back-patch fixes, generally. > > Ah yeah, I can silence the warning by patching that file locally. Since LLVM only seems to maintain one branch at a time as a matter of policy (I don't see were that is written down but I do see for example their backport request format[1] which strictly goes from main to (currently) release/17.x, and see how the commit history of each release branch ends as a new branch is born), I suppose another angle would be to check if the Debian maintainers carry extra patches for stuff like that. They're the ones creating the dependency on an 'old' LLVM after all. Unlike the RHEL/etc maintainers' fast rolling version policy (that we learned about in the thread for CF #4640). Who wants to ship zombie unmaintained code for years? On the other hand, Debian itself rolls faster than RHEL. [1] https://llvm.org/docs/GitHub.html