Bug 1223820 - GCC 14 fails to build libstorage-ng
Summary: GCC 14 fails to build libstorage-ng
Status: RESOLVED FIXED
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Other (show other bugs)
Version: Current
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: E-mail List
QA Contact: E-mail List
URL: https://gcc.gnu.org/bugzilla/show_bug...
Whiteboard:
Keywords:
Depends on:
Blocks: gcc14
  Show dependency treegraph
 
Reported: 2024-05-03 07:59 UTC by Arvin Schnell
Modified: 2024-05-10 06:55 UTC (History)
2 users (show)

See Also:
Found By: Development
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
tiny program to reproduce problem (920 bytes, text/x-c++src)
2024-05-03 07:59 UTC, Arvin Schnell
Details
even shorter program (536 bytes, text/x-c++src)
2024-05-03 08:49 UTC, Arvin Schnell
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Arvin Schnell 2024-05-03 07:59:35 UTC
Created attachment 874637 [details]
tiny program to reproduce problem

The testsuite of libstorage-ng fails with gcc14:

  double free or corruption (fasttop)

I have created a small program to reproduce the problem. Could that
be a gcc bug? Or is the program wrong?
Comment 1 Arvin Schnell 2024-05-03 08:49:32 UTC
Created attachment 874638 [details]
even shorter program
Comment 2 Martin Jambor 2024-05-03 09:20:20 UTC
I'll have a look.
Comment 3 Richard Biener 2024-05-03 11:16:01 UTC
Shorter:

#include <string>
#include <initializer_list>

void __attribute__((noipa))
tata(std::initializer_list<std::string> init)
{
  throw 1;
}

int
main()
{
  try
    {
      tata({ "0123456789012346" }); // using shorter string or "..."s works
    }
  catch (...)
    {
    }
}
Comment 4 Martin Jambor 2024-05-03 12:19:16 UTC
This now https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114935
Comment 5 Richard Biener 2024-05-10 06:55:40 UTC
Fixed in 14.1.0.  openSUSE:Factory:Staging:N (forgot to add a bugzilla ref).

Thanks for reporting.