Thread

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. jit: Support opaque pointers in LLVM 16.

  1. Compiler warning on Debian 12, PostgreSQL 16 Beta3

    Daniel Westermann (DWE) <daniel.westermann@dbi-services.com> — 2023-08-25T05:36:12Z

    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 used uninitialized [-Wuninitialized]
     1175 |       : HaveGVs(HaveGVs), EnableSplitLTOUnit(EnableSplitLTOUnit), Saver(Alloc),
          |                    
    
    cat /etc/debian_version 
    12.1
    
    Regards
    Daniel
    
    
    
  2. Re: Compiler warning on Debian 12, PostgreSQL 16 Beta3

    Alvaro Herrera <alvherre@alvh.no-ip.org> — 2023-11-07T15:46:53Z

    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 used uninitialized [-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/
    
    
    
    
  3. Re: Compiler warning on Debian 12, PostgreSQL 16 Beta3

    Thomas Munro <thomas.munro@gmail.com> — 2023-11-07T18:56:07Z

    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 used uninitialized [-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.
    
    
    
    
  4. Re: Compiler warning on Debian 12, PostgreSQL 16 Beta3

    Alvaro Herrera <alvherre@alvh.no-ip.org> — 2023-11-07T19:13:52Z

    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).
    
    
    
    
  5. Re: Compiler warning on Debian 12, PostgreSQL 16 Beta3

    Thomas Munro <thomas.munro@gmail.com> — 2023-11-07T21:00:59Z

    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
    
    
    
    
  6. Re: Compiler warning on Debian 12, PostgreSQL 16 Beta3

    Thomas Munro <thomas.munro@gmail.com> — 2025-12-30T09:22:21Z

    On Wed, Nov 8, 2023 at 10:00 AM Thomas Munro <thomas.munro@gmail.com> wrote:
    > 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.
    
    I was looking into buildfarm warnings today and noticed this one again
    on 'hawk'.  My C++ is a little rusty but I wanted to know if anything
    could actually break because of this, and I'm not seeing it.  I'm not
    a lawyer but I'm not sure that "used" is even true in this statement:
    
    "member ‘llvm::ModuleSummaryIndex::Alloc’ is used uninitialize"
    
    ... considering that StringSaver's constructor just binds a reference.
    There can surely be no doubt about its address.  With that suspicion I
    checked a few compilers and noticed that GCC 14 stopped emitting the
    warning!  Then I found my way to:
    
    https://github.com/gcc-mirror/gcc/commit/b83f3cd3ff765fb82344b848b8a128763b7a4233