Silence some GCC warnings
As noticed with gcc9 and gcc13 after the switch to C++20.
Commit message:
Silence some GCC warnings:
-ignoring #pragma clang diagnostic [-Wunknown-pragmas]
-arithmetic between different enumeration types ‘A’ and ‘B’ is deprecated [-Wdeprecated-enum-enum-conversion]
-bitwise operation between different enumeration types ‘A’ and ‘B’ is deprecated [-Wdeprecated-enum-enum-conversion]
-implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
Thanks to @mroszko 's help.
( There are also plenty of other warnings but hopefully this MR is OK for now. )