[clang-tools-extra] a4bdeb9 - [clang-tidy][NFC] replace some redundant std::string creations
Nathan James via cfe-commits
cfe-commits at lists.llvm.org
Wed Jan 19 10:36:50 PST 2022
Author: Nathan James
Date: 2022-01-19T18:36:35Z
New Revision: a4bdeb9a563475fd989d97138971895f606f45d3
URL: https://github.com/llvm/llvm-project/commit/a4bdeb9a563475fd989d97138971895f606f45d3
DIFF: https://github.com/llvm/llvm-project/commit/a4bdeb9a563475fd989d97138971895f606f45d3.diff
LOG: [clang-tidy][NFC] replace some redundant std::string creations
Added:
Modified:
clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp
clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp
clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
Removed:
################################################################################
diff --git a/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
index 771a8780b070e..3c479d2b192e7 100644
--- a/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
@@ -23,42 +23,53 @@ namespace optutils = clang::tidy::utils::options;
static constexpr std::size_t DefaultMinimumLength = 2;
/// The default value for ignored parameter names.
-static const std::string DefaultIgnoredParameterNames =
- optutils::serializeStringList({"\"\"", "iterator", "Iterator", "begin",
- "Begin", "end", "End", "first", "First",
- "last", "Last", "lhs", "LHS", "rhs", "RHS"});
+static constexpr llvm::StringLiteral DefaultIgnoredParameterNames = "\"\";"
+ "iterator;"
+ "Iterator;"
+ "begin;"
+ "Begin;"
+ "end;"
+ "End;"
+ "first;"
+ "First;"
+ "last;"
+ "Last;"
+ "lhs;"
+ "LHS;"
+ "rhs;"
+ "RHS";
/// The default value for ignored parameter type suffixes.
-static const std::string DefaultIgnoredParameterTypeSuffixes =
- optutils::serializeStringList({"bool",
- "Bool",
- "_Bool",
- "it",
- "It",
- "iterator",
- "Iterator",
- "inputit",
- "InputIt",
- "forwardit",
- "ForwardIt",
- "bidirit",
- "BidirIt",
- "constiterator",
- "const_iterator",
- "Const_Iterator",
- "Constiterator",
- "ConstIterator",
- "RandomIt",
- "randomit",
- "random_iterator",
- "ReverseIt",
- "reverse_iterator",
- "reverse_const_iterator",
- "ConstReverseIterator",
- "Const_Reverse_Iterator",
- "const_reverse_iterator",
- "Constreverseiterator",
- "constreverseiterator"});
+static constexpr llvm::StringLiteral DefaultIgnoredParameterTypeSuffixes =
+ "bool;"
+ "Bool;"
+ "_Bool;"
+ "it;"
+ "It;"
+ "iterator;"
+ "Iterator;"
+ "inputit;"
+ "InputIt;"
+ "forwardit;"
+ "ForwardIt;"
+ "bidirit;"
+ "BidirIt;"
+ "constiterator;"
+ "const_iterator;"
+ "Const_Iterator;"
+ "Constiterator;"
+ "ConstIterator;"
+ "RandomIt;"
+ "randomit;"
+ "random_iterator;"
+ "ReverseIt;"
+ "reverse_iterator;"
+ "reverse_const_iterator;"
+ "ConstReverseIterator;"
+ "Const_Reverse_Iterator;"
+ "const_reverse_iterator;"
+ "Constreverseiterator;"
+ "constreverseiterator";
/// The default value for the QualifiersMix check option.
static constexpr bool DefaultQualifiersMix = false;
diff --git a/clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp b/clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp
index fb96ce77a13df..a050a0ded574e 100644
--- a/clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp
+++ b/clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp
@@ -9,8 +9,8 @@
#include "TypeMismatchCheck.h"
#include "clang/Lex/Lexer.h"
#include "clang/Tooling/FixIt.h"
+#include "llvm/ADT/StringSet.h"
#include <map>
-#include <unordered_set>
using namespace clang::ast_matchers;
@@ -26,9 +26,8 @@ namespace mpi {
///
/// \returns true if the pair matches
static bool
-isMPITypeMatching(const std::multimap<BuiltinType::Kind, std::string> &MultiMap,
- const BuiltinType::Kind Kind,
- const std::string &MPIDatatype) {
+isMPITypeMatching(const std::multimap<BuiltinType::Kind, StringRef> &MultiMap,
+ const BuiltinType::Kind Kind, StringRef MPIDatatype) {
auto ItPair = MultiMap.equal_range(Kind);
while (ItPair.first != ItPair.second) {
if (ItPair.first->second == MPIDatatype)
@@ -43,41 +42,40 @@ isMPITypeMatching(const std::multimap<BuiltinType::Kind, std::string> &MultiMap,
/// \param MPIDatatype name of the MPI datatype
///
/// \returns true if the type is a standard type
-static bool isStandardMPIDatatype(const std::string &MPIDatatype) {
- static std::unordered_set<std::string> AllTypes = {
- "MPI_C_BOOL",
- "MPI_CHAR",
- "MPI_SIGNED_CHAR",
- "MPI_UNSIGNED_CHAR",
- "MPI_WCHAR",
- "MPI_INT",
- "MPI_LONG",
- "MPI_SHORT",
- "MPI_LONG_LONG",
- "MPI_LONG_LONG_INT",
- "MPI_UNSIGNED",
- "MPI_UNSIGNED_SHORT",
- "MPI_UNSIGNED_LONG",
- "MPI_UNSIGNED_LONG_LONG",
- "MPI_FLOAT",
- "MPI_DOUBLE",
- "MPI_LONG_DOUBLE",
- "MPI_C_COMPLEX",
- "MPI_C_FLOAT_COMPLEX",
- "MPI_C_DOUBLE_COMPLEX",
- "MPI_C_LONG_DOUBLE_COMPLEX",
- "MPI_INT8_T",
- "MPI_INT16_T",
- "MPI_INT32_T",
- "MPI_INT64_T",
- "MPI_UINT8_T",
- "MPI_UINT16_T",
- "MPI_UINT32_T",
- "MPI_UINT64_T",
- "MPI_CXX_BOOL",
- "MPI_CXX_FLOAT_COMPLEX",
- "MPI_CXX_DOUBLE_COMPLEX",
- "MPI_CXX_LONG_DOUBLE_COMPLEX"};
+static bool isStandardMPIDatatype(StringRef MPIDatatype) {
+ static llvm::StringSet<> AllTypes = {"MPI_C_BOOL",
+ "MPI_CHAR",
+ "MPI_SIGNED_CHAR",
+ "MPI_UNSIGNED_CHAR",
+ "MPI_WCHAR",
+ "MPI_INT",
+ "MPI_LONG",
+ "MPI_SHORT",
+ "MPI_LONG_LONG",
+ "MPI_LONG_LONG_INT",
+ "MPI_UNSIGNED",
+ "MPI_UNSIGNED_SHORT",
+ "MPI_UNSIGNED_LONG",
+ "MPI_UNSIGNED_LONG_LONG",
+ "MPI_FLOAT",
+ "MPI_DOUBLE",
+ "MPI_LONG_DOUBLE",
+ "MPI_C_COMPLEX",
+ "MPI_C_FLOAT_COMPLEX",
+ "MPI_C_DOUBLE_COMPLEX",
+ "MPI_C_LONG_DOUBLE_COMPLEX",
+ "MPI_INT8_T",
+ "MPI_INT16_T",
+ "MPI_INT32_T",
+ "MPI_INT64_T",
+ "MPI_UINT8_T",
+ "MPI_UINT16_T",
+ "MPI_UINT32_T",
+ "MPI_UINT64_T",
+ "MPI_CXX_BOOL",
+ "MPI_CXX_FLOAT_COMPLEX",
+ "MPI_CXX_DOUBLE_COMPLEX",
+ "MPI_CXX_LONG_DOUBLE_COMPLEX"};
return AllTypes.find(MPIDatatype) != AllTypes.end();
}
@@ -92,9 +90,9 @@ static bool isStandardMPIDatatype(const std::string &MPIDatatype) {
/// \returns true if the type matches
static bool isBuiltinTypeMatching(const BuiltinType *Builtin,
std::string &BufferTypeName,
- const std::string &MPIDatatype,
+ StringRef MPIDatatype,
const LangOptions &LO) {
- static std::multimap<BuiltinType::Kind, std::string> BuiltinMatches = {
+ static std::multimap<BuiltinType::Kind, StringRef> BuiltinMatches = {
// On some systems like PPC or ARM, 'char' is unsigned by default which is
// why distinct signedness for the buffer and MPI type is tolerated.
{BuiltinType::SChar, "MPI_CHAR"},
@@ -145,9 +143,9 @@ static bool isBuiltinTypeMatching(const BuiltinType *Builtin,
/// \returns true if the type matches or the buffer type is unknown
static bool isCComplexTypeMatching(const ComplexType *const Complex,
std::string &BufferTypeName,
- const std::string &MPIDatatype,
+ StringRef MPIDatatype,
const LangOptions &LO) {
- static std::multimap<BuiltinType::Kind, std::string> ComplexCMatches = {
+ static std::multimap<BuiltinType::Kind, StringRef> ComplexCMatches = {
{BuiltinType::Float, "MPI_C_COMPLEX"},
{BuiltinType::Float, "MPI_C_FLOAT_COMPLEX"},
{BuiltinType::Double, "MPI_C_DOUBLE_COMPLEX"},
@@ -175,10 +173,9 @@ static bool isCComplexTypeMatching(const ComplexType *const Complex,
/// \returns true if the type matches or the buffer type is unknown
static bool
isCXXComplexTypeMatching(const TemplateSpecializationType *const Template,
- std::string &BufferTypeName,
- const std::string &MPIDatatype,
+ std::string &BufferTypeName, StringRef MPIDatatype,
const LangOptions &LO) {
- static std::multimap<BuiltinType::Kind, std::string> ComplexCXXMatches = {
+ static std::multimap<BuiltinType::Kind, StringRef> ComplexCXXMatches = {
{BuiltinType::Float, "MPI_CXX_FLOAT_COMPLEX"},
{BuiltinType::Double, "MPI_CXX_DOUBLE_COMPLEX"},
{BuiltinType::LongDouble, "MPI_CXX_LONG_DOUBLE_COMPLEX"}};
@@ -208,8 +205,8 @@ isCXXComplexTypeMatching(const TemplateSpecializationType *const Template,
/// \returns true if the type matches or the buffer type is unknown
static bool isTypedefTypeMatching(const TypedefType *const Typedef,
std::string &BufferTypeName,
- const std::string &MPIDatatype) {
- static llvm::StringMap<std::string> FixedWidthMatches = {
+ StringRef MPIDatatype) {
+ static llvm::StringMap<StringRef> FixedWidthMatches = {
{"int8_t", "MPI_INT8_T"}, {"int16_t", "MPI_INT16_T"},
{"int32_t", "MPI_INT32_T"}, {"int64_t", "MPI_INT64_T"},
{"uint8_t", "MPI_UINT8_T"}, {"uint16_t", "MPI_UINT16_T"},
@@ -272,8 +269,7 @@ void TypeMismatchCheck::check(const MatchFinder::MatchResult &Result) {
const Type *ArgType = argumentType(CE, BufferIdx);
// Skip unknown MPI datatypes and void pointers.
- if (!isStandardMPIDatatype(std::string(MPIDatatype)) ||
- ArgType->isVoidType())
+ if (!isStandardMPIDatatype(MPIDatatype) || ArgType->isVoidType())
return;
BufferTypes.push_back(ArgType);
@@ -311,17 +307,16 @@ void TypeMismatchCheck::checkArguments(ArrayRef<const Type *> BufferTypes,
bool Error = false;
if (const auto *Typedef = BT->getAs<TypedefType>()) {
- Error = !isTypedefTypeMatching(Typedef, BufferTypeName,
- std::string(MPIDatatypes[I]));
+ Error = !isTypedefTypeMatching(Typedef, BufferTypeName, MPIDatatypes[I]);
} else if (const auto *Complex = BT->getAs<ComplexType>()) {
- Error = !isCComplexTypeMatching(Complex, BufferTypeName,
- std::string(MPIDatatypes[I]), LO);
+ Error =
+ !isCComplexTypeMatching(Complex, BufferTypeName, MPIDatatypes[I], LO);
} else if (const auto *Template = BT->getAs<TemplateSpecializationType>()) {
Error = !isCXXComplexTypeMatching(Template, BufferTypeName,
- std::string(MPIDatatypes[I]), LO);
+ MPIDatatypes[I], LO);
} else if (const auto *Builtin = BT->getAs<BuiltinType>()) {
- Error = !isBuiltinTypeMatching(Builtin, BufferTypeName,
- std::string(MPIDatatypes[I]), LO);
+ Error =
+ !isBuiltinTypeMatching(Builtin, BufferTypeName, MPIDatatypes[I], LO);
}
if (Error) {
diff --git a/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp b/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp
index 46dd82bd118db..0ce2cf2c35755 100644
--- a/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/RedundantPreprocessorCheck.cpp
@@ -24,16 +24,17 @@ struct PreprocessorEntry {
std::string Condition;
};
+const char WarningDescription[] =
+ "nested redundant %select{#if|#ifdef|#ifndef}0; consider removing it";
+const char NoteDescription[] = "previous %select{#if|#ifdef|#ifndef}0 was here";
+
class RedundantPreprocessorCallbacks : public PPCallbacks {
enum DirectiveKind { DK_If = 0, DK_Ifdef = 1, DK_Ifndef = 2 };
public:
explicit RedundantPreprocessorCallbacks(ClangTidyCheck &Check,
Preprocessor &PP)
- : Check(Check), PP(PP),
- WarningDescription("nested redundant %select{#if|#ifdef|#ifndef}0; "
- "consider removing it"),
- NoteDescription("previous %select{#if|#ifdef|#ifndef}0 was here") {}
+ : Check(Check), PP(PP) {}
void If(SourceLocation Loc, SourceRange ConditionRange,
ConditionValueKind ConditionValue) override {
@@ -94,8 +95,6 @@ class RedundantPreprocessorCallbacks : public PPCallbacks {
SmallVector<PreprocessorEntry, 4> IfStack;
SmallVector<PreprocessorEntry, 4> IfdefStack;
SmallVector<PreprocessorEntry, 4> IfndefStack;
- const std::string WarningDescription;
- const std::string NoteDescription;
};
} // namespace
diff --git a/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp b/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
index 557e95bc24073..6ef10925c1336 100644
--- a/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
@@ -93,38 +93,37 @@ struct AllHeuristicsBoundsWellConfigured {
static_assert(AllHeuristicsBoundsWellConfigured::Value, "");
} // namespace
-static const std::string DefaultAbbreviations =
- optutils::serializeStringList({"addr=address",
- "arr=array",
- "attr=attribute",
- "buf=buffer",
- "cl=client",
- "cnt=count",
- "col=column",
- "cpy=copy",
- "dest=destination",
- "dist=distance"
- "dst=distance",
- "elem=element",
- "hght=height",
- "i=index",
- "idx=index",
- "len=length",
- "ln=line",
- "lst=list",
- "nr=number",
- "num=number",
- "pos=position",
- "ptr=pointer",
- "ref=reference",
- "src=source",
- "srv=server",
- "stmt=statement",
- "str=string",
- "val=value",
- "var=variable",
- "vec=vector",
- "wdth=width"});
+static constexpr llvm::StringLiteral DefaultAbbreviations = "addr=address;"
+ "arr=array;"
+ "attr=attribute;"
+ "buf=buffer;"
+ "cl=client;"
+ "cnt=count;"
+ "col=column;"
+ "cpy=copy;"
+ "dest=destination;"
+ "dist=distance"
+ "dst=distance;"
+ "elem=element;"
+ "hght=height;"
+ "i=index;"
+ "idx=index;"
+ "len=length;"
+ "ln=line;"
+ "lst=list;"
+ "nr=number;"
+ "num=number;"
+ "pos=position;"
+ "ptr=pointer;"
+ "ref=reference;"
+ "src=source;"
+ "srv=server;"
+ "stmt=statement;"
+ "str=string;"
+ "val=value;"
+ "var=variable;"
+ "vec=vector;"
+ "wdth=width";
static constexpr std::size_t SmallVectorSize =
SuspiciousCallArgumentCheck::SmallVectorSize;
More information about the cfe-commits
mailing list