[Bug 1233590] New: GCC14 C++ CTAD failure due to ambiguous overload
https://bugzilla.suse.com/show_bug.cgi?id=1233590 Bug ID: 1233590 Summary: GCC14 C++ CTAD failure due to ambiguous overload Classification: openSUSE Product: openSUSE Distribution Version: Leap 15.6 Hardware: x86-64 OS: SLES 15 Status: NEW Severity: Normal Priority: P5 - None Component: Development Assignee: screening-team-bugs@suse.de Reporter: pafee@tycoint.com QA Contact: qa-bugs@suse.de Target Milestone: --- Found By: --- Blocker: --- Created attachment 878657 --> https://bugzilla.suse.com/attachment.cgi?id=878657&action=edit Illustration of compilation failure on Leap While using a C++ compile time fixed_string library, I encountered an issue with Leap's version of GCC 14. I tried a number of combinations: * GCC-13, C++20: Pass * GCC-13, C++23: Pass * GCC-14, C++20: Pass * GCC-14, C++23: Fail Testing on Tumbleweed all combinations passed. Distro compiler versions reported by "g++-14 -v" Leap 15.6: gcc version 14.2.0 (SUSE Linux) Tumbleweed: gcc version 14.2.1 20241007 [revision 4af44f2cf7d281f3e4f3957efce10e8b2ccb2ad3] (SUSE Linux) I've stripped down the code in question to produce a minimal reproducible example (see attachment). Since the code works with GCC 14.2.1 on Tumbleweed, is the Leap package lacking upstream updates? -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1233590 https://bugzilla.suse.com/show_bug.cgi?id=1233590#c2 --- Comment #2 from Paul Fee <pafee@tycoint.com> --- Leap has GCC 14.2.0, Tumbleweed 14.2.1. Given that the GCC project's latest release is 14.2 (no third digit), what do the 0 and 1 indicate for Leap and Tumbleweed? I imagine Leap takes the 14.2 release and adds minimal patches. The changelog suggests Tumbleweed tracks the GCC project's gcc-14 branch, does this indicate its 14.2.1 package includes changes that will eventually be published upstream as GCC 14.3? Is this an accurate assessment of Leap and Tumbleweed's packaging of GCC? If so, then perhaps I can clone GCC's public repo and attempt to bisect the issue to find out where between 14.2.0 and gcc-14 HEAD (14.2.1 on Tumbleweed) the issue gets fixed. That in turn may allow the fix to be backported to Leap. Is GCC's git repo the place to search or does Tumbleweed have its own GCC repo that would be a better place to look for the relevant change? -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1233590 https://bugzilla.suse.com/show_bug.cgi?id=1233590#c4 Paul Fee <pafee@tycoint.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(pafee@tycoint.com | |) | --- Comment #4 from Paul Fee <pafee@tycoint.com> ---
Yeah, that's accurate.
Thanks I now see the relationship between the releases/gcc-14 branch in GCC's git repo, the 14.2 official release and Tumbleweed's 14.2.1 version.
perhaps I can clone GCC's public repo and attempt to bisect the issue Yes, that would be very nice.
Using "git bisect run" (fantastic tool), I was able to scan between the releases/gcc-14.2.0 tag and the HEAD of the releases/gcc-14 branch. The relevant commit is: b5ed381d05e c++: inherited CTAD fixes [PR116276] I also cherry-picked this into a worktree reset back to 04696df0963 (tag: releases/gcc-14.2.0). This applied cleanly and resolved the issue. Suggesting that it may be feasible to backport this into the Leap 14.2.0 package if the project deems appropriate. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com