diff --git a/include/clang/AST/ASTConsumer.h b/include/clang/AST/ASTConsumer.h index b2730e46222877e7ef912c1b85d7283002109959..02669e9bd14719352088597f50b7e41d646b33f6 100644 --- a/include/clang/AST/ASTConsumer.h +++ b/include/clang/AST/ASTConsumer.h @@ -43,7 +43,7 @@ class ASTConsumer { public: ASTConsumer() : SemaConsumer(false) { } - virtual ~ASTConsumer() {} + virtual ~ASTConsumer() = default; /// Initialize - This is called to initialize the consumer, providing the /// ASTContext. diff --git a/include/clang/AST/CanonicalType.h b/include/clang/AST/CanonicalType.h index b25800bfedb91f99cfffc0a77fc0cd3cf066c72f..6e0f88ee7dbdb01361a5b4aca8a8aecf8edbc39e 100644 --- a/include/clang/AST/CanonicalType.h +++ b/include/clang/AST/CanonicalType.h @@ -333,7 +333,7 @@ template<typename T> class CanProxy : public CanProxyAdaptor<T> { public: /// \brief Build a NULL proxy. - CanProxy() { } + CanProxy() = default; /// \brief Build a proxy to the given canonical type. CanProxy(CanQual<T> Stored) { this->Stored = Stored; } @@ -389,7 +389,7 @@ struct CanTypeIterator CanQualType, typename std::iterator_traits<InputIterator>::difference_type, CanProxy<Type>, CanQualType> { - CanTypeIterator() {} + CanTypeIterator() = default; explicit CanTypeIterator(InputIterator Iter) : CanTypeIterator::iterator_adaptor_base(std::move(Iter)) {} diff --git a/include/clang/AST/DeclFriend.h b/include/clang/AST/DeclFriend.h index 12b93b408a7037c99518e3fb08efe2843294b701..5bd6da8797c9dad1a375f8c7c2d63440cd5c3c5f 100644 --- a/include/clang/AST/DeclFriend.h +++ b/include/clang/AST/DeclFriend.h @@ -180,7 +180,7 @@ class CXXRecordDecl::friend_iterator { friend class CXXRecordDecl; explicit friend_iterator(FriendDecl *Ptr) : Ptr(Ptr) {} public: - friend_iterator() {} + friend_iterator() = default; typedef FriendDecl *value_type; typedef FriendDecl *reference; diff --git a/include/clang/AST/DeclTemplate.h b/include/clang/AST/DeclTemplate.h index bd38ac88238fe91cfa840c87eb16b571c03f8d34..3c6ef814426d531fbcf85a8dfab4104e0a4b4d17 100644 --- a/include/clang/AST/DeclTemplate.h +++ b/include/clang/AST/DeclTemplate.h @@ -664,7 +664,7 @@ protected: typename std::iterator_traits<typename llvm::FoldingSetVector< EntryType>::iterator>::iterator_category, DeclType *, ptrdiff_t, DeclType *, DeclType *> { - SpecIterator() {} + SpecIterator() = default; explicit SpecIterator( typename llvm::FoldingSetVector<EntryType>::iterator SetIter) : SpecIterator::iterator_adaptor_base(std::move(SetIter)) {} diff --git a/include/clang/AST/Expr.h b/include/clang/AST/Expr.h index cc1fc0ae186e8fcf55bc9404f0a03414f6143fe1..2e5de8768f1d01c7a3de30f4885607dd43c3e007 100644 --- a/include/clang/AST/Expr.h +++ b/include/clang/AST/Expr.h @@ -337,7 +337,7 @@ public: {} public: - Classification() {} + Classification() = default; Kinds getKind() const { return static_cast<Kinds>(Kind); } ModifiableType getModifiable() const { @@ -4076,7 +4076,7 @@ public: friend class DesignatedInitExpr; public: - Designator() {} + Designator() = default; /// @brief Initializes a field designator. Designator(const IdentifierInfo *FieldName, SourceLocation DotLoc, diff --git a/include/clang/AST/ExprCXX.h b/include/clang/AST/ExprCXX.h index e8493f1933c6607e0764ae7a073b049b9a62c30a..45d852ae0e493687bcb7952c076668d0cfe54854 100644 --- a/include/clang/AST/ExprCXX.h +++ b/include/clang/AST/ExprCXX.h @@ -2278,7 +2278,7 @@ public: : Expr(ArrayTypeTraitExprClass, Empty), ATT(0), Value(false), QueriedType() { } - virtual ~ArrayTypeTraitExpr() { } + virtual ~ArrayTypeTraitExpr() = default; SourceLocation getLocStart() const LLVM_READONLY { return Loc; } SourceLocation getLocEnd() const LLVM_READONLY { return RParen; } diff --git a/include/clang/AST/Mangle.h b/include/clang/AST/Mangle.h index 7b725b65ca1e1f6c06ac011233c58e00bfadd3a3..29d79592e54ff2ca82c7a2e7cc6cfd604a1d5663 100644 --- a/include/clang/AST/Mangle.h +++ b/include/clang/AST/Mangle.h @@ -64,7 +64,7 @@ public: ManglerKind Kind) : Context(Context), Diags(Diags), Kind(Kind) {} - virtual ~MangleContext() { } + virtual ~MangleContext() = default; ASTContext &getASTContext() const { return Context; } diff --git a/include/clang/AST/MangleNumberingContext.h b/include/clang/AST/MangleNumberingContext.h index 7a818557fdb7446ce71d37a2d9720a860f44ce7f..fd15e1a98b7d40a8082a5951ab3dbbc0347c164f 100644 --- a/include/clang/AST/MangleNumberingContext.h +++ b/include/clang/AST/MangleNumberingContext.h @@ -32,7 +32,7 @@ class VarDecl; /// literals within a particular context. class MangleNumberingContext : public RefCountedBase<MangleNumberingContext> { public: - virtual ~MangleNumberingContext() {} + virtual ~MangleNumberingContext() = default; /// \brief Retrieve the mangling number of a new lambda expression with the /// given call operator within this context. diff --git a/include/clang/AST/Redeclarable.h b/include/clang/AST/Redeclarable.h index 92046d582bf38975e8d53dc23a806902b037f6da..fd397bec0a4c6d4d9b526703678ad9e56a7f2d83 100644 --- a/include/clang/AST/Redeclarable.h +++ b/include/clang/AST/Redeclarable.h @@ -248,7 +248,7 @@ Decl *getPrimaryMergedDecl(Decl *D); template<typename decl_type> class Mergeable { public: - Mergeable() {} + Mergeable() = default; /// \brief Return the first declaration of this declaration or itself if this /// is the only declaration. diff --git a/include/clang/AST/StmtIterator.h b/include/clang/AST/StmtIterator.h index 81f8ad4344a9c744e25c3bea5c8a0cc28eb41d05..ced6ac831680ec14007d676e5b1113fb38888bc9 100644 --- a/include/clang/AST/StmtIterator.h +++ b/include/clang/AST/StmtIterator.h @@ -81,7 +81,7 @@ class StmtIteratorImpl : public StmtIteratorBase, protected: StmtIteratorImpl(const StmtIteratorBase& RHS) : StmtIteratorBase(RHS) {} public: - StmtIteratorImpl() {} + StmtIteratorImpl() = default; StmtIteratorImpl(Stmt **s) : StmtIteratorBase(s) {} StmtIteratorImpl(Decl **dgi, Decl **dge) : StmtIteratorBase(dgi, dge) {} StmtIteratorImpl(const VariableArrayType *t) : StmtIteratorBase(t) {} diff --git a/include/clang/AST/UnresolvedSet.h b/include/clang/AST/UnresolvedSet.h index 26ee1cf71c813464d2d768c5e366345862261bf6..af2f30fe3438a3dd2f2f9ec98d6987aff07978e5 100644 --- a/include/clang/AST/UnresolvedSet.h +++ b/include/clang/AST/UnresolvedSet.h @@ -59,7 +59,7 @@ class UnresolvedSetImpl { // UnresolvedSet. private: template <unsigned N> friend class UnresolvedSet; - UnresolvedSetImpl() {} + UnresolvedSetImpl() = default; UnresolvedSetImpl(const UnresolvedSetImpl &) {} public: diff --git a/include/clang/AST/VTableBuilder.h b/include/clang/AST/VTableBuilder.h index 481fd11d6afbe8611e8923378fd6b24aeeb36395..385a8173038a21dcfc1f0689ffeef4b8e9d0cd1b 100644 --- a/include/clang/AST/VTableBuilder.h +++ b/include/clang/AST/VTableBuilder.h @@ -298,7 +298,7 @@ public: bool isMicrosoft() const { return IsMicrosoftABI; } - virtual ~VTableContextBase() {} + virtual ~VTableContextBase() = default; protected: typedef llvm::DenseMap<const CXXMethodDecl *, ThunkInfoVectorTy> ThunksMapTy; diff --git a/include/clang/ASTMatchers/ASTMatchersInternal.h b/include/clang/ASTMatchers/ASTMatchersInternal.h index 8e1abc6f771284c648abb106387a7301199b78bc..e703319f619d1264cae063a95ec3a67ec7c24454 100644 --- a/include/clang/ASTMatchers/ASTMatchersInternal.h +++ b/include/clang/ASTMatchers/ASTMatchersInternal.h @@ -131,7 +131,7 @@ public: /// BoundNodesTree. class Visitor { public: - virtual ~Visitor() {} + virtual ~Visitor() = default; /// \brief Called multiple times during a single call to VisitMatches(...). /// @@ -209,7 +209,7 @@ public: template <typename T> class MatcherInterface : public DynMatcherInterface { public: - ~MatcherInterface() override {} + ~MatcherInterface() override = default; /// \brief Returns true if 'Node' can be matched. /// @@ -798,7 +798,7 @@ public: AMM_ParentOnly }; - virtual ~ASTMatchFinder() {} + virtual ~ASTMatchFinder() = default; /// \brief Returns true if the given class is directly or indirectly derived /// from a base type matching \c base. @@ -1376,7 +1376,7 @@ class VariadicDynCastAllOfMatcher BindableMatcher<SourceT>, Matcher<TargetT>, makeDynCastAllOfComposite<SourceT, TargetT> > { public: - VariadicDynCastAllOfMatcher() {} + VariadicDynCastAllOfMatcher() = default; }; /// \brief A \c VariadicAllOfMatcher<T> object is a variadic functor that takes @@ -1394,7 +1394,7 @@ class VariadicAllOfMatcher : public llvm::VariadicFunction< BindableMatcher<T>, Matcher<T>, makeAllOfComposite<T> > { public: - VariadicAllOfMatcher() {} + VariadicAllOfMatcher() = default; }; /// \brief Matches nodes of type \c TLoc for which the inner @@ -1515,7 +1515,7 @@ public: struct Func : public llvm::VariadicFunction<Self, Matcher<InnerTBase>, &Self::create> { - Func() {} + Func() = default; }; private: diff --git a/include/clang/Analysis/Analyses/FormatString.h b/include/clang/Analysis/Analyses/FormatString.h index 4471311a3390a1ef29096d600fb899eb12b27197..fbcc8a5fbfcb929419ec9d1a96fe21baeb8f91e9 100644 --- a/include/clang/Analysis/Analyses/FormatString.h +++ b/include/clang/Analysis/Analyses/FormatString.h @@ -606,7 +606,7 @@ enum PositionContext { FieldWidthPos = 0, PrecisionPos = 1 }; class FormatStringHandler { public: - FormatStringHandler() {} + FormatStringHandler() = default; virtual ~FormatStringHandler(); virtual void HandleNullChar(const char *nullCharacter) {} diff --git a/include/clang/Analysis/Analyses/LiveVariables.h b/include/clang/Analysis/Analyses/LiveVariables.h index e17f73a61f8195534068b966b87fe254132241fc..c6c0ece13b9d83c401cf1c6df46411401a6cfad8 100644 --- a/include/clang/Analysis/Analyses/LiveVariables.h +++ b/include/clang/Analysis/Analyses/LiveVariables.h @@ -53,7 +53,7 @@ public: class Observer { virtual void anchor(); public: - virtual ~Observer() {} + virtual ~Observer() = default; /// A callback invoked right before invoking the /// liveness transfer function on the given statement. diff --git a/include/clang/Analysis/Analyses/ReachableCode.h b/include/clang/Analysis/Analyses/ReachableCode.h index 4c523bfc8b561c84cfa3a0c7213aa8f994aad209..a388cc9feca026868aa4e7e4b25399c4f7c55b9c 100644 --- a/include/clang/Analysis/Analyses/ReachableCode.h +++ b/include/clang/Analysis/Analyses/ReachableCode.h @@ -48,7 +48,7 @@ enum UnreachableKind { class Callback { virtual void anchor(); public: - virtual ~Callback() {} + virtual ~Callback() = default; virtual void HandleUnreachable(UnreachableKind UK, SourceLocation L, SourceRange ConditionVal, diff --git a/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h b/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h index 705fe910d092316a9c27619e05a9ceed886ca369..5bf0ea496b44e21e3847950737b1acc3b7f2e75f 100644 --- a/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h +++ b/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h @@ -176,7 +176,7 @@ template <class Self> class VisitReducer : public Traversal<Self, VisitReducerBase>, public VisitReducerBase { public: - VisitReducer() {} + VisitReducer() = default; public: R_SExpr reduceNull() { return true; } diff --git a/include/clang/Analysis/Analyses/UninitializedValues.h b/include/clang/Analysis/Analyses/UninitializedValues.h index 53ff20c23560c4dd4573acdcc42857e4d43ce17a..18ed02dd2ea09e9c756603eebbc0d5931dc03b29 100644 --- a/include/clang/Analysis/Analyses/UninitializedValues.h +++ b/include/clang/Analysis/Analyses/UninitializedValues.h @@ -99,7 +99,7 @@ public: class UninitVariablesHandler { public: - UninitVariablesHandler() {} + UninitVariablesHandler() = default; virtual ~UninitVariablesHandler(); /// Called when the uninitialized variable is used at the given expression. diff --git a/include/clang/Analysis/AnalysisContext.h b/include/clang/Analysis/AnalysisContext.h index 931190e43a66861c7f20db9039444ad450d0e9ee..124ec3dda5d2697c5257c3a118ca1ae64c3d445d 100644 --- a/include/clang/Analysis/AnalysisContext.h +++ b/include/clang/Analysis/AnalysisContext.h @@ -44,7 +44,7 @@ namespace idx { class TranslationUnit; } /// to AnalysisDeclContext. class ManagedAnalysis { protected: - ManagedAnalysis() {} + ManagedAnalysis() = default; public: virtual ~ManagedAnalysis(); @@ -289,7 +289,7 @@ class StackFrameContext : public LocationContext { Block(blk), Index(idx) {} public: - ~StackFrameContext() override {} + ~StackFrameContext() override = default; const Stmt *getCallSite() const { return CallSite; } @@ -324,7 +324,7 @@ class ScopeContext : public LocationContext { : LocationContext(Scope, ctx, parent), Enter(s) {} public: - ~ScopeContext() override {} + ~ScopeContext() override = default; void Profile(llvm::FoldingSetNodeID &ID) override; @@ -352,7 +352,7 @@ class BlockInvocationContext : public LocationContext { : LocationContext(Block, ctx, parent), BD(bd), ContextData(contextData) {} public: - ~BlockInvocationContext() override {} + ~BlockInvocationContext() override = default; const BlockDecl *getBlockDecl() const { return BD; } diff --git a/include/clang/Analysis/CFG.h b/include/clang/Analysis/CFG.h index 293990c88e703f0498efef9a45f9b0d711bba306..58e26604dcb8306ed06da0de554562525061661a 100644 --- a/include/clang/Analysis/CFG.h +++ b/include/clang/Analysis/CFG.h @@ -704,11 +704,11 @@ public: /// operator error is found when building the CFG. class CFGCallback { public: - CFGCallback() {} + CFGCallback() = default; virtual void compareAlwaysTrue(const BinaryOperator *B, bool isAlwaysTrue) {} virtual void compareBitwiseEquality(const BinaryOperator *B, bool isAlwaysTrue) {} - virtual ~CFGCallback() {} + virtual ~CFGCallback() = default; }; /// CFG - Represents a source-level, intra-procedural CFG that represents the diff --git a/include/clang/Basic/FileSystemStatCache.h b/include/clang/Basic/FileSystemStatCache.h index cad91893489bc8b0ef0a973575d13ac9c5068873..430851df67c328b8c1dba26a9202f3c5cc4d7f11 100644 --- a/include/clang/Basic/FileSystemStatCache.h +++ b/include/clang/Basic/FileSystemStatCache.h @@ -51,7 +51,7 @@ protected: std::unique_ptr<FileSystemStatCache> NextStatCache; public: - virtual ~FileSystemStatCache() {} + virtual ~FileSystemStatCache() = default; enum LookupResult { CacheExists, ///< We know the file exists and its cached stat data. diff --git a/include/clang/Basic/IdentifierTable.h b/include/clang/Basic/IdentifierTable.h index d672314f56e2d44d45b85af3bcfa45af2a834a1e..b0812ccd90a945f138a11e95fa0dce31b57d7906 100644 --- a/include/clang/Basic/IdentifierTable.h +++ b/include/clang/Basic/IdentifierTable.h @@ -385,7 +385,7 @@ private: void operator=(const IdentifierIterator &) = delete; protected: - IdentifierIterator() { } + IdentifierIterator() = default; public: virtual ~IdentifierIterator(); diff --git a/include/clang/Driver/Job.h b/include/clang/Driver/Job.h index 263356f396f3ee755d9090dab1ebd91e830d883e..d1fd6e346507f6b54edb5c70ff99d5b1202242ee 100644 --- a/include/clang/Driver/Job.h +++ b/include/clang/Driver/Job.h @@ -88,7 +88,7 @@ public: // FIXME: This really shouldn't be copyable, but is currently copied in some // error handling in Driver::generateCompilationDiagnostics. Command(const Command &) = default; - virtual ~Command() {} + virtual ~Command() = default; virtual void Print(llvm::raw_ostream &OS, const char *Terminator, bool Quote, CrashReportInfo *CrashInfo = nullptr) const; diff --git a/include/clang/Edit/EditsReceiver.h b/include/clang/Edit/EditsReceiver.h index 600ac28ea920ee1124fb868f2c9b571b545cb02f..1b63d0ee864f7c26bb18265f8273d3ae2c2897f7 100644 --- a/include/clang/Edit/EditsReceiver.h +++ b/include/clang/Edit/EditsReceiver.h @@ -20,7 +20,7 @@ namespace edit { class EditsReceiver { public: - virtual ~EditsReceiver() { } + virtual ~EditsReceiver() = default; virtual void insert(SourceLocation loc, StringRef text) = 0; virtual void replace(CharSourceRange range, StringRef text) = 0; diff --git a/include/clang/Frontend/SerializedDiagnosticReader.h b/include/clang/Frontend/SerializedDiagnosticReader.h index 3db362bf3470fe35caa0a4f26bb21d03b4a5a07d..5c0a06f4c1448d6de0775552a04d062041b4c4c4 100644 --- a/include/clang/Frontend/SerializedDiagnosticReader.h +++ b/include/clang/Frontend/SerializedDiagnosticReader.h @@ -58,8 +58,8 @@ struct Location { /// the various constructs that are found in serialized diagnostics. class SerializedDiagnosticReader { public: - SerializedDiagnosticReader() {} - virtual ~SerializedDiagnosticReader() {} + SerializedDiagnosticReader() = default; + virtual ~SerializedDiagnosticReader() = default; /// \brief Read the diagnostics in \c File std::error_code readDiagnostics(StringRef File); diff --git a/include/clang/Frontend/VerifyDiagnosticConsumer.h b/include/clang/Frontend/VerifyDiagnosticConsumer.h index 475f07f9dc06ad55d774352c4f70c3be17b7bccd..493dac3b11a9e6007fd48c512cdb36e0e2300cc7 100644 --- a/include/clang/Frontend/VerifyDiagnosticConsumer.h +++ b/include/clang/Frontend/VerifyDiagnosticConsumer.h @@ -161,7 +161,7 @@ public: unsigned Min, Max; bool MatchAnyLine; - virtual ~Directive() { } + virtual ~Directive() = default; // Returns true if directive text is valid. // Otherwise returns false and populates E. diff --git a/include/clang/Lex/ModuleMap.h b/include/clang/Lex/ModuleMap.h index 155943e5453c8de431700cc25a2d29abd3712297..3320843243bd17c07068c82f3d3076f3402bc742 100644 --- a/include/clang/Lex/ModuleMap.h +++ b/include/clang/Lex/ModuleMap.h @@ -40,7 +40,7 @@ class ModuleMapParser; /// reads module map files. class ModuleMapCallbacks { public: - virtual ~ModuleMapCallbacks() {} + virtual ~ModuleMapCallbacks() = default; /// \brief Called when a module map file has been read. /// diff --git a/include/clang/Lex/PTHLexer.h b/include/clang/Lex/PTHLexer.h index 904be792b2a9830544400c68ddc0463f3dc9410a..e2e2306c0e82181a1a53ee9c1ecf9d16bfafbea8 100644 --- a/include/clang/Lex/PTHLexer.h +++ b/include/clang/Lex/PTHLexer.h @@ -64,7 +64,7 @@ protected: PTHLexer(Preprocessor& pp, FileID FID, const unsigned char *D, const unsigned char* ppcond, PTHManager &PM); public: - ~PTHLexer() override {} + ~PTHLexer() override = default; /// Lex - Return the next token. bool Lex(Token &Tok); diff --git a/include/clang/Lex/PreprocessorLexer.h b/include/clang/Lex/PreprocessorLexer.h index 6d6cf05a96c457bf8835516d0f5041693a89f9c0..dfc7768f6271d61f25dd47fec0838f7c14699b6a 100644 --- a/include/clang/Lex/PreprocessorLexer.h +++ b/include/clang/Lex/PreprocessorLexer.h @@ -81,7 +81,7 @@ protected: ParsingFilename(false), LexingRawMode(false) {} - virtual ~PreprocessorLexer() {} + virtual ~PreprocessorLexer() = default; virtual void IndirectLex(Token& Result) = 0; diff --git a/include/clang/Sema/Sema.h b/include/clang/Sema/Sema.h index cce5405a1e0a5c2640e007df074b66c3006da5b7..09d6a4b8504c1846c6808c7e5487b84bce811067 100644 --- a/include/clang/Sema/Sema.h +++ b/include/clang/Sema/Sema.h @@ -1313,7 +1313,7 @@ public: TypeDiagnoser(bool Suppressed = false) : Suppressed(Suppressed) { } virtual void diagnose(Sema &S, SourceLocation Loc, QualType T) = 0; - virtual ~TypeDiagnoser() {} + virtual ~TypeDiagnoser() = default; }; static int getPrintable(int I) { return I; } @@ -2297,7 +2297,7 @@ public: virtual SemaDiagnosticBuilder diagnoseConversion( Sema &S, SourceLocation Loc, QualType T, QualType ConvTy) = 0; - virtual ~ContextualImplicitConverter() {} + virtual ~ContextualImplicitConverter() = default; }; class ICEConvertDiagnoser : public ContextualImplicitConverter { @@ -8597,7 +8597,7 @@ public: virtual void diagnoseNotICE(Sema &S, SourceLocation Loc, SourceRange SR) =0; virtual void diagnoseFold(Sema &S, SourceLocation Loc, SourceRange SR); - virtual ~VerifyICEDiagnoser() { } + virtual ~VerifyICEDiagnoser() = default; }; /// VerifyIntegerConstantExpression - Verifies that an expression is an ICE, diff --git a/include/clang/Sema/TypoCorrection.h b/include/clang/Sema/TypoCorrection.h index 958aab0fce349a164ecbfab5b43bc63a7b8e6771..6c8a2852df2ca9b28edf2c71b4c8e437e2b17e9a 100644 --- a/include/clang/Sema/TypoCorrection.h +++ b/include/clang/Sema/TypoCorrection.h @@ -255,7 +255,7 @@ public: IsObjCIvarLookup(false), IsAddressOfOperand(false), Typo(Typo), TypoNNS(TypoNNS) {} - virtual ~CorrectionCandidateCallback() {} + virtual ~CorrectionCandidateCallback() = default; /// \brief Simple predicate used by the default RankCandidate to /// determine whether to return an edit distance of 0 or InvalidDistance. diff --git a/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h b/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h index 57c73fd6eca16e29a1f8582d706c7b3dbb59dad9..b8133bfd127ac0b4ebe7372f4c4eb0fe458150d6 100644 --- a/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h +++ b/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h @@ -57,7 +57,7 @@ public: class NodeResolver { virtual void anchor(); public: - virtual ~NodeResolver() {} + virtual ~NodeResolver() = default; virtual const ExplodedNode* getOriginalNode(const ExplodedNode *N) = 0; }; @@ -529,7 +529,7 @@ class BugReporterContext { public: BugReporterContext(GRBugReporter& br) : BR(br) {} - virtual ~BugReporterContext() {} + virtual ~BugReporterContext() = default; GRBugReporter& getBugReporter() { return BR; } diff --git a/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h b/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h index 16226e94df48c66f30a5b5295d12bbf30ef41667..60f91de6dfcc2a4bff9acf3a298abd831a18732c 100644 --- a/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h +++ b/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h @@ -42,7 +42,7 @@ public: BugType(const CheckerBase *checker, StringRef name, StringRef cat) : Check(checker->getCheckName()), Name(name), Category(cat), SuppressonSink(false) {} - virtual ~BugType() {} + virtual ~BugType() = default; // FIXME: Should these be made strings as well? StringRef getName() const { return Name; } diff --git a/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h b/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h index 35421f9455ea30615a6e51f6049b1df18369667e..ad083f712213ca96ac97f1af83ed61e863ac0f3c 100644 --- a/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h +++ b/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h @@ -481,7 +481,7 @@ private: public: StackHintGeneratorForSymbol(SymbolRef S, StringRef M) : Sym(S), Msg(M) {} - ~StackHintGeneratorForSymbol() override {} + ~StackHintGeneratorForSymbol() override = default; /// \brief Search the call expression for the symbol Sym and dispatch the /// 'getMessageForX()' methods to construct a specific message. diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h b/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h index cf888b5040e5f24a6f3582d03b2a98b087838131..7fe8e3d3db4566c198c6fdc478ec9f124dbd410f 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h @@ -168,7 +168,7 @@ protected: RegionAndSymbolInvalidationTraits *ETraits) const {} public: - virtual ~CallEvent() {} + virtual ~CallEvent() = default; /// \brief Returns the kind of call this is. virtual Kind getKind() const = 0; diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h b/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h index d5822e22448199ff93c51f6707c808b0294f158b..368fdee4be326a29526274509dd91529bae7bb29 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h @@ -254,7 +254,7 @@ public: assert(hasNoSinksInFrontier()); } - virtual ~NodeBuilder() {} + virtual ~NodeBuilder() = default; /// \brief Generates a node in the ExplodedGraph. ExplodedNode *generateNode(const ProgramPoint &PP, diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h b/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h index a68d3410a87b5271ddc3f87c609bb438d279f63c..9ae9aaf6ded277bd73da15ee9a0a6bcc2c7f1543 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h @@ -68,7 +68,7 @@ public: ArrayIndexTy(context.IntTy), ArrayIndexWidth(context.getTypeSize(ArrayIndexTy)) {} - virtual ~SValBuilder() {} + virtual ~SValBuilder() = default; bool haveSameType(const SymExpr *Sym1, const SymExpr *Sym2) { return haveSameType(Sym1->getType(), Sym2->getType()); diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h b/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h index a03b6306a0edea7ba2b3900834e91cbb86e11c75..b29e5f7047073387c56be38d921fa023b8c25044 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h @@ -49,7 +49,7 @@ protected: StoreManager(ProgramStateManager &stateMgr); public: - virtual ~StoreManager() {} + virtual ~StoreManager() = default; /// Return the value bound to specified location in a given state. /// \param[in] store The analysis state. diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h b/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h index 741ba0e2f290ab0d798ac3d1db96888141cb61d3..fa3f200ba8a46f590553d703d6ce09052beb4920 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h @@ -43,7 +43,7 @@ class MemRegion; class SubEngine { virtual void anchor(); public: - virtual ~SubEngine() {} + virtual ~SubEngine() = default; virtual ProgramStateRef getInitialState(const LocationContext *InitLoc) = 0; diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h b/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h index 05de02db592aec32007b9523413ad6916ad97408..cfb7edec8e96c9c77a4963a7318e1510b29b9221 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h @@ -57,7 +57,7 @@ protected: SymExpr(Kind k) : K(k) {} public: - virtual ~SymExpr() {} + virtual ~SymExpr() = default; Kind getKind() const { return K; } @@ -109,7 +109,7 @@ protected: SymbolData(Kind k, SymbolID sym) : SymExpr(k), Sym(sym) {} public: - ~SymbolData() override {} + ~SymbolData() override = default; SymbolID getSymbolID() const { return Sym; } diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h b/include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h index d39b5017d312df900f4ac1c452a00574f7dd08d0..d46efd4ef0fb73715f5135810cd515fdea1d1152 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h @@ -37,7 +37,7 @@ template<> struct ProgramStateTrait<TaintMap> class TaintManager { - TaintManager() {} + TaintManager() = default; }; } diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h b/include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h index 4f1a60e675569b4a0ff2abb8a3f6c6bc50961149..24d4503f377efab3a234ed5d209d6d7bc357e346 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h @@ -82,7 +82,7 @@ public: class Visitor { public: - Visitor() {} + Visitor() = default; virtual ~Visitor(); virtual bool visit(const WorkListUnit &U) = 0; }; diff --git a/include/clang/Tooling/FileMatchTrie.h b/include/clang/Tooling/FileMatchTrie.h index 745c1645068a48fa08697c5b46f23a891ba930d9..d7a6a379c257f5ffeeed7325921b0630d41eb3a4 100644 --- a/include/clang/Tooling/FileMatchTrie.h +++ b/include/clang/Tooling/FileMatchTrie.h @@ -25,7 +25,7 @@ namespace clang { namespace tooling { struct PathComparator { - virtual ~PathComparator() {} + virtual ~PathComparator() = default; virtual bool equivalent(StringRef FileA, StringRef FileB) const = 0; }; class FileMatchTrieNode; diff --git a/include/clang/Tooling/Tooling.h b/include/clang/Tooling/Tooling.h index b7a9b25acd0e4bcabe80a963ecd1b54258534c0e..ada1f526b5b7ba7058dd0756cdcf6e84a3f16586 100644 --- a/include/clang/Tooling/Tooling.h +++ b/include/clang/Tooling/Tooling.h @@ -110,7 +110,7 @@ std::unique_ptr<FrontendActionFactory> newFrontendActionFactory(); /// newFrontendActionFactory. class SourceFileCallbacks { public: - virtual ~SourceFileCallbacks() {} + virtual ~SourceFileCallbacks() = default; /// \brief Called before a source file is processed by a FrontEndAction. /// \see clang::FrontendAction::BeginSourceFileAction diff --git a/lib/ARCMigrate/ARCMT.cpp b/lib/ARCMigrate/ARCMT.cpp index 7eb01fb93db05ac9a4778eeb8ea3e8c9756cc0dd..c9239ded2b2d000978cbc0fafa86bb3a72103254 100644 --- a/lib/ARCMigrate/ARCMT.cpp +++ b/lib/ARCMigrate/ARCMT.cpp @@ -498,7 +498,7 @@ public: } // end anonymous namespace. /// \brief Anchor for VTable. -MigrationProcess::RewriteListener::~RewriteListener() { } +MigrationProcess::RewriteListener::~RewriteListener() = default; MigrationProcess::MigrationProcess( const CompilerInvocation &CI, diff --git a/lib/ARCMigrate/TransformActions.cpp b/lib/ARCMigrate/TransformActions.cpp index c628b54ed414d8cd50510883904452af458584be..e7eb821691f9c4ac68026575299bac7a5e3be729 100644 --- a/lib/ARCMigrate/TransformActions.cpp +++ b/lib/ARCMigrate/TransformActions.cpp @@ -594,7 +594,7 @@ SourceLocation TransformActionsImpl::getLocForEndOfToken(SourceLocation loc, return PP.getLocForEndOfToken(loc); } -TransformActions::RewriteReceiver::~RewriteReceiver() { } +TransformActions::RewriteReceiver::~RewriteReceiver() = default; TransformActions::TransformActions(DiagnosticsEngine &diag, CapturedDiagList &capturedDiags, diff --git a/lib/ARCMigrate/Transforms.cpp b/lib/ARCMigrate/Transforms.cpp index 56d3af7233bf6ea94a2549de207193de4a16ba7c..2bdaf19ebca3316bf69767871485e8ded209d643 100644 --- a/lib/ARCMigrate/Transforms.cpp +++ b/lib/ARCMigrate/Transforms.cpp @@ -27,7 +27,7 @@ using namespace clang; using namespace arcmt; using namespace trans; -ASTTraverser::~ASTTraverser() { } +ASTTraverser::~ASTTraverser() = default; bool MigrationPass::CFBridgingFunctionsDefined() { if (!EnableCFBridgeFns.hasValue()) diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp index 848158877aa7674bd21614d47dbfd55d12ed7963..1f1e00a812e4c8c6927172b814a8688c50f0e4f4 100644 --- a/lib/AST/ASTContext.cpp +++ b/lib/AST/ASTContext.cpp @@ -7914,7 +7914,7 @@ QualType ASTContext::getCorrespondingUnsignedType(QualType T) const { } } -ASTMutationListener::~ASTMutationListener() { } +ASTMutationListener::~ASTMutationListener() = default; void ASTMutationListener::DeducedReturnType(const FunctionDecl *FD, QualType ReturnType) {} @@ -8502,7 +8502,7 @@ MangleContext *ASTContext::createMangleContext() { llvm_unreachable("Unsupported ABI"); } -CXXABI::~CXXABI() {} +CXXABI::~CXXABI() = default; size_t ASTContext::getSideTableAllocatedMemory() const { return ASTRecordLayouts.getMemorySize() + diff --git a/lib/AST/ASTImporter.cpp b/lib/AST/ASTImporter.cpp index 6816dd11d9b20447150dbbea95c231486322ae9d..fded9444a5213dba589c28aa227e7b360319f719 100644 --- a/lib/AST/ASTImporter.cpp +++ b/lib/AST/ASTImporter.cpp @@ -5344,7 +5344,7 @@ ASTImporter::ASTImporter(ASTContext &ToContext, FileManager &ToFileManager, = ToContext.getTranslationUnitDecl(); } -ASTImporter::~ASTImporter() { } +ASTImporter::~ASTImporter() = default; QualType ASTImporter::Import(QualType FromT) { if (FromT.isNull()) diff --git a/lib/AST/DeclBase.cpp b/lib/AST/DeclBase.cpp index 406dff68993a84bebdcba24df364dfa35e8866ce..ff92630a263a2f8ae47e51de7359c09f62f443fc 100644 --- a/lib/AST/DeclBase.cpp +++ b/lib/AST/DeclBase.cpp @@ -236,7 +236,7 @@ void PrettyStackTraceDecl::print(raw_ostream &OS) const { //===----------------------------------------------------------------------===// // Out-of-line virtual method providing a home for Decl. -Decl::~Decl() { } +Decl::~Decl() = default; void Decl::setDeclContext(DeclContext *DC) { DeclCtx = DC; @@ -836,7 +836,7 @@ bool DeclContext::classof(const Decl *D) { } } -DeclContext::~DeclContext() { } +DeclContext::~DeclContext() = default; /// \brief Find the parent context of this context that will be /// used for unqualified name lookup. diff --git a/lib/AST/ExternalASTSource.cpp b/lib/AST/ExternalASTSource.cpp index e3de8c5fefa2b5e8885cf6e10c2b7f802f3c8716..c42a8b4fcd0cf58b473a88224c415b221cb0f78c 100644 --- a/lib/AST/ExternalASTSource.cpp +++ b/lib/AST/ExternalASTSource.cpp @@ -21,7 +21,7 @@ using namespace clang; -ExternalASTSource::~ExternalASTSource() { } +ExternalASTSource::~ExternalASTSource() = default; llvm::Optional<ExternalASTSource::ASTSourceDescriptor> ExternalASTSource::getSourceDescriptor(unsigned ID) { diff --git a/lib/AST/StmtPrinter.cpp b/lib/AST/StmtPrinter.cpp index bf155f5680bbd4e8a6bb65d50864f503ccf3c313..21c2959f648c03090e2d87682b6beca5314db6c3 100644 --- a/lib/AST/StmtPrinter.cpp +++ b/lib/AST/StmtPrinter.cpp @@ -2338,4 +2338,4 @@ void Stmt::printPretty(raw_ostream &OS, //===----------------------------------------------------------------------===// // Implement virtual destructor. -PrinterHelper::~PrinterHelper() {} +PrinterHelper::~PrinterHelper() = default; diff --git a/lib/AST/VTableBuilder.cpp b/lib/AST/VTableBuilder.cpp index 6829da5bb142c00dbbcb141356636f60bdc959f5..747a1bda367f83c7fead95f150b679aa7ffa164a 100644 --- a/lib/AST/VTableBuilder.cpp +++ b/lib/AST/VTableBuilder.cpp @@ -2229,7 +2229,7 @@ VTableLayout::VTableLayout(uint64_t NumVTableComponents, }); } -VTableLayout::~VTableLayout() { } +VTableLayout::~VTableLayout() = default; ItaniumVTableContext::ItaniumVTableContext(ASTContext &Context) : VTableContextBase(/*MS=*/false) {} diff --git a/lib/ASTMatchers/ASTMatchFinder.cpp b/lib/ASTMatchers/ASTMatchFinder.cpp index 8807b13c5ed1dbf47473913cde96fe5c0fde3240..f4cf5ef20f228142c960999bcf87c9b87c953f0d 100644 --- a/lib/ASTMatchers/ASTMatchFinder.cpp +++ b/lib/ASTMatchers/ASTMatchFinder.cpp @@ -902,13 +902,13 @@ MatchFinder::MatchResult::MatchResult(const BoundNodes &Nodes, : Nodes(Nodes), Context(Context), SourceManager(&Context->getSourceManager()) {} -MatchFinder::MatchCallback::~MatchCallback() {} -MatchFinder::ParsingDoneTestCallback::~ParsingDoneTestCallback() {} +MatchFinder::MatchCallback::~MatchCallback() = default; +MatchFinder::ParsingDoneTestCallback::~ParsingDoneTestCallback() = default; MatchFinder::MatchFinder(MatchFinderOptions Options) : Options(std::move(Options)), ParsingDone(nullptr) {} -MatchFinder::~MatchFinder() {} +MatchFinder::~MatchFinder() = default; void MatchFinder::addMatcher(const DeclarationMatcher &NodeMatch, MatchCallback *Action) { diff --git a/lib/ASTMatchers/Dynamic/Marshallers.h b/lib/ASTMatchers/Dynamic/Marshallers.h index 64d6b7814aeb63f149743fb82ee6be8e73c3c4af..0d6fbf916c5fe7ac6808eb5a6f886662aff388cf 100644 --- a/lib/ASTMatchers/Dynamic/Marshallers.h +++ b/lib/ASTMatchers/Dynamic/Marshallers.h @@ -103,7 +103,7 @@ public: /// arguments, and various other methods for type introspection. class MatcherDescriptor { public: - virtual ~MatcherDescriptor() {} + virtual ~MatcherDescriptor() = default; virtual VariantMatcher create(SourceRange NameRange, ArrayRef<ParserValue> Args, Diagnostics *Error) const = 0; @@ -491,7 +491,7 @@ public: OverloadedMatcherDescriptor(ArrayRef<MatcherDescriptor *> Callbacks) : Overloads(Callbacks.begin(), Callbacks.end()) {} - ~OverloadedMatcherDescriptor() override {} + ~OverloadedMatcherDescriptor() override = default; VariantMatcher create(SourceRange NameRange, ArrayRef<ParserValue> Args, diff --git a/lib/ASTMatchers/Dynamic/Parser.cpp b/lib/ASTMatchers/Dynamic/Parser.cpp index cf9dab6dc7dbd09971f62b167f44bf7e76a1b726..ca4a12716d29c567a9446b5498f1e1b1da997426 100644 --- a/lib/ASTMatchers/Dynamic/Parser.cpp +++ b/lib/ASTMatchers/Dynamic/Parser.cpp @@ -257,7 +257,7 @@ private: const char *CodeCompletionLocation; }; -Parser::Sema::~Sema() {} +Parser::Sema::~Sema() = default; std::vector<ArgKind> Parser::Sema::getAcceptedCompletionTypes( llvm::ArrayRef<std::pair<MatcherCtor, unsigned>> Context) { @@ -526,7 +526,7 @@ Parser::Parser(CodeTokenizer *Tokenizer, Sema *S, : Tokenizer(Tokenizer), S(S ? S : &*DefaultRegistrySema), NamedValues(NamedValues), Error(Error) {} -Parser::RegistrySema::~RegistrySema() {} +Parser::RegistrySema::~RegistrySema() = default; llvm::Optional<MatcherCtor> Parser::RegistrySema::lookupMatcherCtor(StringRef MatcherName) { diff --git a/lib/ASTMatchers/Dynamic/VariantValue.cpp b/lib/ASTMatchers/Dynamic/VariantValue.cpp index 8f3c70c1a8d8aa15d4e254be15ee95277f404a5a..d73fb7b623f8a3de97572daac7218172dbe04eb3 100644 --- a/lib/ASTMatchers/Dynamic/VariantValue.cpp +++ b/lib/ASTMatchers/Dynamic/VariantValue.cpp @@ -75,7 +75,7 @@ VariantMatcher::MatcherOps::constructVariadicOperator( return DynTypedMatcher::constructVariadic(Op, NodeKind, DynMatchers); } -VariantMatcher::Payload::~Payload() {} +VariantMatcher::Payload::~Payload() = default; class VariantMatcher::SinglePayload : public VariantMatcher::Payload { public: @@ -113,7 +113,7 @@ public: PolymorphicPayload(std::vector<DynTypedMatcher> MatchersIn) : Matchers(std::move(MatchersIn)) {} - ~PolymorphicPayload() override {} + ~PolymorphicPayload() override = default; llvm::Optional<DynTypedMatcher> getSingleMatcher() const override { if (Matchers.size() != 1) diff --git a/lib/Analysis/AnalysisDeclContext.cpp b/lib/Analysis/AnalysisDeclContext.cpp index d7fb7e95d7586959cfc2e9ae43ee1e3747c7fc1a..a54710181d1a39559428dd1e104e69c1657c8c54 100644 --- a/lib/Analysis/AnalysisDeclContext.cpp +++ b/lib/Analysis/AnalysisDeclContext.cpp @@ -551,7 +551,7 @@ ManagedAnalysis *&AnalysisDeclContext::getAnalysisImpl(const void *tag) { // Cleanup. //===----------------------------------------------------------------------===// -ManagedAnalysis::~ManagedAnalysis() {} +ManagedAnalysis::~ManagedAnalysis() = default; AnalysisDeclContext::~AnalysisDeclContext() { delete forcedBlkExprs; @@ -568,7 +568,7 @@ AnalysisDeclContextManager::~AnalysisDeclContextManager() { llvm::DeleteContainerSeconds(Contexts); } -LocationContext::~LocationContext() {} +LocationContext::~LocationContext() = default; LocationContextManager::~LocationContextManager() { clear(); diff --git a/lib/Analysis/CFG.cpp b/lib/Analysis/CFG.cpp index 6cb63f2b175512c4d30b4568051f9829fd925981..63201c45951f26d537082aad302ff308b5552c9e 100644 --- a/lib/Analysis/CFG.cpp +++ b/lib/Analysis/CFG.cpp @@ -4010,7 +4010,7 @@ public: } } - ~StmtPrinterHelper() override {} + ~StmtPrinterHelper() override = default; const LangOptions &getLangOpts() const { return LangOpts; } void setBlockID(signed i) { currentBlock = i; } diff --git a/lib/Analysis/CodeInjector.cpp b/lib/Analysis/CodeInjector.cpp index 76bf364444d1b66ef3f009209da79ba55d09093c..3ac94f9bc013515f2c42f5642f0f4ee45cdf202d 100644 --- a/lib/Analysis/CodeInjector.cpp +++ b/lib/Analysis/CodeInjector.cpp @@ -11,5 +11,5 @@ using namespace clang; -CodeInjector::CodeInjector() {} -CodeInjector::~CodeInjector() {} +CodeInjector::CodeInjector() = default; +CodeInjector::~CodeInjector() = default; diff --git a/lib/Analysis/Consumed.cpp b/lib/Analysis/Consumed.cpp index 9df23923b014b924fb0c47c101d5a84758c89f7d..11429fff452e9c06fd90df6e105265022c169ffe 100644 --- a/lib/Analysis/Consumed.cpp +++ b/lib/Analysis/Consumed.cpp @@ -52,7 +52,7 @@ using namespace clang; using namespace consumed; // Key method definition -ConsumedWarningsHandlerBase::~ConsumedWarningsHandlerBase() {} +ConsumedWarningsHandlerBase::~ConsumedWarningsHandlerBase() = default; static SourceLocation getFirstStmtLoc(const CFGBlock *Block) { // Find the source location of the first statement in the block, if the block diff --git a/lib/Analysis/FormatString.cpp b/lib/Analysis/FormatString.cpp index 0948bc0b08a869734c036d45b9b680a8efd1e25b..f8bbafd54904862d739ea21eee3d91a867d4424e 100644 --- a/lib/Analysis/FormatString.cpp +++ b/lib/Analysis/FormatString.cpp @@ -26,7 +26,7 @@ using clang::analyze_format_string::ConversionSpecifier; using namespace clang; // Key function to FormatStringHandler. -FormatStringHandler::~FormatStringHandler() {} +FormatStringHandler::~FormatStringHandler() = default; //===----------------------------------------------------------------------===// // Functions for parsing format strings components in both printf and diff --git a/lib/Analysis/ProgramPoint.cpp b/lib/Analysis/ProgramPoint.cpp index 26b59bb71de2182431e0bf8be8465a7ad924db89..787e5bbca7cacdd7e0fd7300d4ad7e0c80d6af3f 100644 --- a/lib/Analysis/ProgramPoint.cpp +++ b/lib/Analysis/ProgramPoint.cpp @@ -16,7 +16,7 @@ using namespace clang; -ProgramPointTag::~ProgramPointTag() {} +ProgramPointTag::~ProgramPointTag() = default; ProgramPoint ProgramPoint::getProgramPoint(const Stmt *S, ProgramPoint::Kind K, const LocationContext *LC, diff --git a/lib/Analysis/ThreadSafety.cpp b/lib/Analysis/ThreadSafety.cpp index bce5175ece2cd9d2a9dd677045129585a4659b08..407b7f0e0d970ec544509da4069c74a0b52b6c13 100644 --- a/lib/Analysis/ThreadSafety.cpp +++ b/lib/Analysis/ThreadSafety.cpp @@ -48,7 +48,7 @@ using namespace clang; using namespace threadSafety; // Key method definition -ThreadSafetyHandler::~ThreadSafetyHandler() {} +ThreadSafetyHandler::~ThreadSafetyHandler() = default; namespace { class TILPrinter : @@ -107,7 +107,7 @@ public: : CapabilityExpr(CE), LKind(LK), AcquireLoc(Loc), Asserted(Asrt), Declared(Declrd) {} - virtual ~FactEntry() {} + virtual ~FactEntry() = default; LockKind kind() const { return LKind; } SourceLocation loc() const { return AcquireLoc; } diff --git a/lib/Analysis/UninitializedValues.cpp b/lib/Analysis/UninitializedValues.cpp index f2f791957aa320cafa03f318b95e8dbd4db72932..2ee94d5e8e5c58865ff875e760edef524e59929a 100644 --- a/lib/Analysis/UninitializedValues.cpp +++ b/lib/Analysis/UninitializedValues.cpp @@ -837,7 +837,7 @@ struct PruneBlocksHandler : public UninitVariablesHandler { : hadUse(numBlocks, false), hadAnyUse(false), currentBlock(0) {} - ~PruneBlocksHandler() override {} + ~PruneBlocksHandler() override = default; /// Records if a CFGBlock had a potential use of an uninitialized variable. llvm::BitVector hadUse; @@ -922,4 +922,4 @@ void clang::runUninitializedVariablesAnalysis( } } -UninitVariablesHandler::~UninitVariablesHandler() {} +UninitVariablesHandler::~UninitVariablesHandler() = default; diff --git a/lib/Basic/Diagnostic.cpp b/lib/Basic/Diagnostic.cpp index 0caa876a57b7d2a8df22a52550dfdbfff929d1f4..8c15f25b5b6f254264bd03c26094db4d2aa32186 100644 --- a/lib/Basic/Diagnostic.cpp +++ b/lib/Basic/Diagnostic.cpp @@ -393,7 +393,7 @@ bool DiagnosticsEngine::EmitCurrentDiagnostic(bool Force) { } -DiagnosticConsumer::~DiagnosticConsumer() {} +DiagnosticConsumer::~DiagnosticConsumer() = default; void DiagnosticConsumer::HandleDiagnostic(DiagnosticsEngine::Level DiagLevel, const Diagnostic &Info) { @@ -981,7 +981,7 @@ bool DiagnosticConsumer::IncludeInDiagnosticCounts() const { return true; } void IgnoringDiagConsumer::anchor() { } -ForwardingDiagnosticConsumer::~ForwardingDiagnosticConsumer() {} +ForwardingDiagnosticConsumer::~ForwardingDiagnosticConsumer() = default; void ForwardingDiagnosticConsumer::HandleDiagnostic( DiagnosticsEngine::Level DiagLevel, diff --git a/lib/Basic/FileManager.cpp b/lib/Basic/FileManager.cpp index 21e6ea3ab4bbb298535ef0fb2dcf402d54fc45b1..c04ebda1309be017e8ccfd1be1b6ded69d2c6371 100644 --- a/lib/Basic/FileManager.cpp +++ b/lib/Basic/FileManager.cpp @@ -605,5 +605,5 @@ void FileManager::PrintStats() const { } // Virtual destructors for abstract base classes that need live in Basic. -PCHContainerWriter::~PCHContainerWriter() {} -PCHContainerReader::~PCHContainerReader() {} +PCHContainerWriter::~PCHContainerWriter() = default; +PCHContainerReader::~PCHContainerReader() = default; diff --git a/lib/Basic/IdentifierTable.cpp b/lib/Basic/IdentifierTable.cpp index 199815aa891b5be6854ba9c627f7c5bcf56683b4..c60789d816cc182f827a4a39d694f1c76b4fee14 100644 --- a/lib/Basic/IdentifierTable.cpp +++ b/lib/Basic/IdentifierTable.cpp @@ -53,9 +53,9 @@ IdentifierInfo::IdentifierInfo() { // IdentifierTable Implementation //===----------------------------------------------------------------------===// -IdentifierIterator::~IdentifierIterator() { } +IdentifierIterator::~IdentifierIterator() = default; -IdentifierInfoLookup::~IdentifierInfoLookup() {} +IdentifierInfoLookup::~IdentifierInfoLookup() = default; namespace { /// \brief A simple identifier lookup iterator that represents an diff --git a/lib/Basic/SourceManager.cpp b/lib/Basic/SourceManager.cpp index 536ae7ff5c8fe0e39f0475ff63c371b4cd5c3377..100f6e88f1aab3220029282937143bbc1f27c59f 100644 --- a/lib/Basic/SourceManager.cpp +++ b/lib/Basic/SourceManager.cpp @@ -2204,7 +2204,7 @@ LLVM_DUMP_METHOD void SourceManager::dump() const { } } -ExternalSLocEntrySource::~ExternalSLocEntrySource() { } +ExternalSLocEntrySource::~ExternalSLocEntrySource() = default; /// Return the amount of memory used by memory buffers, breaking down /// by heap-backed versus mmap'ed memory. diff --git a/lib/Basic/TargetInfo.cpp b/lib/Basic/TargetInfo.cpp index 21368f8b1145596dc402cd59b30ddf5d4e64bff9..6cde57d86538bec7f1d868b922fd38a52aa8cc63 100644 --- a/lib/Basic/TargetInfo.cpp +++ b/lib/Basic/TargetInfo.cpp @@ -100,7 +100,7 @@ TargetInfo::TargetInfo(const llvm::Triple &T) : TargetOpts(), Triple(T) { } // Out of line virtual dtor for TargetInfo. -TargetInfo::~TargetInfo() {} +TargetInfo::~TargetInfo() = default; /// getTypeName - Return the user string for the specified integer type enum. /// For example, SignedShort -> "short". diff --git a/lib/Basic/VirtualFileSystem.cpp b/lib/Basic/VirtualFileSystem.cpp index a20132b3de892cd4fa43acf4c136948e30774f0a..540116f6c5e0aafe903984db41158d7d100e2546 100644 --- a/lib/Basic/VirtualFileSystem.cpp +++ b/lib/Basic/VirtualFileSystem.cpp @@ -84,9 +84,9 @@ bool Status::exists() const { return isStatusKnown() && Type != file_type::file_not_found; } -File::~File() {} +File::~File() = default; -FileSystem::~FileSystem() {} +FileSystem::~FileSystem() = default; ErrorOr<std::unique_ptr<MemoryBuffer>> FileSystem::getBufferForFile(const llvm::Twine &Name, int64_t FileSize, @@ -315,7 +315,7 @@ OverlayFileSystem::setCurrentWorkingDirectory(const Twine &Path) { return std::error_code(); } -clang::vfs::detail::DirIterImpl::~DirIterImpl() { } +clang::vfs::detail::DirIterImpl::~DirIterImpl() = default; namespace { class OverlayFSDirIterImpl : public clang::vfs::detail::DirIterImpl { @@ -398,7 +398,7 @@ class InMemoryNode { public: InMemoryNode(Status Stat, InMemoryNodeKind Kind) : Stat(std::move(Stat)), Kind(Kind) {} - virtual ~InMemoryNode() {} + virtual ~InMemoryNode() = default; const Status &getStatus() const { return Stat; } InMemoryNodeKind getKind() const { return Kind; } virtual std::string toString(unsigned Indent) const = 0; @@ -482,7 +482,7 @@ InMemoryFileSystem::InMemoryFileSystem(bool UseNormalizedPaths) llvm::sys::fs::perms::all_all))), UseNormalizedPaths(UseNormalizedPaths) {} -InMemoryFileSystem::~InMemoryFileSystem() {} +InMemoryFileSystem::~InMemoryFileSystem() = default; std::string InMemoryFileSystem::toString() const { return Root->toString(/*Indent=*/0); diff --git a/lib/CodeGen/CGBlocks.cpp b/lib/CodeGen/CGBlocks.cpp index cfb09e72c7b4a078335d0e45a0760fb9d32ee5ff..b09532bbad8c6c6a62fba061245af2a89ed506b7 100644 --- a/lib/CodeGen/CGBlocks.cpp +++ b/lib/CodeGen/CGBlocks.cpp @@ -40,7 +40,7 @@ CGBlockInfo::CGBlockInfo(const BlockDecl *block, StringRef name) } // Anchor the vtable to this translation unit. -BlockByrefHelpers::~BlockByrefHelpers() {} +BlockByrefHelpers::~BlockByrefHelpers() = default; /// Build the given block as a global block. static llvm::Constant *buildGlobalBlock(CodeGenModule &CGM, diff --git a/lib/CodeGen/CGCUDARuntime.cpp b/lib/CodeGen/CGCUDARuntime.cpp index 014a5dbd46d685957aade55210f0bf8f280a2fe5..bd8b034c814f2e210d6903c51639e93f0ca25260 100644 --- a/lib/CodeGen/CGCUDARuntime.cpp +++ b/lib/CodeGen/CGCUDARuntime.cpp @@ -22,7 +22,7 @@ using namespace clang; using namespace CodeGen; -CGCUDARuntime::~CGCUDARuntime() {} +CGCUDARuntime::~CGCUDARuntime() = default; RValue CGCUDARuntime::EmitCUDAKernelCallExpr(CodeGenFunction &CGF, const CUDAKernelCallExpr *E, diff --git a/lib/CodeGen/CGCXXABI.cpp b/lib/CodeGen/CGCXXABI.cpp index 51f1b0730b32165bd62da1d0aebfc5019dda2aef..5455000f21e7990158338134c32d3250a779724e 100644 --- a/lib/CodeGen/CGCXXABI.cpp +++ b/lib/CodeGen/CGCXXABI.cpp @@ -18,7 +18,7 @@ using namespace clang; using namespace CodeGen; -CGCXXABI::~CGCXXABI() { } +CGCXXABI::~CGCXXABI() = default; void CGCXXABI::ErrorUnsupportedABI(CodeGenFunction &CGF, StringRef S) { DiagnosticsEngine &Diags = CGF.CGM.getDiags(); diff --git a/lib/CodeGen/CGCall.cpp b/lib/CodeGen/CGCall.cpp index bb7fdca667aa55d776289e1152451fbde082b4fa..2b8e44ba72a74225d8ac48681fdb7a8f8768cc40 100644 --- a/lib/CodeGen/CGCall.cpp +++ b/lib/CodeGen/CGCall.cpp @@ -584,7 +584,7 @@ struct TypeExpansion { const TypeExpansionKind Kind; TypeExpansion(TypeExpansionKind K) : Kind(K) {} - virtual ~TypeExpansion() {} + virtual ~TypeExpansion() = default; }; struct ConstantArrayExpansion : TypeExpansion { diff --git a/lib/CodeGen/CGObjC.cpp b/lib/CodeGen/CGObjC.cpp index c4b5b43b7115b544a10d5e2fea9886d01e8a9c75..12ea96755cf29d92082bd52b3a0b81bd2b6fbe5d 100644 --- a/lib/CodeGen/CGObjC.cpp +++ b/lib/CodeGen/CGObjC.cpp @@ -3058,4 +3058,4 @@ CodeGenFunction::EmitBlockCopyAndAutorelease(llvm::Value *Block, QualType Ty) { } -CGObjCRuntime::~CGObjCRuntime() {} +CGObjCRuntime::~CGObjCRuntime() = default; diff --git a/lib/CodeGen/CGOpenCLRuntime.cpp b/lib/CodeGen/CGOpenCLRuntime.cpp index 8af39ceecdfe10c84bf7ad73e6f52993ba226c42..808406a97c3b820a54e7050af4c0eacf7a48158c 100644 --- a/lib/CodeGen/CGOpenCLRuntime.cpp +++ b/lib/CodeGen/CGOpenCLRuntime.cpp @@ -22,7 +22,7 @@ using namespace clang; using namespace CodeGen; -CGOpenCLRuntime::~CGOpenCLRuntime() {} +CGOpenCLRuntime::~CGOpenCLRuntime() = default; void CGOpenCLRuntime::EmitWorkGroupLocalVarDecl(CodeGenFunction &CGF, const VarDecl &D) { diff --git a/lib/CodeGen/CGOpenMPRuntime.h b/lib/CodeGen/CGOpenMPRuntime.h index dc4238cda62ad18c283d4d927b311e37e015c088..947f2cf7a9bb699fcddbdbed26c88d858ec95c44 100644 --- a/lib/CodeGen/CGOpenMPRuntime.h +++ b/lib/CodeGen/CGOpenMPRuntime.h @@ -369,7 +369,7 @@ private: public: explicit CGOpenMPRuntime(CodeGenModule &CGM); - virtual ~CGOpenMPRuntime() {} + virtual ~CGOpenMPRuntime() = default; virtual void clear(); /// \brief Emits outlined function for the specified OpenMP parallel directive diff --git a/lib/CodeGen/CodeGenFunction.cpp b/lib/CodeGen/CodeGenFunction.cpp index 8801c3b3f256d541a46bcf6292f2fd14439357e9..9fbfcf424aeaa71e42c029ba8724ca48124ca2a1 100644 --- a/lib/CodeGen/CodeGenFunction.cpp +++ b/lib/CodeGen/CodeGenFunction.cpp @@ -1801,7 +1801,7 @@ Address CodeGenFunction::EmitFieldAnnotations(const FieldDecl *D, return Address(V, Addr.getAlignment()); } -CodeGenFunction::CGCapturedStmtInfo::~CGCapturedStmtInfo() { } +CodeGenFunction::CGCapturedStmtInfo::~CGCapturedStmtInfo() = default; CodeGenFunction::SanitizerScope::SanitizerScope(CodeGenFunction *CGF) : CGF(CGF) { diff --git a/lib/CodeGen/CodeGenTBAA.cpp b/lib/CodeGen/CodeGenTBAA.cpp index c3c925cde2fd1f825563d0dca632a15d393c40ef..ee232ce7736f06bb7a4bbb202040c9cded5cba3c 100644 --- a/lib/CodeGen/CodeGenTBAA.cpp +++ b/lib/CodeGen/CodeGenTBAA.cpp @@ -36,8 +36,7 @@ CodeGenTBAA::CodeGenTBAA(ASTContext &Ctx, llvm::LLVMContext& VMContext, MDHelper(VMContext), Root(nullptr), Char(nullptr) { } -CodeGenTBAA::~CodeGenTBAA() { -} +CodeGenTBAA::~CodeGenTBAA() = default; llvm::MDNode *CodeGenTBAA::getRoot() { // Define the root of the tree. This identifies the tree, so that diff --git a/lib/CodeGen/TargetInfo.cpp b/lib/CodeGen/TargetInfo.cpp index f76fad16cc289c0456678e6e6dc4d3df4d1274a6..aa54b0a4d4f768ce0007b111337e1175cc5432e6 100644 --- a/lib/CodeGen/TargetInfo.cpp +++ b/lib/CodeGen/TargetInfo.cpp @@ -66,7 +66,7 @@ Address ABIInfo::EmitMSVAArg(CodeGenFunction &CGF, Address VAListAddr, return Address::invalid(); } -ABIInfo::~ABIInfo() {} +ABIInfo::~ABIInfo() = default; static CGCXXABI::RecordArgABI getRecordArgABI(const RecordType *RT, CGCXXABI &CXXABI) { diff --git a/lib/Driver/Tool.cpp b/lib/Driver/Tool.cpp index 7142e822f16e593767af709a2706ccd88ec4bc19..6ae3506e657f154d1bc941f51161c1e5b91235d3 100644 --- a/lib/Driver/Tool.cpp +++ b/lib/Driver/Tool.cpp @@ -19,5 +19,4 @@ Tool::Tool(const char *_Name, const char *_ShortName, const ToolChain &TC, ResponseSupport(_ResponseSupport), ResponseEncoding(_ResponseEncoding), ResponseFlag(_ResponseFlag) {} -Tool::~Tool() { -} +Tool::~Tool() = default; diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp index 65d4f4f4e0ab336eeb7f563b0b7e133825bd817c..e4611d21b6d533142dd0eea8a0798bf6ed4aa91e 100644 --- a/lib/Driver/ToolChain.cpp +++ b/lib/Driver/ToolChain.cpp @@ -72,8 +72,7 @@ ToolChain::ToolChain(const Driver &D, const llvm::Triple &T, << A->getValue() << A->getAsString(Args); } -ToolChain::~ToolChain() { -} +ToolChain::~ToolChain() = default; vfs::FileSystem &ToolChain::getVFS() const { return getDriver().getVFS(); } diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp index 6438ea7606aa986f66d5f158c62be7125f50b500..0687699e4a1d8c045e49debe096e8213a0c57872 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp @@ -156,9 +156,9 @@ StringRef MachO::getMachOArchName(const ArgList &Args) const { } } -Darwin::~Darwin() {} +Darwin::~Darwin() = default; -MachO::~MachO() {} +MachO::~MachO() = default; std::string MachO::ComputeEffectiveClangTriple(const ArgList &Args, types::ID InputType) const { @@ -2102,7 +2102,7 @@ Generic_GCC::Generic_GCC(const Driver &D, const llvm::Triple &Triple, getProgramPaths().push_back(getDriver().Dir); } -Generic_GCC::~Generic_GCC() {} +Generic_GCC::~Generic_GCC() = default; Tool *Generic_GCC::getTool(Action::ActionClass AC) const { switch (AC) { @@ -2339,7 +2339,7 @@ HexagonToolChain::HexagonToolChain(const Driver &D, const llvm::Triple &Triple, GetTargetCPU(Args), InstalledDir, LibPaths); } -HexagonToolChain::~HexagonToolChain() {} +HexagonToolChain::~HexagonToolChain() = default; Tool *HexagonToolChain::buildAssembler() const { return new tools::hexagon::Assembler(*this); @@ -2642,7 +2642,7 @@ TCEToolChain::TCEToolChain(const Driver &D, const llvm::Triple &Triple, getProgramPaths().push_back(Path); } -TCEToolChain::~TCEToolChain() {} +TCEToolChain::~TCEToolChain() = default; bool TCEToolChain::IsMathErrnoDefault() const { return true; } @@ -3987,7 +3987,7 @@ MyriadToolChain::MyriadToolChain(const Driver &D, const llvm::Triple &Triple, } } -MyriadToolChain::~MyriadToolChain() {} +MyriadToolChain::~MyriadToolChain() = default; void MyriadToolChain::AddClangSystemIncludeArgs(const ArgList &DriverArgs, ArgStringList &CC1Args) const { diff --git a/lib/Format/BreakableToken.h b/lib/Format/BreakableToken.h index eb1f9fda307114ff112a4f4d996df75ed42f1e86..506d979f2deda72a688a0e70b97dfbee5cd42949 100644 --- a/lib/Format/BreakableToken.h +++ b/lib/Format/BreakableToken.h @@ -36,7 +36,7 @@ public: /// \brief Contains starting character index and length of split. typedef std::pair<StringRef::size_type, unsigned> Split; - virtual ~BreakableToken() {} + virtual ~BreakableToken() = default; /// \brief Returns the number of lines in this token in the original code. virtual unsigned getLineCount() const = 0; diff --git a/lib/Format/FormatToken.cpp b/lib/Format/FormatToken.cpp index b293cf25c355ae1c3099f0278857c68e37a07f78..fec48605b04b88c88abd2d63cae2634fa96b469a 100644 --- a/lib/Format/FormatToken.cpp +++ b/lib/Format/FormatToken.cpp @@ -67,7 +67,7 @@ bool FormatToken::isSimpleTypeSpecifier() const { } } -TokenRole::~TokenRole() {} +TokenRole::~TokenRole() = default; void TokenRole::precomputeFormattingInfos(const FormatToken *Token) {} diff --git a/lib/Format/UnwrappedLineFormatter.cpp b/lib/Format/UnwrappedLineFormatter.cpp index 6d9b1da49b26ffeeaaa5823f2373b30b8299abd8..100aedcd99971d67e87bc0627f21f4e3e3b29848 100644 --- a/lib/Format/UnwrappedLineFormatter.cpp +++ b/lib/Format/UnwrappedLineFormatter.cpp @@ -477,7 +477,7 @@ public: UnwrappedLineFormatter *BlockFormatter) : Indenter(Indenter), Whitespaces(Whitespaces), Style(Style), BlockFormatter(BlockFormatter) {} - virtual ~LineFormatter() {} + virtual ~LineFormatter() = default; /// \brief Formats an \c AnnotatedLine and returns the penalty. /// diff --git a/lib/Format/UnwrappedLineParser.cpp b/lib/Format/UnwrappedLineParser.cpp index 634dbe970845e6283e5cdd9dc0591f71f9516639..2956f841e79139ae9339c90b7f7be885b631a959 100644 --- a/lib/Format/UnwrappedLineParser.cpp +++ b/lib/Format/UnwrappedLineParser.cpp @@ -25,7 +25,7 @@ namespace format { class FormatTokenSource { public: - virtual ~FormatTokenSource() {} + virtual ~FormatTokenSource() = default; virtual FormatToken *getNextToken() = 0; virtual unsigned getPosition() = 0; diff --git a/lib/Format/UnwrappedLineParser.h b/lib/Format/UnwrappedLineParser.h index c2fa02957685a760aae8f3710dd065aa24f5ccbd..88c0dc5cb7fd1534d383b584d801e69632593cce 100644 --- a/lib/Format/UnwrappedLineParser.h +++ b/lib/Format/UnwrappedLineParser.h @@ -51,7 +51,7 @@ struct UnwrappedLine { class UnwrappedLineConsumer { public: - virtual ~UnwrappedLineConsumer() {} + virtual ~UnwrappedLineConsumer() = default; virtual void consumeUnwrappedLine(const UnwrappedLine &Line) = 0; virtual void finishRun() = 0; }; diff --git a/lib/Frontend/ASTUnit.cpp b/lib/Frontend/ASTUnit.cpp index d3d7185ea3ad97ceea064701388ea6cdf764c558..1696e36418dfee380fbef7f9c292d3541dc01b61 100644 --- a/lib/Frontend/ASTUnit.cpp +++ b/lib/Frontend/ASTUnit.cpp @@ -2841,7 +2841,7 @@ void ASTUnit::ConcurrencyState::finish() { #else // NDEBUG ASTUnit::ConcurrencyState::ConcurrencyState() { Mutex = nullptr; } -ASTUnit::ConcurrencyState::~ConcurrencyState() {} +ASTUnit::ConcurrencyState::~ConcurrencyState() = default; void ASTUnit::ConcurrencyState::start() {} void ASTUnit::ConcurrencyState::finish() {} diff --git a/lib/Frontend/CacheTokens.cpp b/lib/Frontend/CacheTokens.cpp index 7d2a09cd7ca03cd28e507c14abc7d8607784af26..9f641855559fb25a2d3d51b5c51dbf09451c12b5 100644 --- a/lib/Frontend/CacheTokens.cpp +++ b/lib/Frontend/CacheTokens.cpp @@ -47,7 +47,7 @@ class PTHEntry { Offset TokenData, PPCondData; public: - PTHEntry() {} + PTHEntry() = default; PTHEntry(Offset td, Offset ppcd) : TokenData(td), PPCondData(ppcd) {} @@ -547,7 +547,7 @@ class StatListener : public FileSystemStatCache { PTHMap &PM; public: StatListener(PTHMap &pm) : PM(pm) {} - ~StatListener() override {} + ~StatListener() override = default; LookupResult getStat(const char *Path, FileData &Data, bool isFile, std::unique_ptr<vfs::File> *F, diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp index 6e234112d7d5014de96078096fd93e98a0cd55cb..b5ac59990fe4ca41e3e6dc5ecdf9d913e5e1d967 100644 --- a/lib/Frontend/CompilerInvocation.cpp +++ b/lib/Frontend/CompilerInvocation.cpp @@ -59,7 +59,7 @@ CompilerInvocationBase::CompilerInvocationBase(const CompilerInvocationBase &X) HeaderSearchOpts(new HeaderSearchOptions(X.getHeaderSearchOpts())), PreprocessorOpts(new PreprocessorOptions(X.getPreprocessorOpts())) {} -CompilerInvocationBase::~CompilerInvocationBase() {} +CompilerInvocationBase::~CompilerInvocationBase() = default; //===----------------------------------------------------------------------===// // Deserialization (from args) diff --git a/lib/Frontend/DependencyFile.cpp b/lib/Frontend/DependencyFile.cpp index 93d4a803469657ea35fdfd0ef2775b7134dd9db6..15ddb702cb270d2b98f129ec06896306f20daf7b 100644 --- a/lib/Frontend/DependencyFile.cpp +++ b/lib/Frontend/DependencyFile.cpp @@ -137,7 +137,7 @@ bool DependencyCollector::sawDependency(StringRef Filename, bool FromModule, (needSystemDependencies() || !IsSystem); } -DependencyCollector::~DependencyCollector() { } +DependencyCollector::~DependencyCollector() = default; void DependencyCollector::attachToPreprocessor(Preprocessor &PP) { PP.addPPCallbacks( llvm::make_unique<DepCollectorPPCallbacks>(*this, PP.getSourceManager())); diff --git a/lib/Frontend/DiagnosticRenderer.cpp b/lib/Frontend/DiagnosticRenderer.cpp index 6ef9a89d86fd56dcd681138a40c0d50ec4898265..b8d4124f175ecad18f4fb021b674aa304ad05e1b 100644 --- a/lib/Frontend/DiagnosticRenderer.cpp +++ b/lib/Frontend/DiagnosticRenderer.cpp @@ -69,7 +69,7 @@ DiagnosticRenderer::DiagnosticRenderer(const LangOptions &LangOpts, DiagnosticOptions *DiagOpts) : LangOpts(LangOpts), DiagOpts(DiagOpts), LastLevel() {} -DiagnosticRenderer::~DiagnosticRenderer() {} +DiagnosticRenderer::~DiagnosticRenderer() = default; namespace { @@ -577,7 +577,7 @@ void DiagnosticRenderer::emitMacroExpansions(SourceLocation Loc, emitSingleMacroExpansion(*I, Level, Ranges, SM); } -DiagnosticNoteRenderer::~DiagnosticNoteRenderer() {} +DiagnosticNoteRenderer::~DiagnosticNoteRenderer() = default; void DiagnosticNoteRenderer::emitIncludeLocation(SourceLocation Loc, PresumedLoc PLoc, diff --git a/lib/Frontend/FrontendAction.cpp b/lib/Frontend/FrontendAction.cpp index ecef92e0a7dde882d2f203e229156791b0a64ac5..3c6c7d5a44669c2cf4d16f2125d2f5b4923834bb 100644 --- a/lib/Frontend/FrontendAction.cpp +++ b/lib/Frontend/FrontendAction.cpp @@ -126,7 +126,7 @@ public: FrontendAction::FrontendAction() : Instance(nullptr) {} -FrontendAction::~FrontendAction() {} +FrontendAction::~FrontendAction() = default; void FrontendAction::setCurrentInput(const FrontendInputFile &CurrentInput, std::unique_ptr<ASTUnit> AST) { diff --git a/lib/Frontend/MultiplexConsumer.cpp b/lib/Frontend/MultiplexConsumer.cpp index 91ee100f6394d8717bcc9f3892d37dbe60d0dc6d..226e33da4555893ea5cf388a72f7739e0b58918f 100644 --- a/lib/Frontend/MultiplexConsumer.cpp +++ b/lib/Frontend/MultiplexConsumer.cpp @@ -262,7 +262,7 @@ MultiplexConsumer::MultiplexConsumer( } } -MultiplexConsumer::~MultiplexConsumer() {} +MultiplexConsumer::~MultiplexConsumer() = default; void MultiplexConsumer::Initialize(ASTContext &Context) { for (auto &Consumer : Consumers) diff --git a/lib/Frontend/Rewrite/FixItRewriter.cpp b/lib/Frontend/Rewrite/FixItRewriter.cpp index dc787ac9557c41c5a27146580532e4123e3eea0f..8daf2ce41b4176f3f2467eab77f4dd60490579f2 100644 --- a/lib/Frontend/Rewrite/FixItRewriter.cpp +++ b/lib/Frontend/Rewrite/FixItRewriter.cpp @@ -200,4 +200,4 @@ void FixItRewriter::Diag(SourceLocation Loc, unsigned DiagID) { Diags.setClient(this, false); } -FixItOptions::~FixItOptions() {} +FixItOptions::~FixItOptions() = default; diff --git a/lib/Frontend/Rewrite/FrontendActions.cpp b/lib/Frontend/Rewrite/FrontendActions.cpp index 8cf8adf37ed669dcb7ea502465411894d0d20575..d3a22ce9adcc368008dc8fc777bb4bcd32e4edc4 100644 --- a/lib/Frontend/Rewrite/FrontendActions.cpp +++ b/lib/Frontend/Rewrite/FrontendActions.cpp @@ -38,7 +38,7 @@ HTMLPrintAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { } FixItAction::FixItAction() {} -FixItAction::~FixItAction() {} +FixItAction::~FixItAction() = default; std::unique_ptr<ASTConsumer> FixItAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) { diff --git a/lib/Frontend/Rewrite/RewriteModernObjC.cpp b/lib/Frontend/Rewrite/RewriteModernObjC.cpp index 2902ba78c4ef3e688118327bb07c30a40cfd24a9..3523783b5c53d4bcb90d041fc2f0d3bf981c7bf6 100644 --- a/lib/Frontend/Rewrite/RewriteModernObjC.cpp +++ b/lib/Frontend/Rewrite/RewriteModernObjC.cpp @@ -244,7 +244,7 @@ namespace { DiagnosticsEngine &D, const LangOptions &LOpts, bool silenceMacroWarn, bool LineInfo); - ~RewriteModernObjC() override {} + ~RewriteModernObjC() override = default; void HandleTranslationUnit(ASTContext &C) override; diff --git a/lib/Frontend/Rewrite/RewriteObjC.cpp b/lib/Frontend/Rewrite/RewriteObjC.cpp index 204820b3041aee71c26e0b12fffbba343bc5e73c..9d9be2cbc36445aaf12f73b2042ddb94e5596084 100644 --- a/lib/Frontend/Rewrite/RewriteObjC.cpp +++ b/lib/Frontend/Rewrite/RewriteObjC.cpp @@ -193,7 +193,7 @@ namespace { DiagnosticsEngine &D, const LangOptions &LOpts, bool silenceMacroWarn); - ~RewriteObjC() override {} + ~RewriteObjC() override = default; void HandleTranslationUnit(ASTContext &C) override; @@ -512,7 +512,7 @@ namespace { D, LOpts, silenceMacroWarn) {} - ~RewriteObjCFragileABI() override {} + ~RewriteObjCFragileABI() override = default; void Initialize(ASTContext &context) override; // Rewriting metadata diff --git a/lib/Frontend/SerializedDiagnosticPrinter.cpp b/lib/Frontend/SerializedDiagnosticPrinter.cpp index 1bf10d27694560e38ec528c9e7a2fc87d313341a..1cf886ce7be39844dfeb9d2f1b88051053bb4a51 100644 --- a/lib/Frontend/SerializedDiagnosticPrinter.cpp +++ b/lib/Frontend/SerializedDiagnosticPrinter.cpp @@ -62,7 +62,7 @@ public: DiagnosticOptions *DiagOpts) : DiagnosticNoteRenderer(LangOpts, DiagOpts), Writer(Writer) {} - ~SDiagsRenderer() override {} + ~SDiagsRenderer() override = default; protected: void emitDiagnosticMessage(SourceLocation Loc, @@ -159,7 +159,7 @@ public: EmitPreamble(); } - ~SDiagsWriter() override {} + ~SDiagsWriter() override = default; void HandleDiagnostic(DiagnosticsEngine::Level DiagLevel, const Diagnostic &Info) override; diff --git a/lib/Frontend/TextDiagnostic.cpp b/lib/Frontend/TextDiagnostic.cpp index d4e156d44582ff0bb0839548a9b2627b3cbac0dd..938fe58ea818d97b12b10ff75841d7738b677a48 100644 --- a/lib/Frontend/TextDiagnostic.cpp +++ b/lib/Frontend/TextDiagnostic.cpp @@ -669,7 +669,7 @@ TextDiagnostic::TextDiagnostic(raw_ostream &OS, DiagnosticOptions *DiagOpts) : DiagnosticRenderer(LangOpts, DiagOpts), OS(OS) {} -TextDiagnostic::~TextDiagnostic() {} +TextDiagnostic::~TextDiagnostic() = default; void TextDiagnostic::emitDiagnosticMessage(SourceLocation Loc, diff --git a/lib/Index/CommentToXML.cpp b/lib/Index/CommentToXML.cpp index 15f1696cbe91063d5d8b7f86d694c3499fdfe75f..df103db1de96c3d2b2e41d4bf7269d1428b318f7 100644 --- a/lib/Index/CommentToXML.cpp +++ b/lib/Index/CommentToXML.cpp @@ -1128,7 +1128,7 @@ void CommentASTToXMLConverter::appendToResultWithCDATAEscaping(StringRef S) { } CommentToXMLConverter::CommentToXMLConverter() : FormatInMemoryUniqueId(0) {} -CommentToXMLConverter::~CommentToXMLConverter() {} +CommentToXMLConverter::~CommentToXMLConverter() = default; void CommentToXMLConverter::convertCommentToHTML(const FullComment *FC, SmallVectorImpl<char> &HTML, diff --git a/lib/Lex/HeaderSearch.cpp b/lib/Lex/HeaderSearch.cpp index 469d782deb316a78998281fea1089923f95ce698..79564ca2d5535966fd6137110ca0adfc8d4c5eeb 100644 --- a/lib/Lex/HeaderSearch.cpp +++ b/lib/Lex/HeaderSearch.cpp @@ -50,7 +50,7 @@ HeaderFileInfo::getControllingMacro(ExternalPreprocessorSource *External) { return ControllingMacro; } -ExternalHeaderFileInfoSource::~ExternalHeaderFileInfoSource() {} +ExternalHeaderFileInfoSource::~ExternalHeaderFileInfoSource() = default; HeaderSearch::HeaderSearch(IntrusiveRefCntPtr<HeaderSearchOptions> HSOpts, SourceManager &SourceMgr, DiagnosticsEngine &Diags, diff --git a/lib/Lex/PPLexerChange.cpp b/lib/Lex/PPLexerChange.cpp index c231e18eecc3ec63bc2f6f6d53720a44b5065cad..8f5171880a521398dc6ea090f6f41689bbd51f3d 100644 --- a/lib/Lex/PPLexerChange.cpp +++ b/lib/Lex/PPLexerChange.cpp @@ -24,7 +24,7 @@ #include "llvm/Support/Path.h" using namespace clang; -PPCallbacks::~PPCallbacks() {} +PPCallbacks::~PPCallbacks() = default; //===----------------------------------------------------------------------===// // Miscellaneous Methods. diff --git a/lib/Lex/PTHLexer.cpp b/lib/Lex/PTHLexer.cpp index 5f63d35c5be74b528824b8005514548a051452df..f1a625a882086036486428c132af52055250d84c 100644 --- a/lib/Lex/PTHLexer.cpp +++ b/lib/Lex/PTHLexer.cpp @@ -424,8 +424,7 @@ PTHManager::PTHManager( StringIdLookup(std::move(stringIdLookup)), NumIds(numIds), PP(nullptr), SpellingBase(spellingBase), OriginalSourceFile(originalSourceFile) {} -PTHManager::~PTHManager() { -} +PTHManager::~PTHManager() = default; static void InvalidPTH(DiagnosticsEngine &Diags, const char *Msg) { Diags.Report(Diags.getCustomDiagID(DiagnosticsEngine::Error, "%0")) << Msg; diff --git a/lib/Lex/Pragma.cpp b/lib/Lex/Pragma.cpp index 3134790ccb90c0321317277bb88e4f48f0b794ec..1f158cf5e329c5f67851dc18594e19529c1f8836 100644 --- a/lib/Lex/Pragma.cpp +++ b/lib/Lex/Pragma.cpp @@ -31,8 +31,7 @@ using namespace clang; #include "llvm/Support/raw_ostream.h" // Out-of-line destructor to provide a home for the class. -PragmaHandler::~PragmaHandler() { -} +PragmaHandler::~PragmaHandler() = default; //===----------------------------------------------------------------------===// // EmptyPragmaHandler Implementation. diff --git a/lib/Lex/PreprocessingRecord.cpp b/lib/Lex/PreprocessingRecord.cpp index 32e6de69f0dbf6c888050d847ed4cbb1620bbdad..d01dfca8b6136bb15127225d043650616dd25089 100644 --- a/lib/Lex/PreprocessingRecord.cpp +++ b/lib/Lex/PreprocessingRecord.cpp @@ -19,7 +19,7 @@ using namespace clang; -ExternalPreprocessingRecordSource::~ExternalPreprocessingRecordSource() { } +ExternalPreprocessingRecordSource::~ExternalPreprocessingRecordSource() = default; InclusionDirective::InclusionDirective(PreprocessingRecord &PPRec, diff --git a/lib/Lex/Preprocessor.cpp b/lib/Lex/Preprocessor.cpp index 869890b46cf4a25ac1925036cc7b5d697f559bf7..7b1f78a510240d7dda3fa331e552afb13b5abd89 100644 --- a/lib/Lex/Preprocessor.cpp +++ b/lib/Lex/Preprocessor.cpp @@ -53,7 +53,7 @@ using namespace clang; //===----------------------------------------------------------------------===// -ExternalPreprocessorSource::~ExternalPreprocessorSource() { } +ExternalPreprocessorSource::~ExternalPreprocessorSource() = default; Preprocessor::Preprocessor(IntrusiveRefCntPtr<PreprocessorOptions> PPOpts, DiagnosticsEngine &diags, LangOptions &opts, @@ -897,11 +897,11 @@ bool Preprocessor::HandleComment(Token &result, SourceRange Comment) { return true; } -ModuleLoader::~ModuleLoader() { } +ModuleLoader::~ModuleLoader() = default; -CommentHandler::~CommentHandler() { } +CommentHandler::~CommentHandler() = default; -CodeCompletionHandler::~CodeCompletionHandler() { } +CodeCompletionHandler::~CodeCompletionHandler() = default; void Preprocessor::createPreprocessingRecord() { if (Record) diff --git a/lib/Parse/ParseCXXInlineMethods.cpp b/lib/Parse/ParseCXXInlineMethods.cpp index ab1f97d31a6905f6d76634b3205b72abe6c4a007..82fef5ace44321fce43f1e5f70782b69f1d82f1d 100644 --- a/lib/Parse/ParseCXXInlineMethods.cpp +++ b/lib/Parse/ParseCXXInlineMethods.cpp @@ -222,7 +222,7 @@ void Parser::ParseCXXNonStaticMemberInitializer(Decl *VarD) { Toks.push_back(Eof); } -Parser::LateParsedDeclaration::~LateParsedDeclaration() {} +Parser::LateParsedDeclaration::~LateParsedDeclaration() = default; void Parser::LateParsedDeclaration::ParseLexedMethodDeclarations() {} void Parser::LateParsedDeclaration::ParseLexedMemberInitializers() {} void Parser::LateParsedDeclaration::ParseLexedMethodDefs() {} diff --git a/lib/Rewrite/TokenRewriter.cpp b/lib/Rewrite/TokenRewriter.cpp index 494defdedaa945f2e6f8ece2978d631eba4607fa..cc2ed1350aacdbf38cf084f1ffa4bd71d31760c2 100644 --- a/lib/Rewrite/TokenRewriter.cpp +++ b/lib/Rewrite/TokenRewriter.cpp @@ -46,8 +46,7 @@ TokenRewriter::TokenRewriter(FileID FID, SourceManager &SM, } } -TokenRewriter::~TokenRewriter() { -} +TokenRewriter::~TokenRewriter() = default; /// RemapIterator - Convert from token_iterator (a const iterator) to diff --git a/lib/Sema/AttributeList.cpp b/lib/Sema/AttributeList.cpp index 3c61c95ad8ec37e440340425adc3373929bf6eab..02986deacc00fb815af91bb56cf9c4d8dff7c3a1 100644 --- a/lib/Sema/AttributeList.cpp +++ b/lib/Sema/AttributeList.cpp @@ -44,7 +44,7 @@ AttributeFactory::AttributeFactory() { // Go ahead and configure all the inline capacity. This is just a memset. FreeLists.resize(InlineFreeListsCapacity); } -AttributeFactory::~AttributeFactory() {} +AttributeFactory::~AttributeFactory() = default; static size_t getFreeListIndexForSize(size_t size) { assert(size >= sizeof(AttributeList)); diff --git a/lib/Sema/CodeCompleteConsumer.cpp b/lib/Sema/CodeCompleteConsumer.cpp index 18e9a5911641ce8d136e7129776c99a9fe0deb66..708d9f58754d16cac4747bc357f5f912e9a1eab6 100644 --- a/lib/Sema/CodeCompleteConsumer.cpp +++ b/lib/Sema/CodeCompleteConsumer.cpp @@ -426,7 +426,7 @@ CodeCompleteConsumer::OverloadCandidate::getFunctionType() const { // Code completion consumer implementation //===----------------------------------------------------------------------===// -CodeCompleteConsumer::~CodeCompleteConsumer() { } +CodeCompleteConsumer::~CodeCompleteConsumer() = default; void PrintingCodeCompleteConsumer::ProcessCodeCompleteResults(Sema &SemaRef, diff --git a/lib/Sema/MultiplexExternalSemaSource.cpp b/lib/Sema/MultiplexExternalSemaSource.cpp index 0f93421ac21b32d6685c726382be1ae3de8f0ca0..5d0effc5a5188877c253b76c0cd0a9ee343eb264 100644 --- a/lib/Sema/MultiplexExternalSemaSource.cpp +++ b/lib/Sema/MultiplexExternalSemaSource.cpp @@ -28,7 +28,7 @@ MultiplexExternalSemaSource::MultiplexExternalSemaSource(ExternalSemaSource &s1, } // pin the vtable here. -MultiplexExternalSemaSource::~MultiplexExternalSemaSource() {} +MultiplexExternalSemaSource::~MultiplexExternalSemaSource() = default; ///\brief Appends new source to the source list. /// diff --git a/lib/Sema/ScopeInfo.cpp b/lib/Sema/ScopeInfo.cpp index ba8c3642bc8cb8d01f8ad1e72151e3441a338b0b..a06375816f7aeabebde150a3a83c1691e9ffcd4d 100644 --- a/lib/Sema/ScopeInfo.cpp +++ b/lib/Sema/ScopeInfo.cpp @@ -232,6 +232,6 @@ void LambdaScopeInfo::getPotentialVariableCapture(unsigned Idx, VarDecl *&VD, assert(VD); } -FunctionScopeInfo::~FunctionScopeInfo() { } -BlockScopeInfo::~BlockScopeInfo() { } -CapturedRegionScopeInfo::~CapturedRegionScopeInfo() { } +FunctionScopeInfo::~FunctionScopeInfo() = default; +BlockScopeInfo::~BlockScopeInfo() = default; +CapturedRegionScopeInfo::~CapturedRegionScopeInfo() = default; diff --git a/lib/Sema/Sema.cpp b/lib/Sema/Sema.cpp index 300e2f040a201424c78839d3ea620cb65f1d5748..bac323712e839263cb0d77437b9a1122155c6b76 100644 --- a/lib/Sema/Sema.cpp +++ b/lib/Sema/Sema.cpp @@ -1255,7 +1255,7 @@ void Sema::ActOnComment(SourceRange Comment) { } // Pin this vtable to this file. -ExternalSemaSource::~ExternalSemaSource() {} +ExternalSemaSource::~ExternalSemaSource() = default; void ExternalSemaSource::ReadMethodPool(Selector Sel) { } diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp index 588ae3d88ebc95fd25687cbddee9500afb8b2c63..1d027d5f07dd3da357296c2ca98132886bc472bf 100644 --- a/lib/Sema/SemaDeclCXX.cpp +++ b/lib/Sema/SemaDeclCXX.cpp @@ -9567,8 +9567,8 @@ protected: } public: - ExprBuilder() {} - virtual ~ExprBuilder() {} + ExprBuilder() = default; + virtual ~ExprBuilder() = default; virtual Expr *build(Sema &S, SourceLocation Loc) const = 0; }; diff --git a/lib/Sema/SemaLookup.cpp b/lib/Sema/SemaLookup.cpp index 6fbe0da8c901baaa1414342df5a8bdf1316a2b85..556e5bb8dc1a893dde2b76d490c59ee85fcaeda6 100644 --- a/lib/Sema/SemaLookup.cpp +++ b/lib/Sema/SemaLookup.cpp @@ -3172,7 +3172,7 @@ void Sema::ArgumentDependentLookup(DeclarationName Name, SourceLocation Loc, //---------------------------------------------------------------------------- // Search for all visible declarations. //---------------------------------------------------------------------------- -VisibleDeclConsumer::~VisibleDeclConsumer() { } +VisibleDeclConsumer::~VisibleDeclConsumer() = default; bool VisibleDeclConsumer::includeHiddenDecls() const { return false; } diff --git a/lib/Sema/SemaOpenMP.cpp b/lib/Sema/SemaOpenMP.cpp index c4e1b26e7c5f3156cd313778a48ced41aab238f6..db658de7d94daea2def13e4295e88936be74cc2c 100644 --- a/lib/Sema/SemaOpenMP.cpp +++ b/lib/Sema/SemaOpenMP.cpp @@ -56,7 +56,7 @@ private: ArrayRef<T> Arr; }; struct MatchesAlways { - MatchesAlways() {} + MatchesAlways() = default; template <class T> bool operator()(T) { return true; } }; diff --git a/lib/Sema/SemaPseudoObject.cpp b/lib/Sema/SemaPseudoObject.cpp index 8998a7e8bc9cd16a1719e6e24b8e28075f33e523..f8974adfac4bb9ec95bff9d4762610ac6ff6f1dc 100644 --- a/lib/Sema/SemaPseudoObject.cpp +++ b/lib/Sema/SemaPseudoObject.cpp @@ -202,7 +202,7 @@ namespace { : S(S), ResultIndex(PseudoObjectExpr::NoResult), GenericLoc(genericLoc) {} - virtual ~PseudoOpBuilder() {} + virtual ~PseudoOpBuilder() = default; /// Add a normal semantic expression. void addSemanticExpr(Expr *semantic) { diff --git a/lib/Sema/TreeTransform.h b/lib/Sema/TreeTransform.h index 31d69cbac35e582ef2074ac01eb5ed34c81a0680..9378c98899d17041868e69017ffdfa47252cd5c5 100644 --- a/lib/Sema/TreeTransform.h +++ b/lib/Sema/TreeTransform.h @@ -3600,7 +3600,7 @@ public: const TemplateArgumentLoc *operator->() const { return &Arg; } }; - TemplateArgumentLocInventIterator() { } + TemplateArgumentLocInventIterator() = default; explicit TemplateArgumentLocInventIterator(TreeTransform<Derived> &Self, InputIterator Iter) @@ -5249,7 +5249,7 @@ QualType TreeTransform<Derived>::TransformAtomicType(TypeLocBuilder &TLB, }; - TemplateArgumentLocContainerIterator() {} + TemplateArgumentLocContainerIterator() = default; TemplateArgumentLocContainerIterator(ArgLocContainer &Container, unsigned Index) diff --git a/lib/Serialization/ASTCommon.cpp b/lib/Serialization/ASTCommon.cpp index ec1a936684f425f4db0e5c9f36fc0776f90d53ae..3839fdd187178f72521d4e8adad9a145893be090 100644 --- a/lib/Serialization/ASTCommon.cpp +++ b/lib/Serialization/ASTCommon.cpp @@ -21,7 +21,7 @@ using namespace clang; // Give ASTDeserializationListener's VTable a home. -ASTDeserializationListener::~ASTDeserializationListener() { } +ASTDeserializationListener::~ASTDeserializationListener() = default; serialization::TypeIdx serialization::TypeIdxFromBuiltin(const BuiltinType *BT) { diff --git a/lib/Serialization/ASTReader.cpp b/lib/Serialization/ASTReader.cpp index 59347de9c17d3d115746a9a079e6b4c85ec5cd2e..5e3d7622fa933049b20cc641c7e5144722473c4a 100644 --- a/lib/Serialization/ASTReader.cpp +++ b/lib/Serialization/ASTReader.cpp @@ -164,7 +164,7 @@ bool ChainedASTReaderListener::visitInputFile(StringRef Filename, // PCH validator implementation //===----------------------------------------------------------------------===// -ASTReaderListener::~ASTReaderListener() {} +ASTReaderListener::~ASTReaderListener() = default; /// \brief Compare the given set of language options against an existing set of /// language options. diff --git a/lib/Serialization/GeneratePCH.cpp b/lib/Serialization/GeneratePCH.cpp index 9de2fdb75a070f92464ee0f79657033edee257e2..0b9acbe5ffa096570c1feaa9d11659f334b32a89 100644 --- a/lib/Serialization/GeneratePCH.cpp +++ b/lib/Serialization/GeneratePCH.cpp @@ -34,8 +34,7 @@ PCHGenerator::PCHGenerator(const Preprocessor &PP, StringRef OutputFile, Buffer->IsComplete = false; } -PCHGenerator::~PCHGenerator() { -} +PCHGenerator::~PCHGenerator() = default; void PCHGenerator::HandleTranslationUnit(ASTContext &Ctx) { // Don't create a PCH if there were fatal failures during module loading. diff --git a/lib/Serialization/MultiOnDiskHashTable.h b/lib/Serialization/MultiOnDiskHashTable.h index 04dea831695c8996d69df195d6796b4685bdf7a0..6b81f1eb3d3c8865268d193767f08b57fc9c7a13 100644 --- a/lib/Serialization/MultiOnDiskHashTable.h +++ b/lib/Serialization/MultiOnDiskHashTable.h @@ -161,7 +161,7 @@ private: friend class MultiOnDiskHashTableGenerator; public: - MultiOnDiskHashTable() {} + MultiOnDiskHashTable() = default; MultiOnDiskHashTable(MultiOnDiskHashTable &&O) : Tables(std::move(O.Tables)), PendingOverrides(std::move(O.PendingOverrides)) { diff --git a/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp b/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp index 5d8baf6ba7dec2f20871cde653eeae8f94de1cd7..8e304f7162bd1e3fe9639ee150492a3b566c6bd6 100644 --- a/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp @@ -142,7 +142,7 @@ public: : cfg(cfg), Ctx(ctx), BR(br), Checker(checker), AC(ac), Parents(parents), Escaped(escaped), currentBlock(nullptr) {} - ~DeadStoreObs() override {} + ~DeadStoreObs() override = default; bool isLive(const LiveVariables::LivenessValues &Live, const VarDecl *D) { if (Live.isLive(D)) diff --git a/lib/StaticAnalyzer/Core/BugReporter.cpp b/lib/StaticAnalyzer/Core/BugReporter.cpp index 56d57c5014041e96a3df84555cea22008fb2f0fd..1b17e7a6e20ebd3e94e575028405ba7e6c537066 100644 --- a/lib/StaticAnalyzer/Core/BugReporter.cpp +++ b/lib/StaticAnalyzer/Core/BugReporter.cpp @@ -46,7 +46,7 @@ STATISTIC(MaxValidBugClassSize, "The maximum number of bug reports in the same equivalence class " "where at least one report is valid (not suppressed)"); -BugReporterVisitor::~BugReporterVisitor() {} +BugReporterVisitor::~BugReporterVisitor() = default; void BugReporterContext::anchor() {} @@ -2731,9 +2731,9 @@ PathDiagnosticLocation BugReport::getLocation(const SourceManager &SM) const { // Methods for BugReporter and subclasses. //===----------------------------------------------------------------------===// -BugReportEquivClass::~BugReportEquivClass() { } -GRBugReporter::~GRBugReporter() { } -BugReporterData::~BugReporterData() {} +BugReportEquivClass::~BugReportEquivClass() = default; +GRBugReporter::~GRBugReporter() = default; +BugReporterData::~BugReporterData() = default; ExplodedGraph &GRBugReporter::getGraph() { return Eng.getGraph(); } diff --git a/lib/StaticAnalyzer/Core/ConstraintManager.cpp b/lib/StaticAnalyzer/Core/ConstraintManager.cpp index b7db8333aaac6b4ecfe96110ec81a032698564a2..cf35f9879fe4b31c437062878d4d69a81d05e202 100644 --- a/lib/StaticAnalyzer/Core/ConstraintManager.cpp +++ b/lib/StaticAnalyzer/Core/ConstraintManager.cpp @@ -16,7 +16,7 @@ using namespace clang; using namespace ento; -ConstraintManager::~ConstraintManager() {} +ConstraintManager::~ConstraintManager() = default; static DefinedSVal getLocFromSymbol(const ProgramStateRef &State, SymbolRef Sym) { diff --git a/lib/StaticAnalyzer/Core/CoreEngine.cpp b/lib/StaticAnalyzer/Core/CoreEngine.cpp index 39cf7e771755dfe1a448b2ff5d5c7498b3b6fa66..58f81ebc53d1254f1521954b169c36f6c6f01eea 100644 --- a/lib/StaticAnalyzer/Core/CoreEngine.cpp +++ b/lib/StaticAnalyzer/Core/CoreEngine.cpp @@ -38,7 +38,7 @@ STATISTIC(NumPathsExplored, // Worklist classes for exploration of reachable states. //===----------------------------------------------------------------------===// -WorkList::Visitor::~Visitor() {} +WorkList::Visitor::~Visitor() = default; namespace { class DFS : public WorkList { @@ -100,7 +100,7 @@ public: // Place the dstor for WorkList here because it contains virtual member // functions, and we the code for the dstor generated in one compilation unit. -WorkList::~WorkList() {} +WorkList::~WorkList() = default; WorkList *WorkList::makeDFS() { return new DFS(); } WorkList *WorkList::makeBFS() { return new BFS(); } diff --git a/lib/StaticAnalyzer/Core/ExplodedGraph.cpp b/lib/StaticAnalyzer/Core/ExplodedGraph.cpp index 8a09720b2a19655c02ddd545cf3b23c78aa84129..b9dc1c363c2f90ca998209cec1127819971b3bed 100644 --- a/lib/StaticAnalyzer/Core/ExplodedGraph.cpp +++ b/lib/StaticAnalyzer/Core/ExplodedGraph.cpp @@ -31,7 +31,7 @@ using namespace ento; //===----------------------------------------------------------------------===// // An out of line virtual method to provide a home for the class vtable. -ExplodedNode::Auditor::~Auditor() {} +ExplodedNode::Auditor::~Auditor() = default; #ifndef NDEBUG static ExplodedNode::Auditor* NodeAuditor = nullptr; @@ -50,7 +50,7 @@ void ExplodedNode::SetAuditor(ExplodedNode::Auditor* A) { ExplodedGraph::ExplodedGraph() : NumNodes(0), ReclaimNodeInterval(0) {} -ExplodedGraph::~ExplodedGraph() {} +ExplodedGraph::~ExplodedGraph() = default; //===----------------------------------------------------------------------===// // Node reclamation. diff --git a/lib/StaticAnalyzer/Core/MemRegion.cpp b/lib/StaticAnalyzer/Core/MemRegion.cpp index d41fed0619e730d7f7399c2313f5cfd9ec7b7a76..7946db4d3861312c38c861ceb62f7a29e587f0d6 100644 --- a/lib/StaticAnalyzer/Core/MemRegion.cpp +++ b/lib/StaticAnalyzer/Core/MemRegion.cpp @@ -135,12 +135,11 @@ RegionTy* MemRegionManager::getSubRegion(const A1 a1, const A2 a2, const A3 a3, // Object destruction. //===----------------------------------------------------------------------===// -MemRegion::~MemRegion() {} +MemRegion::~MemRegion() = default; -MemRegionManager::~MemRegionManager() { - // All regions and their data are BumpPtrAllocated. No need to call - // their destructors. -} +// All regions and their data are BumpPtrAllocated. No need to call their +// destructors. +MemRegionManager::~MemRegionManager() = default; //===----------------------------------------------------------------------===// // Basic methods. diff --git a/lib/StaticAnalyzer/Core/PathDiagnostic.cpp b/lib/StaticAnalyzer/Core/PathDiagnostic.cpp index 504df30de834cae03aee76671be69360d46f814f..e5b473212e1981ce8ced76e9f750cc6790dbd89c 100644 --- a/lib/StaticAnalyzer/Core/PathDiagnostic.cpp +++ b/lib/StaticAnalyzer/Core/PathDiagnostic.cpp @@ -55,11 +55,11 @@ PathDiagnosticPiece::PathDiagnosticPiece(StringRef s, PathDiagnosticPiece::PathDiagnosticPiece(Kind k, DisplayHint hint) : kind(k), Hint(hint), LastInMainSourceFile(false) {} -PathDiagnosticPiece::~PathDiagnosticPiece() {} -PathDiagnosticEventPiece::~PathDiagnosticEventPiece() {} -PathDiagnosticCallPiece::~PathDiagnosticCallPiece() {} -PathDiagnosticControlFlowPiece::~PathDiagnosticControlFlowPiece() {} -PathDiagnosticMacroPiece::~PathDiagnosticMacroPiece() {} +PathDiagnosticPiece::~PathDiagnosticPiece() = default; +PathDiagnosticEventPiece::~PathDiagnosticEventPiece() = default; +PathDiagnosticCallPiece::~PathDiagnosticCallPiece() = default; +PathDiagnosticControlFlowPiece::~PathDiagnosticControlFlowPiece() = default; +PathDiagnosticMacroPiece::~PathDiagnosticMacroPiece() = default; void PathPieces::flattenTo(PathPieces &Primary, PathPieces &Current, @@ -103,7 +103,7 @@ void PathPieces::flattenTo(PathPieces &Primary, PathPieces &Current, } -PathDiagnostic::~PathDiagnostic() {} +PathDiagnostic::~PathDiagnostic() = default; PathDiagnostic::PathDiagnostic(StringRef CheckName, const Decl *declWithIssue, StringRef bugtype, StringRef verboseDesc, @@ -1119,7 +1119,7 @@ void PathDiagnostic::FullProfile(llvm::FoldingSetNodeID &ID) const { ID.AddString(*I); } -StackHintGenerator::~StackHintGenerator() {} +StackHintGenerator::~StackHintGenerator() = default; std::string StackHintGeneratorForSymbol::getMessage(const ExplodedNode *N){ ProgramPoint P = N->getLocation(); diff --git a/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp b/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp index 59ed921c2501365d0ecba9af7fc6b15e902405ce..557774a894254a4ea87337554cd352c0789f1d2a 100644 --- a/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp +++ b/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp @@ -37,7 +37,7 @@ namespace { const LangOptions &LangOpts, bool supportsMultipleFiles); - ~PlistDiagnostics() override {} + ~PlistDiagnostics() override = default; void FlushDiagnosticsImpl(std::vector<const PathDiagnostic *> &Diags, FilesMade *filesMade) override; diff --git a/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp b/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp index 4051242434ec9aa2b477bd73637f5236b5faae30..9ed1aa505706ddb6c4190dae630b8ed8c7973f7c 100644 --- a/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp +++ b/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp @@ -21,7 +21,7 @@ namespace clang { namespace ento { -SimpleConstraintManager::~SimpleConstraintManager() {} +SimpleConstraintManager::~SimpleConstraintManager() = default; bool SimpleConstraintManager::canReasonAbout(SVal X) const { Optional<nonloc::SymbolVal> SymVal = X.getAs<nonloc::SymbolVal>(); diff --git a/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp b/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp index a704ce224554fc4e1c78ee1c2b582167ce842c52..6e18941f075ecafd7bc47f0afd41801b0c2d0b39 100644 --- a/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp +++ b/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp @@ -29,7 +29,7 @@ public: SimpleSValBuilder(llvm::BumpPtrAllocator &alloc, ASTContext &context, ProgramStateManager &stateMgr) : SValBuilder(alloc, context, stateMgr) {} - ~SimpleSValBuilder() override {} + ~SimpleSValBuilder() override = default; SVal evalMinus(NonLoc val) override; SVal evalComplement(NonLoc val) override; diff --git a/lib/StaticAnalyzer/Core/Store.cpp b/lib/StaticAnalyzer/Core/Store.cpp index 7cdb55a597821195babfd3bf2a60a09cf9217fc2..245f6ad26de2d300e4b952e6aebd9c3a9969d0b8 100644 --- a/lib/StaticAnalyzer/Core/Store.cpp +++ b/lib/StaticAnalyzer/Core/Store.cpp @@ -489,7 +489,7 @@ SVal StoreManager::getLValueElement(QualType elementType, NonLoc Offset, Ctx)); } -StoreManager::BindingsHandler::~BindingsHandler() {} +StoreManager::BindingsHandler::~BindingsHandler() = default; bool StoreManager::FindUniqueBinding::HandleBinding(StoreManager& SMgr, Store store, diff --git a/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp b/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp index ca92ffe8f01d6c4ee7e9d057b7513c15b7840393..13af3c1c717b5bb15e7c8d377161d2e5ce45a5c7 100644 --- a/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp +++ b/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp @@ -92,7 +92,7 @@ class ClangDiagPathDiagConsumer : public PathDiagnosticConsumer { public: ClangDiagPathDiagConsumer(DiagnosticsEngine &Diag) : Diag(Diag), IncludePath(false) {} - ~ClangDiagPathDiagConsumer() override {} + ~ClangDiagPathDiagConsumer() override = default; StringRef getName() const override { return "ClangDiags"; } bool supportsLogicalOpControlFlow() const override { return true; } diff --git a/lib/Tooling/CompilationDatabase.cpp b/lib/Tooling/CompilationDatabase.cpp index 957e40137eacb4a1af505bc0a365eba928526a11..cdbfe5190a70b8d3cc5f68a71be8e2527a79dfb1 100644 --- a/lib/Tooling/CompilationDatabase.cpp +++ b/lib/Tooling/CompilationDatabase.cpp @@ -32,7 +32,7 @@ using namespace clang; using namespace tooling; -CompilationDatabase::~CompilationDatabase() {} +CompilationDatabase::~CompilationDatabase() = default; std::unique_ptr<CompilationDatabase> CompilationDatabase::loadFromDirectory(StringRef BuildDirectory, @@ -106,7 +106,7 @@ CompilationDatabase::autoDetectFromDirectory(StringRef SourceDir, return DB; } -CompilationDatabasePlugin::~CompilationDatabasePlugin() {} +CompilationDatabasePlugin::~CompilationDatabasePlugin() = default; namespace { // Helper for recursively searching through a chain of actions and collecting diff --git a/lib/Tooling/Tooling.cpp b/lib/Tooling/Tooling.cpp index 220b62558bfbcbc9036e5adb01f745a4d95ecc72..53f6e06101f7291de61d36ec4845f42fcf348fc1 100644 --- a/lib/Tooling/Tooling.cpp +++ b/lib/Tooling/Tooling.cpp @@ -37,9 +37,9 @@ namespace clang { namespace tooling { -ToolAction::~ToolAction() {} +ToolAction::~ToolAction() = default; -FrontendActionFactory::~FrontendActionFactory() {} +FrontendActionFactory::~FrontendActionFactory() = default; // FIXME: This file contains structural duplication with other parts of the // code that sets up a compiler to run tools on it, and we should refactor @@ -319,7 +319,7 @@ ClangTool::ClangTool(const CompilationDatabase &Compilations, appendArgumentsAdjuster(getClangSyntaxOnlyAdjuster()); } -ClangTool::~ClangTool() {} +ClangTool::~ClangTool() = default; void ClangTool::mapVirtualFile(StringRef FilePath, StringRef Content) { MappedFileContents.push_back(std::make_pair(FilePath, Content)); diff --git a/tools/diagtool/DiagTool.cpp b/tools/diagtool/DiagTool.cpp index 0e4d8088c6c2ed32bf98b7792b27c310e8a79f67..a8f4e1e37fb49cf20e805ead2071e7615bb89594 100644 --- a/tools/diagtool/DiagTool.cpp +++ b/tools/diagtool/DiagTool.cpp @@ -22,7 +22,7 @@ DiagTool::DiagTool(llvm::StringRef toolCmd, llvm::StringRef toolDesc) : cmd(toolCmd), description(toolDesc) {} -DiagTool::~DiagTool() {} +DiagTool::~DiagTool() = default; typedef llvm::StringMap<DiagTool *> ToolMap; static inline ToolMap *getTools(void *v) { return static_cast<ToolMap*>(v); } diff --git a/tools/libclang/CIndexDiagnostic.cpp b/tools/libclang/CIndexDiagnostic.cpp index 9ba36a6a0f8a600ef5e6bfeec71e8214d0e8d788..68f03537149984ff77baa8803304bc425a0e634c 100644 --- a/tools/libclang/CIndexDiagnostic.cpp +++ b/tools/libclang/CIndexDiagnostic.cpp @@ -30,14 +30,14 @@ using namespace clang::cxloc; using namespace clang::cxdiag; using namespace llvm; -CXDiagnosticSetImpl::~CXDiagnosticSetImpl() {} +CXDiagnosticSetImpl::~CXDiagnosticSetImpl() = default; void CXDiagnosticSetImpl::appendDiagnostic(std::unique_ptr<CXDiagnosticImpl> D) { Diagnostics.push_back(std::move(D)); } -CXDiagnosticImpl::~CXDiagnosticImpl() {} +CXDiagnosticImpl::~CXDiagnosticImpl() = default; namespace { class CXDiagnosticCustomNoteImpl : public CXDiagnosticImpl { @@ -48,7 +48,7 @@ public: : CXDiagnosticImpl(CustomNoteDiagnosticKind), Message(Msg), Loc(L) {} - ~CXDiagnosticCustomNoteImpl() override {} + ~CXDiagnosticCustomNoteImpl() override = default; CXDiagnosticSeverity getSeverity() const override { return CXDiagnostic_Note; @@ -92,7 +92,7 @@ public: : DiagnosticNoteRenderer(LangOpts, DiagOpts), CurrentSet(mainSet), MainSet(mainSet) {} - ~CXDiagnosticRenderer() override {} + ~CXDiagnosticRenderer() override = default; void beginDiagnostic(DiagOrStoredDiag D, DiagnosticsEngine::Level Level) override { diff --git a/tools/libclang/CIndexDiagnostic.h b/tools/libclang/CIndexDiagnostic.h index 9f406987ebf1ab0c7bef433523c2c004dafe0273..4f005e5aecc203dc5f6d74d0bb954b1de8232e1f 100644 --- a/tools/libclang/CIndexDiagnostic.h +++ b/tools/libclang/CIndexDiagnostic.h @@ -117,7 +117,7 @@ struct CXStoredDiagnostic : public CXDiagnosticImpl { : CXDiagnosticImpl(StoredDiagnosticKind), Diag(Diag), LangOpts(LangOpts) { } - ~CXStoredDiagnostic() override {} + ~CXStoredDiagnostic() override = default; /// \brief Return the severity of the diagnostic. CXDiagnosticSeverity getSeverity() const override; diff --git a/tools/libclang/CXLoadedDiagnostic.cpp b/tools/libclang/CXLoadedDiagnostic.cpp index 2c10d34844b752bdf009fd31f49f66e1bdfbc360..7f45d85fe13a25159a524f25541c2e99109a7323 100644 --- a/tools/libclang/CXLoadedDiagnostic.cpp +++ b/tools/libclang/CXLoadedDiagnostic.cpp @@ -38,7 +38,7 @@ namespace { class CXLoadedDiagnosticSetImpl : public CXDiagnosticSetImpl { public: CXLoadedDiagnosticSetImpl() : CXDiagnosticSetImpl(true), FakeFiles(FO) {} - ~CXLoadedDiagnosticSetImpl() override {} + ~CXLoadedDiagnosticSetImpl() override = default; llvm::BumpPtrAllocator Alloc; Strings Categories; @@ -63,7 +63,7 @@ public: // Cleanup. //===----------------------------------------------------------------------===// -CXLoadedDiagnostic::~CXLoadedDiagnostic() {} +CXLoadedDiagnostic::~CXLoadedDiagnostic() = default; //===----------------------------------------------------------------------===// // Public CXLoadedDiagnostic methods. diff --git a/tools/libclang/Indexing.cpp b/tools/libclang/Indexing.cpp index 8a0498497e0d7de10be1186bc896ddc9b0f29a0b..c8b55e00d57ebe701a2e5783738ebec30ed4d051 100644 --- a/tools/libclang/Indexing.cpp +++ b/tools/libclang/Indexing.cpp @@ -151,9 +151,7 @@ class SessionSkipBodyData { public: SessionSkipBodyData() : Mux(/*recursive=*/false) {} - ~SessionSkipBodyData() { - //llvm::errs() << "RegionData: " << Skipped.size() << " - " << Skipped.getMemorySize() << "\n"; - } + ~SessionSkipBodyData() = default; void copyTo(PPRegionSetTy &Set) { llvm::MutexGuard MG(Mux); diff --git a/unittests/AST/EvaluateAsRValueTest.cpp b/unittests/AST/EvaluateAsRValueTest.cpp index 820edbc7c3e888cda869780ea127ea3aca733920..4530bc95fb80e145e39299e04944734b9f209002 100644 --- a/unittests/AST/EvaluateAsRValueTest.cpp +++ b/unittests/AST/EvaluateAsRValueTest.cpp @@ -66,7 +66,7 @@ class EvaluateConstantInitializersAction : public clang::ASTFrontendAction { private: class Consumer : public clang::ASTConsumer { public: - ~Consumer() override {} + ~Consumer() override = default; void HandleTranslationUnit(clang::ASTContext &Ctx) override { VarInfoMap VarInfo; diff --git a/unittests/ASTMatchers/ASTMatchersTest.h b/unittests/ASTMatchers/ASTMatchersTest.h index 9ed7ef66e511945e7aca2ea0a80944ff00163856..b1456fd1050fc087ffbe819d40c9ad7506deddcb 100644 --- a/unittests/ASTMatchers/ASTMatchersTest.h +++ b/unittests/ASTMatchers/ASTMatchersTest.h @@ -26,7 +26,7 @@ using clang::tooling::FileContentMappings; class BoundNodesCallback { public: - virtual ~BoundNodesCallback() {} + virtual ~BoundNodesCallback() = default; virtual bool run(const BoundNodes *BoundNodes) = 0; virtual bool run(const BoundNodes *BoundNodes, ASTContext *Context) = 0; virtual void onEndOfTranslationUnit() {} diff --git a/unittests/ASTMatchers/Dynamic/ParserTest.cpp b/unittests/ASTMatchers/Dynamic/ParserTest.cpp index ef66a816aacdd1b8f22861d4b81ad2db780bd163..f181d6d19ee3f5027110be17070eb0847a71f530 100644 --- a/unittests/ASTMatchers/Dynamic/ParserTest.cpp +++ b/unittests/ASTMatchers/Dynamic/ParserTest.cpp @@ -23,7 +23,7 @@ namespace { class MockSema : public Parser::Sema { public: - ~MockSema() override {} + ~MockSema() override = default; uint64_t expectMatcher(StringRef MatcherName) { // Optimizations on the matcher framework make simple matchers like diff --git a/unittests/Tooling/CompilationDatabaseTest.cpp b/unittests/Tooling/CompilationDatabaseTest.cpp index 380d86fc5660d34f6e431f25f81a40d813cdfe9c..d45871f72967ffc40ab541033c3e9fbad7a8879a 100644 --- a/unittests/Tooling/CompilationDatabaseTest.cpp +++ b/unittests/Tooling/CompilationDatabaseTest.cpp @@ -173,7 +173,7 @@ TEST(JSONCompilationDatabase, ArgumentsPreferredOverCommand) { } struct FakeComparator : public PathComparator { - ~FakeComparator() override {} + ~FakeComparator() override = default; bool equivalent(StringRef FileA, StringRef FileB) const override { return FileA.equals_lower(FileB); } diff --git a/unittests/Tooling/RewriterTestContext.h b/unittests/Tooling/RewriterTestContext.h index eee7ea1873b802bad1d7db951324b350095fd9bb..ae593f08a535aa716b3330c6e2dcd8df64909ac5 100644 --- a/unittests/Tooling/RewriterTestContext.h +++ b/unittests/Tooling/RewriterTestContext.h @@ -50,7 +50,7 @@ class RewriterTestContext { OverlayFileSystem->pushOverlay(InMemoryFileSystem); } - ~RewriterTestContext() {} + ~RewriterTestContext() = default; FileID createInMemoryFile(StringRef Name, StringRef Content) { std::unique_ptr<llvm::MemoryBuffer> Source = diff --git a/unittests/Tooling/TestVisitor.h b/unittests/Tooling/TestVisitor.h index f4a00394487bcfbe0e2e4ae460947246a0e0afe5..a69e18eee18910a4fa6c52f3a52ce41dc612fa81 100644 --- a/unittests/Tooling/TestVisitor.h +++ b/unittests/Tooling/TestVisitor.h @@ -35,9 +35,9 @@ namespace clang { template <typename T> class TestVisitor : public RecursiveASTVisitor<T> { public: - TestVisitor() { } + TestVisitor() = default; - virtual ~TestVisitor() { } + virtual ~TestVisitor() = default; enum Language { Lang_C,