Bug 1228354 - Package rubygem-hpricot does not build with gcc 14 because of new errors (that were previously warnings)
Summary: Package rubygem-hpricot does not build with gcc 14 because of new errors (tha...
Status: RESOLVED DUPLICATE of bug 1225921
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Ruby (show other bugs)
Version: Current
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Ruby Devel
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: modern_C
  Show dependency treegraph
 
Reported: 2024-07-26 12:17 UTC by Martin Jambor
Modified: 2024-07-26 12:27 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Jambor 2024-07-26 12:17:33 UTC
Package rubygem-hpricot fails to build with GCC 14 because of various
C99 violations which previously just generated warning s but which
cause errors with GCC 14 by default.  For more information see
https://gcc.gnu.org/gcc-14/porting_to.html and meta bug #1220571.

BuildService failures are available online at:
https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:Gcc7/rubygem-hpricot/standard/x86_64

The build with GCC 14 can now be tried locally with:
osc build --clean --alternative-project home:rguenther:nextgcc

The (first) error that stops the build is:

[    8s] fast_xs.c:165:46: error: passing argument 3 of ‘rb_rescue’ from incompatible pointer type [-Wincompatible-pointer-types]
[    8s]   165 |         array = rb_rescue(unpack_utf8, self, unpack_uchar, self);
[    8s]       |                                              ^~~~~~~~~~~~
[    8s]       |                                              |
[    8s]       |                                              VALUE (*)(VALUE) {aka long unsigned int (*)(long unsigned int)}
[    8s] In file included from /usr/include/ruby-3.3.0/ruby/ruby.h:41,
[    8s]                  from /usr/include/ruby-3.3.0/ruby.h:38,
[    8s]                  from fast_xs.c:1:
[    8s] /usr/include/ruby-3.3.0/ruby/internal/iterator.h:364:62: note: expected ‘VALUE (*)(VALUE,  VALUE)’ {aka ‘long unsigned int (*)(long unsigned int,  long unsigned int)’} but argument is of type ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’}
[    8s]   364 | VALUE rb_rescue(VALUE (*b_proc)(VALUE), VALUE data1, VALUE (*r_proc)(VALUE, VALUE), VALUE data2);
[    8s]       |                                                      ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
Comment 1 Martin Jambor 2024-07-26 12:27:13 UTC
Apparently I have already filed a bug for this.

*** This bug has been marked as a duplicate of bug 1225921 ***