https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109740
--- Comment #7 from Alexander Goomenuk <emerg.reanimator at gmail dot com> --- Another issue with that warning is the lack of ineffective suppression with pragma option. In order to suppress this warning that occurs in a derived class, one need to put this pragma option into base class: _Pragma("GCC diagnostic push") \ _Pragma("GCC diagnostic ignored \"-Woverloaded-virtual\"") clang++ allows the suppression in derived class however.