Bug 1224536

Summary: Package dia does not build with gcc14 because of a call argument with an incompatible pointer type
Product: [openSUSE] openSUSE Tumbleweed Reporter: Martin Jambor <mjambor>
Component: OtherAssignee: openSUSE GNOME <os.gnome.maintainers>
Status: NEW --- QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 1220571    

Description Martin Jambor 2024-05-20 14:19:15 UTC
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 fails to compile.  This can be seen online
at:
https://build.opensuse.org/package/live_build_log/home:rguenther:plgrnd/dia/openSUSE_Factory/x86_64

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

The error (that halts the build) is:

[   66s] custom_object.c: In function 'custom_setup_properties':
[   66s] custom_object.c:382:49: error: passing argument 1 of '(info->props + (sizetype)((long unsigned int)i * 88))->ops->get_data_size' from incompatible pointer type [-Wincompatible-pointer-types]
[   66s]   382 |       size = info->props[i].ops->get_data_size (&info->props[i]);
[   66s]       |                                                 ^~~~~~~~~~~~~~~
[   66s]       |                                                 |
[   66s]       |                                                 PropDescription * {aka struct _PropDescription *}
[   66s] custom_object.c:382:49: note: expected 'Property *' {aka 'struct _Property *'} but argument is of type 'PropDescription *' {aka 'struct _PropDescription *'}