On Thu, 24 Sep 2026 07:39:33 -0700 David Connet wrote:
DC> On 9/24/2026 5:09 AM, Vadim Zeitlin wrote:
DC> > This matters because combining different wx enums should already be
DC> > supported by the use of wxALLOW_COMBINING_ENUMS() macro. But
DC> > wxSTATIC_BORDER above is an int (well, a #define for an int), not an enum,
DC> > which is why I'd like to see the exact warning message.
DC> >
DC> "Bitwise operation between different enumeration types ('wxAlignment'
DC> and 'wxBorder')"
DC>
DC> I did forget to note that I'm using 3.3.3 - in that, wxSTATIC_BORDER is
DC> defined as wxBORDER_STATIC - which is an enum.
Oops, sorry, I was confused, I had seen that wxSTATIC_BORDER was an enum
but didn't follow it through. So you do have exactly the situation which
wxALLOW_COMBINING_ENUMS(wxAlignment, wxBorder) is supposed to help with and
now I don't understand why it doesn't.
This macro only takes effect in C++20 builds, but you did get these
warnings with C++20, didn't you? Or do you somehow get C++20 warnings in
C++17 builds?