virtual_base_method_also_final.cpp:10:3: warning: [chromium-style] 'virtual' is redundant; 'final' implies 'virtual'.
  VIRTUAL void F() final {}
  ^~~~~~~~
virtual_base_method_also_final.cpp:5:17: note: expanded from macro 'VIRTUAL'
#define VIRTUAL virtual
                ^
virtual_base_method_also_final.cpp:10:3: warning: [chromium-style] The virtual method does not override anything and is final; consider making it non-virtual.
  VIRTUAL void F() final {}
  ^~~~~~~~         ~~~~~~
virtual_base_method_also_final.cpp:5:17: note: expanded from macro 'VIRTUAL'
#define VIRTUAL virtual
                ^
virtual_base_method_also_final.cpp:13:3: warning: [chromium-style] 'virtual' is redundant; 'final' implies 'virtual'.
  void VIRTUAL G() final {}
  ^
virtual_base_method_also_final.cpp:13:3: warning: [chromium-style] The virtual method does not override anything and is final; consider making it non-virtual.
  void VIRTUAL G() final {}
  ^                ~~~~~~
virtual_base_method_also_final.cpp:16:3: warning: [chromium-style] 'virtual' is redundant; 'final' implies 'virtual'.
  VIRTUAL_VOID H() final {}
  ^
virtual_base_method_also_final.cpp:6:22: note: expanded from macro 'VIRTUAL_VOID'
#define VIRTUAL_VOID virtual void
                     ^
virtual_base_method_also_final.cpp:16:3: warning: [chromium-style] The virtual method does not override anything and is final; consider making it non-virtual.
virtual_base_method_also_final.cpp:6:22: note: expanded from macro 'VIRTUAL_VOID'
#define VIRTUAL_VOID virtual void
                     ^
6 warnings generated.
