Index: tools/clang/plugins/FindBadConstructsConsumer.cpp |
diff --git a/tools/clang/plugins/FindBadConstructsConsumer.cpp b/tools/clang/plugins/FindBadConstructsConsumer.cpp |
index 46e1df851b5358c2b31e1da669c8eaf0fec60314..92396e6ff0b3755de00cc9b6a12fe7ac49729f33 100644 |
--- a/tools/clang/plugins/FindBadConstructsConsumer.cpp |
+++ b/tools/clang/plugins/FindBadConstructsConsumer.cpp |
@@ -331,8 +331,7 @@ bool FindBadConstructsConsumer::IsMethodInBannedOrTestingNamespace( |
// magic to try to make sure SetUp()/TearDown() aren't capitalized |
// incorrectly, but having the plugin enforce override is also nice. |
(InTestingNamespace(overridden) && |
- (!options_.strict_virtual_specifiers || |
- !IsGtestTestFixture(overridden->getParent())))) { |
+ !IsGtestTestFixture(overridden->getParent()))) { |
return true; |
} |
} |
@@ -393,20 +392,13 @@ void FindBadConstructsConsumer::CheckVirtualSpecifiers( |
OverrideAttr* override_attr = method->getAttr<OverrideAttr>(); |
FinalAttr* final_attr = method->getAttr<FinalAttr>(); |
- if (method->isPure() && !options_.strict_virtual_specifiers) |
- return; |
- |
if (IsMethodInBannedOrTestingNamespace(method)) |
return; |
- if (isa<CXXDestructorDecl>(method) && !options_.strict_virtual_specifiers) |
- return; |
- |
SourceManager& manager = instance().getSourceManager(); |
// Complain if a method is annotated virtual && (override || final). |
- if (has_virtual && (override_attr || final_attr) && |
- options_.strict_virtual_specifiers) { |
+ if (has_virtual && (override_attr || final_attr)) { |
diagnostic().Report(method->getLocStart(), |
diag_redundant_virtual_specifier_) |
<< "'virtual'" |
@@ -436,14 +428,14 @@ void FindBadConstructsConsumer::CheckVirtualSpecifiers( |
} |
} |
- if (final_attr && override_attr && options_.strict_virtual_specifiers) { |
+ if (final_attr && override_attr) { |
diagnostic().Report(override_attr->getLocation(), |
diag_redundant_virtual_specifier_) |
<< override_attr << final_attr |
<< FixItHint::CreateRemoval(override_attr->getRange()); |
} |
- if (final_attr && !is_override && options_.strict_virtual_specifiers) { |
+ if (final_attr && !is_override) { |
diagnostic().Report(method->getLocStart(), |
diag_base_method_virtual_and_final_) |
<< FixItRemovalForVirtual(manager, method) |