This patch is to address 2 problems I found with Clang-tidy:modernize-use-override.
1: missing spaces on pure function decls.
Orig:
void pure() const=0
Problem:
void pure() constoverride =0
Fixed:
void pure() const override =0
2: This is ms-extension specific, but possibly applies to other attribute types. The override is placed before the attribute which doesn’t work well with declspec as this attribute can be inherited or placed before the method identifier.
Orig:
class __declspec(dllexport) X : public Y
{ void p(); };
Problem:
class override __declspec(dllexport) class X : public Y
{ void p(); };
Fixed:
class __declspec(dllexport) class X : public Y
{ void p() override; };
nit: no need for the parentheses around the function call.