Bug 2336002

Summary: ClanLib1 failed to build with GCC 15 ("error: 'class CL_Signal_v3<PARAM1, PARAM2, PARAM3>' has no member named 'owner' [-Wtemplate-body]")
Product: [Fedora] Fedora Reporter: Dave Malcolm <dmalcolm>
Component: ClanLib1Assignee: Hans de Goede <hdegoede>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: hdegoede
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: ClanLib1-1.0.0-46.fc42 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-02-03 19:55:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2333037    

Description Dave Malcolm 2025-01-06 22:00:12 UTC
I'm experimentally rebuilding rawhide with the not-yet-released GCC 15 to see if anything breaks, and to help write the porting guide.  See https://fedoraproject.org/wiki/User:Dmalcolm/gcc-15

My test build with GCC 15 failed:
https://copr.fedorainfracloud.org/coprs/dmalcolm/gcc-15-smoketest-3.failed/build/8476032/

whereas my test build with GCC 14 succeeded:
https://copr.fedorainfracloud.org/coprs/dmalcolm/gcc-15-smoketest-3.failed.checker/build/8477581/

The failing build failed with:

In file included from ../../Sources/API/signals.h:52,
                 from ../../Sources/Core/precomp.h:46,
                 from core_iostream.cpp:30:
../../Sources/API/Signals/signal_v3.h: In copy constructor ‘CL_Signal_v3<PARAM1, PARAM2, PARAM3>::CL_Signal_v3(const CL_Signal_v3<PARAM1, PARAM2, PARAM3>&)’:
../../Sources/API/Signals/signal_v3.h:93:52: error: ‘class CL_Signal_v3<PARAM1, PARAM2, PARAM3>’ has no member named ‘owner’ [-Wtemplate-body]
   93 |                         slot->add_signal_ref(this->owner);
      |                                                    ^~~~~
In file included from ../../Sources/API/signals.h:52,
                 from ../../Sources/Core/precomp.h:46,
                 from precomp.cpp:30:
../../Sources/API/Signals/signal_v3.h: In copy constructor ‘CL_Signal_v3<PARAM1, PARAM2, PARAM3>::CL_Signal_v3(const CL_Signal_v3<PARAM1, PARAM2, PARAM3>&)’:
../../Sources/API/Signals/signal_v3.h:93:52: error: ‘class CL_Signal_v3<PARAM1, PARAM2, PARAM3>’ has no member named ‘owner’ [-Wtemplate-body]
   93 |                         slot->add_signal_ref(this->owner);
      |                                                    ^~~~~

which FWIW doesn't match any of the other failures I've seen with GCC 15.

Reproducible: Always

Comment 1 Dave Malcolm 2025-01-07 20:07:17 UTC
ppalka mentioned to me in chat:

> error looks like correct/true positive to me:
> https://github.com/Grumbel/clanlib-1.0/blob/master/Sources/API/Signals/signal_v3.h#L93
> should be this->impl->owner i think

Comment 2 Hans de Goede 2025-02-03 14:48:43 UTC
(In reply to Dave Malcolm from comment #1)
> ppalka mentioned to me in chat:
> 
> > error looks like correct/true positive to me:
> > https://github.com/Grumbel/clanlib-1.0/blob/master/Sources/API/Signals/signal_v3.h#L93
> > should be this->impl->owner i think

Thank you, I agree that that is the right fix. I'm building a fixed pkg now.

Comment 3 Fedora Update System 2025-02-03 15:03:20 UTC
FEDORA-2025-8538ce4e5d (ClanLib1-1.0.0-46.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-8538ce4e5d

Comment 4 Fedora Update System 2025-02-03 19:55:57 UTC
FEDORA-2025-8538ce4e5d (ClanLib1-1.0.0-46.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.