Bug 2336002 - ClanLib1 failed to build with GCC 15 ("error: 'class CL_Signal_v3<PARAM1, PARAM2, PARAM3>' has no member named 'owner' [-Wtemplate-body]")
Summary: ClanLib1 failed to build with GCC 15 ("error: 'class CL_Signal_v3<PARAM1, PAR...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: ClanLib1
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Hans de Goede
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: gcc-15-mass-prebuild
TreeView+ depends on / blocked
 
Reported: 2025-01-06 22:00 UTC by Dave Malcolm
Modified: 2025-02-03 19:55 UTC (History)
1 user (show)

Fixed In Version: ClanLib1-1.0.0-46.fc42
Clone Of:
Environment:
Last Closed: 2025-02-03 19:55:57 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

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.


Note You need to log in before you can comment on or make changes to this bug.