DRAFT: Build CI with Ubuntu 25.10 #1668

Open
opened 2026-04-05 19:02:06 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @rubienr on 11/9/2025

Description

Attempt to update the .yml files to build on Ubuntu 25.10 with GNU 15.2 rather than Ubuntu 24.04 + GNU 13.3 because
it reveals about 403 new -Woverloaded-virtual= warnings coming from src/libslic3r/Config.hpp and removes many false-positives.

With gnu 15.2 (still old std=gnu++17) diff to GNU 13.3 is:

   +403 [-Woverloaded-virtual=]
    +32 [-Wold-style-definition]
    -19 [-Wmaybe-uninitialized]
     -1 [-Wclass-memaccess]
     -5 [-Warray-bounds=]

The -Woverloaded-virtual= warnings coming from src/libslic3r/Config.hpp can be broken down to:

class A {
public:
    virtual void foo(const A &x) const = 0;
};

class B : public A {
public:

    // either polymorphism is
    // a.) intended, then this shall match the interface signature ( and type is runtime-casted or better double-dispatched), or
    // b.) not required, the remove `virtual`
    void foo(const B &x) const override { }  // <-- the signature shall match: void A::void foo(const A& x) const
};

int main()  { return 0; }
*Originally created by @rubienr on 11/9/2025* # Description Attempt to update the `.yml` files to build on Ubuntu 25.10 with GNU 15.2 rather than Ubuntu 24.04 + GNU 13.3 because it reveals about 403 new `-Woverloaded-virtual=` warnings coming from `src/libslic3r/Config.hpp` and removes many false-positives. With gnu 15.2 (still old `std=gnu++17`) diff to GNU 13.3 is: ``` +403 [-Woverloaded-virtual=] +32 [-Wold-style-definition] -19 [-Wmaybe-uninitialized] -1 [-Wclass-memaccess] -5 [-Warray-bounds=] ``` The `-Woverloaded-virtual=` warnings coming from `src/libslic3r/Config.hpp` [can be broken down to](https://godbolt.org/z/h1qMTKcoE): ```c++ class A { public: virtual void foo(const A &x) const = 0; }; class B : public A { public: // either polymorphism is // a.) intended, then this shall match the interface signature ( and type is runtime-casted or better double-dispatched), or // b.) not required, the remove `virtual` void foo(const B &x) const override { } // <-- the signature shall match: void A::void foo(const A& x) const }; int main() { return 0; } ```
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/OrcaSlicer#1668