// PR c++/100796 // { dg-additional-options "-Wsuggest-override -fplugin-arg-location_overflow_plugin-value=0x60000001" } // Passing LINE_MAP_MAX_LOCATION_WITH_COLS meant we stopped distinguishing between lines in a macro. #define DO_PRAGMA(text) _Pragma(#text) #define WARNING_PUSH DO_PRAGMA(GCC diagnostic push) #define WARNING_POP DO_PRAGMA(GCC diagnostic pop) #define WARNING_DISABLE(text) DO_PRAGMA(GCC diagnostic ignored text) #define NO_OVERRIDE_WARNING WARNING_DISABLE("-Wsuggest-override") #define BOILERPLATE \ WARNING_PUSH \ NO_OVERRIDE_WARNING \ void f(); \ WARNING_POP struct B { virtual void f(); }; struct D: B { BOILERPLATE };