Thread: Compiler warning on Debian 12, PostgreSQL 16 Beta3

Compiler warning on Debian 12, PostgreSQL 16 Beta3

From
"Daniel Westermann (DWE)"
Date:
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


Re: Compiler warning on Debian 12, PostgreSQL 16 Beta3

From
Alvaro Herrera
Date:
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/



Re: Compiler warning on Debian 12, PostgreSQL 16 Beta3

From
Thomas Munro
Date:
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.



Re: Compiler warning on Debian 12, PostgreSQL 16 Beta3

From
Alvaro Herrera
Date:
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).



Re: Compiler warning on Debian 12, PostgreSQL 16 Beta3

From
Thomas Munro
Date:
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