blob: 7fa964c07e5fd0dbf37c7b133f0ba85eb468b5dd [file] [log] [blame]
// 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
};