Bug ID 1225801
Summary Package libgee does not build with gcc14 because of new errors
Classification openSUSE
Product openSUSE Tumbleweed
Version Current
Hardware Other
OS Other
Status NEW
Severity Normal
Priority P5 - None
Component Other
Assignee screening-team-bugs@suse.de
Reporter mjambor@suse.com
QA Contact qa-bugs@suse.de
Blocks 1220571
Target Milestone ---
Found By ---
Blocker ---

GCC 14 newly by default treats as errors a number of situations which
before were only warnings.  For more information see
https://gcc.gnu.org/gcc-14/porting_to.html and meta bug #1220571.

Because of this, package libgee fails to compile.  This can be seen online
at:
https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:Gcc7/libgee/standard/x86_64

It can be reproduced locally with command: osc build --clean
--alternative-project home:rguenther:nextgcc

See also
https://gitlab.com/fweimer-rh/fedora-modernc/-/blob/main/pkg/l/libgee.md?ref_type=heads
and https://bugs.gentoo.org/920315 and https://bugs.gentoo.org/894376


The (first) error (that halts the build) is:

[   11s] concurrentlist.c: In function 'gee_concurrent_list_construct':
[   11s] concurrentlist.c:469:168: error: passing argument 4 of
'gee_hazard_pointer_set_pointer' from incompatible pointer type
[-Wincompatible-pointer-types]
[   11s]   469 |         gee_hazard_pointer_set_pointer
(GEE_CONCURRENT_LIST_TYPE_NODE, (GBoxedCopyFunc) gee_concurrent_list_node_ref,
(GDestroyNotify) gee_concurrent_list_node_unref, &self->priv->_tail, _tmp7_,
(gsize) 0, (gsize) 0);
[   11s]       |                                                               
                                                                               
                        ^~~~~~~~~~~~~~~~~~
[   11s]       |                                                               
                                                                               
                        |
[   11s]       |                                                               
                                                                               
                        GeeConcurrentListNode ** {aka struct
_GeeConcurrentListNode **}
[   11s] In file included from concurrentlist.c:26:
[   11s] gee.h:2076:54: note: expected 'const void ***' but argument is of type
'GeeConcurrentListNode **' {aka 'struct _GeeConcurrentListNode **'}
[   11s]  2076 |                                      gconstpointer** aptr,
[   11s]       |                                      ~~~~~~~~~~~~~~~~^~~~


You are receiving this mail because: