├── .arcconfig ├── .gitignore ├── CMakeLists.txt ├── CODE_OWNERS.TXT ├── LICENSE.TXT ├── README.txt ├── clang-apply-replacements ├── CMakeLists.txt ├── include │ └── clang-apply-replacements │ │ └── Tooling │ │ └── ApplyReplacements.h ├── lib │ └── Tooling │ │ └── ApplyReplacements.cpp └── tool │ ├── CMakeLists.txt │ └── ClangApplyReplacementsMain.cpp ├── clang-change-namespace ├── CMakeLists.txt ├── ChangeNamespace.cpp ├── ChangeNamespace.h └── tool │ ├── CMakeLists.txt │ └── ClangChangeNamespace.cpp ├── clang-doc ├── BitcodeReader.cpp ├── BitcodeReader.h ├── BitcodeWriter.cpp ├── BitcodeWriter.h ├── CMakeLists.txt ├── ClangDoc.cpp ├── ClangDoc.h ├── Generators.cpp ├── Generators.h ├── HTMLGenerator.cpp ├── MDGenerator.cpp ├── Mapper.cpp ├── Mapper.h ├── Representation.cpp ├── Representation.h ├── Serialize.cpp ├── Serialize.h ├── YAMLGenerator.cpp ├── assets │ ├── clang-doc-default-stylesheet.css │ └── index.js └── tool │ ├── CMakeLists.txt │ └── ClangDocMain.cpp ├── clang-include-fixer ├── CMakeLists.txt ├── FuzzySymbolIndex.cpp ├── FuzzySymbolIndex.h ├── InMemorySymbolIndex.cpp ├── InMemorySymbolIndex.h ├── IncludeFixer.cpp ├── IncludeFixer.h ├── IncludeFixerContext.cpp ├── IncludeFixerContext.h ├── SymbolIndex.h ├── SymbolIndexManager.cpp ├── SymbolIndexManager.h ├── YamlSymbolIndex.cpp ├── YamlSymbolIndex.h ├── find-all-symbols │ ├── CMakeLists.txt │ ├── FindAllMacros.cpp │ ├── FindAllMacros.h │ ├── FindAllSymbols.cpp │ ├── FindAllSymbols.h │ ├── FindAllSymbolsAction.cpp │ ├── FindAllSymbolsAction.h │ ├── HeaderMapCollector.cpp │ ├── HeaderMapCollector.h │ ├── PathConfig.cpp │ ├── PathConfig.h │ ├── PragmaCommentHandler.cpp │ ├── PragmaCommentHandler.h │ ├── STLPostfixHeaderMap.cpp │ ├── STLPostfixHeaderMap.h │ ├── SymbolInfo.cpp │ ├── SymbolInfo.h │ ├── SymbolReporter.h │ └── tool │ │ ├── CMakeLists.txt │ │ ├── FindAllSymbolsMain.cpp │ │ └── run-find-all-symbols.py ├── plugin │ ├── CMakeLists.txt │ └── IncludeFixerPlugin.cpp └── tool │ ├── CMakeLists.txt │ ├── ClangIncludeFixer.cpp │ ├── clang-include-fixer-test.el │ ├── clang-include-fixer.el │ └── clang-include-fixer.py ├── clang-move ├── CMakeLists.txt ├── HelperDeclRefGraph.cpp ├── HelperDeclRefGraph.h ├── Move.cpp ├── Move.h └── tool │ ├── CMakeLists.txt │ └── ClangMove.cpp ├── clang-query ├── CMakeLists.txt ├── Query.cpp ├── Query.h ├── QueryParser.cpp ├── QueryParser.h ├── QuerySession.h └── tool │ ├── CMakeLists.txt │ └── ClangQuery.cpp ├── clang-reorder-fields ├── CMakeLists.txt ├── ReorderFieldsAction.cpp ├── ReorderFieldsAction.h └── tool │ ├── CMakeLists.txt │ └── ClangReorderFields.cpp ├── clang-tidy ├── CMakeLists.txt ├── ClangTidy.cpp ├── ClangTidy.h ├── ClangTidyCheck.cpp ├── ClangTidyCheck.h ├── ClangTidyDiagnosticConsumer.cpp ├── ClangTidyDiagnosticConsumer.h ├── ClangTidyForceLinker.h ├── ClangTidyModule.cpp ├── ClangTidyModule.h ├── ClangTidyModuleRegistry.h ├── ClangTidyOptions.cpp ├── ClangTidyOptions.h ├── ClangTidyProfiling.cpp ├── ClangTidyProfiling.h ├── ExpandModularHeadersPPCallbacks.cpp ├── ExpandModularHeadersPPCallbacks.h ├── GlobList.cpp ├── GlobList.h ├── abseil │ ├── AbseilMatcher.h │ ├── AbseilTidyModule.cpp │ ├── CMakeLists.txt │ ├── DurationAdditionCheck.cpp │ ├── DurationAdditionCheck.h │ ├── DurationComparisonCheck.cpp │ ├── DurationComparisonCheck.h │ ├── DurationConversionCastCheck.cpp │ ├── DurationConversionCastCheck.h │ ├── DurationDivisionCheck.cpp │ ├── DurationDivisionCheck.h │ ├── DurationFactoryFloatCheck.cpp │ ├── DurationFactoryFloatCheck.h │ ├── DurationFactoryScaleCheck.cpp │ ├── DurationFactoryScaleCheck.h │ ├── DurationRewriter.cpp │ ├── DurationRewriter.h │ ├── DurationSubtractionCheck.cpp │ ├── DurationSubtractionCheck.h │ ├── DurationUnnecessaryConversionCheck.cpp │ ├── DurationUnnecessaryConversionCheck.h │ ├── FasterStrsplitDelimiterCheck.cpp │ ├── FasterStrsplitDelimiterCheck.h │ ├── NoInternalDependenciesCheck.cpp │ ├── NoInternalDependenciesCheck.h │ ├── NoNamespaceCheck.cpp │ ├── NoNamespaceCheck.h │ ├── RedundantStrcatCallsCheck.cpp │ ├── RedundantStrcatCallsCheck.h │ ├── StrCatAppendCheck.cpp │ ├── StrCatAppendCheck.h │ ├── StringFindStartswithCheck.cpp │ ├── StringFindStartswithCheck.h │ ├── TimeComparisonCheck.cpp │ ├── TimeComparisonCheck.h │ ├── TimeSubtractionCheck.cpp │ ├── TimeSubtractionCheck.h │ ├── UpgradeDurationConversionsCheck.cpp │ └── UpgradeDurationConversionsCheck.h ├── add_new_check.py ├── android │ ├── AndroidTidyModule.cpp │ ├── CMakeLists.txt │ ├── CloexecAccept4Check.cpp │ ├── CloexecAccept4Check.h │ ├── CloexecAcceptCheck.cpp │ ├── CloexecAcceptCheck.h │ ├── CloexecCheck.cpp │ ├── CloexecCheck.h │ ├── CloexecCreatCheck.cpp │ ├── CloexecCreatCheck.h │ ├── CloexecDupCheck.cpp │ ├── CloexecDupCheck.h │ ├── CloexecEpollCreate1Check.cpp │ ├── CloexecEpollCreate1Check.h │ ├── CloexecEpollCreateCheck.cpp │ ├── CloexecEpollCreateCheck.h │ ├── CloexecFopenCheck.cpp │ ├── CloexecFopenCheck.h │ ├── CloexecInotifyInit1Check.cpp │ ├── CloexecInotifyInit1Check.h │ ├── CloexecInotifyInitCheck.cpp │ ├── CloexecInotifyInitCheck.h │ ├── CloexecMemfdCreateCheck.cpp │ ├── CloexecMemfdCreateCheck.h │ ├── CloexecOpenCheck.cpp │ ├── CloexecOpenCheck.h │ ├── CloexecPipe2Check.cpp │ ├── CloexecPipe2Check.h │ ├── CloexecPipeCheck.cpp │ ├── CloexecPipeCheck.h │ ├── CloexecSocketCheck.cpp │ ├── CloexecSocketCheck.h │ ├── ComparisonInTempFailureRetryCheck.cpp │ └── ComparisonInTempFailureRetryCheck.h ├── boost │ ├── BoostTidyModule.cpp │ ├── CMakeLists.txt │ ├── UseToStringCheck.cpp │ └── UseToStringCheck.h ├── bugprone │ ├── ArgumentCommentCheck.cpp │ ├── ArgumentCommentCheck.h │ ├── AssertSideEffectCheck.cpp │ ├── AssertSideEffectCheck.h │ ├── BoolPointerImplicitConversionCheck.cpp │ ├── BoolPointerImplicitConversionCheck.h │ ├── BranchCloneCheck.cpp │ ├── BranchCloneCheck.h │ ├── BugproneTidyModule.cpp │ ├── CMakeLists.txt │ ├── CopyConstructorInitCheck.cpp │ ├── CopyConstructorInitCheck.h │ ├── DanglingHandleCheck.cpp │ ├── DanglingHandleCheck.h │ ├── DynamicStaticInitializersCheck.cpp │ ├── DynamicStaticInitializersCheck.h │ ├── ExceptionEscapeCheck.cpp │ ├── ExceptionEscapeCheck.h │ ├── FoldInitTypeCheck.cpp │ ├── FoldInitTypeCheck.h │ ├── ForwardDeclarationNamespaceCheck.cpp │ ├── ForwardDeclarationNamespaceCheck.h │ ├── ForwardingReferenceOverloadCheck.cpp │ ├── ForwardingReferenceOverloadCheck.h │ ├── InaccurateEraseCheck.cpp │ ├── InaccurateEraseCheck.h │ ├── IncorrectRoundingsCheck.cpp │ ├── IncorrectRoundingsCheck.h │ ├── InfiniteLoopCheck.cpp │ ├── InfiniteLoopCheck.h │ ├── IntegerDivisionCheck.cpp │ ├── IntegerDivisionCheck.h │ ├── LambdaFunctionNameCheck.cpp │ ├── LambdaFunctionNameCheck.h │ ├── MacroParenthesesCheck.cpp │ ├── MacroParenthesesCheck.h │ ├── MacroRepeatedSideEffectsCheck.cpp │ ├── MacroRepeatedSideEffectsCheck.h │ ├── MisplacedOperatorInStrlenInAllocCheck.cpp │ ├── MisplacedOperatorInStrlenInAllocCheck.h │ ├── MisplacedWideningCastCheck.cpp │ ├── MisplacedWideningCastCheck.h │ ├── MoveForwardingReferenceCheck.cpp │ ├── MoveForwardingReferenceCheck.h │ ├── MultipleStatementMacroCheck.cpp │ ├── MultipleStatementMacroCheck.h │ ├── NotNullTerminatedResultCheck.cpp │ ├── NotNullTerminatedResultCheck.h │ ├── ParentVirtualCallCheck.cpp │ ├── ParentVirtualCallCheck.h │ ├── PosixReturnCheck.cpp │ ├── PosixReturnCheck.h │ ├── SizeofContainerCheck.cpp │ ├── SizeofContainerCheck.h │ ├── SizeofExpressionCheck.cpp │ ├── SizeofExpressionCheck.h │ ├── StringConstructorCheck.cpp │ ├── StringConstructorCheck.h │ ├── StringIntegerAssignmentCheck.cpp │ ├── StringIntegerAssignmentCheck.h │ ├── StringLiteralWithEmbeddedNulCheck.cpp │ ├── StringLiteralWithEmbeddedNulCheck.h │ ├── SuspiciousEnumUsageCheck.cpp │ ├── SuspiciousEnumUsageCheck.h │ ├── SuspiciousMemsetUsageCheck.cpp │ ├── SuspiciousMemsetUsageCheck.h │ ├── SuspiciousMissingCommaCheck.cpp │ ├── SuspiciousMissingCommaCheck.h │ ├── SuspiciousSemicolonCheck.cpp │ ├── SuspiciousSemicolonCheck.h │ ├── SuspiciousStringCompareCheck.cpp │ ├── SuspiciousStringCompareCheck.h │ ├── SwappedArgumentsCheck.cpp │ ├── SwappedArgumentsCheck.h │ ├── TerminatingContinueCheck.cpp │ ├── TerminatingContinueCheck.h │ ├── ThrowKeywordMissingCheck.cpp │ ├── ThrowKeywordMissingCheck.h │ ├── TooSmallLoopVariableCheck.cpp │ ├── TooSmallLoopVariableCheck.h │ ├── UndefinedMemoryManipulationCheck.cpp │ ├── UndefinedMemoryManipulationCheck.h │ ├── UndelegatedConstructorCheck.cpp │ ├── UndelegatedConstructorCheck.h │ ├── UnhandledSelfAssignmentCheck.cpp │ ├── UnhandledSelfAssignmentCheck.h │ ├── UnusedRaiiCheck.cpp │ ├── UnusedRaiiCheck.h │ ├── UnusedReturnValueCheck.cpp │ ├── UnusedReturnValueCheck.h │ ├── UseAfterMoveCheck.cpp │ ├── UseAfterMoveCheck.h │ ├── VirtualNearMissCheck.cpp │ └── VirtualNearMissCheck.h ├── cert │ ├── CERTTidyModule.cpp │ ├── CMakeLists.txt │ ├── CommandProcessorCheck.cpp │ ├── CommandProcessorCheck.h │ ├── DontModifyStdNamespaceCheck.cpp │ ├── DontModifyStdNamespaceCheck.h │ ├── FloatLoopCounter.cpp │ ├── FloatLoopCounter.h │ ├── LICENSE.TXT │ ├── LimitedRandomnessCheck.cpp │ ├── LimitedRandomnessCheck.h │ ├── PostfixOperatorCheck.cpp │ ├── PostfixOperatorCheck.h │ ├── ProperlySeededRandomGeneratorCheck.cpp │ ├── ProperlySeededRandomGeneratorCheck.h │ ├── SetLongJmpCheck.cpp │ ├── SetLongJmpCheck.h │ ├── StaticObjectExceptionCheck.cpp │ ├── StaticObjectExceptionCheck.h │ ├── StrToNumCheck.cpp │ ├── StrToNumCheck.h │ ├── ThrownExceptionTypeCheck.cpp │ ├── ThrownExceptionTypeCheck.h │ ├── VariadicFunctionDefCheck.cpp │ └── VariadicFunctionDefCheck.h ├── cppcoreguidelines │ ├── AvoidGotoCheck.cpp │ ├── AvoidGotoCheck.h │ ├── CMakeLists.txt │ ├── CppCoreGuidelinesTidyModule.cpp │ ├── InitVariablesCheck.cpp │ ├── InitVariablesCheck.h │ ├── InterfacesGlobalInitCheck.cpp │ ├── InterfacesGlobalInitCheck.h │ ├── MacroUsageCheck.cpp │ ├── MacroUsageCheck.h │ ├── NarrowingConversionsCheck.cpp │ ├── NarrowingConversionsCheck.h │ ├── NoMallocCheck.cpp │ ├── NoMallocCheck.h │ ├── OwningMemoryCheck.cpp │ ├── OwningMemoryCheck.h │ ├── ProBoundsArrayToPointerDecayCheck.cpp │ ├── ProBoundsArrayToPointerDecayCheck.h │ ├── ProBoundsConstantArrayIndexCheck.cpp │ ├── ProBoundsConstantArrayIndexCheck.h │ ├── ProBoundsPointerArithmeticCheck.cpp │ ├── ProBoundsPointerArithmeticCheck.h │ ├── ProTypeConstCastCheck.cpp │ ├── ProTypeConstCastCheck.h │ ├── ProTypeCstyleCastCheck.cpp │ ├── ProTypeCstyleCastCheck.h │ ├── ProTypeMemberInitCheck.cpp │ ├── ProTypeMemberInitCheck.h │ ├── ProTypeReinterpretCastCheck.cpp │ ├── ProTypeReinterpretCastCheck.h │ ├── ProTypeStaticCastDowncastCheck.cpp │ ├── ProTypeStaticCastDowncastCheck.h │ ├── ProTypeUnionAccessCheck.cpp │ ├── ProTypeUnionAccessCheck.h │ ├── ProTypeVarargCheck.cpp │ ├── ProTypeVarargCheck.h │ ├── SlicingCheck.cpp │ ├── SlicingCheck.h │ ├── SpecialMemberFunctionsCheck.cpp │ └── SpecialMemberFunctionsCheck.h ├── darwin │ ├── AvoidSpinlockCheck.cpp │ ├── AvoidSpinlockCheck.h │ ├── CMakeLists.txt │ ├── DarwinTidyModule.cpp │ ├── DispatchOnceNonstaticCheck.cpp │ └── DispatchOnceNonstaticCheck.h ├── fuchsia │ ├── CMakeLists.txt │ ├── DefaultArgumentsCallsCheck.cpp │ ├── DefaultArgumentsCallsCheck.h │ ├── DefaultArgumentsDeclarationsCheck.cpp │ ├── DefaultArgumentsDeclarationsCheck.h │ ├── FuchsiaTidyModule.cpp │ ├── MultipleInheritanceCheck.cpp │ ├── MultipleInheritanceCheck.h │ ├── OverloadedOperatorCheck.cpp │ ├── OverloadedOperatorCheck.h │ ├── RestrictSystemIncludesCheck.cpp │ ├── RestrictSystemIncludesCheck.h │ ├── StaticallyConstructedObjectsCheck.cpp │ ├── StaticallyConstructedObjectsCheck.h │ ├── TrailingReturnCheck.cpp │ ├── TrailingReturnCheck.h │ ├── VirtualInheritanceCheck.cpp │ └── VirtualInheritanceCheck.h ├── google │ ├── AvoidCStyleCastsCheck.cpp │ ├── AvoidCStyleCastsCheck.h │ ├── AvoidNSObjectNewCheck.cpp │ ├── AvoidNSObjectNewCheck.h │ ├── AvoidThrowingObjCExceptionCheck.cpp │ ├── AvoidThrowingObjCExceptionCheck.h │ ├── AvoidUnderscoreInGoogletestNameCheck.cpp │ ├── AvoidUnderscoreInGoogletestNameCheck.h │ ├── CMakeLists.txt │ ├── DefaultArgumentsCheck.cpp │ ├── DefaultArgumentsCheck.h │ ├── ExplicitConstructorCheck.cpp │ ├── ExplicitConstructorCheck.h │ ├── ExplicitMakePairCheck.cpp │ ├── ExplicitMakePairCheck.h │ ├── FunctionNamingCheck.cpp │ ├── FunctionNamingCheck.h │ ├── GlobalNamesInHeadersCheck.cpp │ ├── GlobalNamesInHeadersCheck.h │ ├── GlobalVariableDeclarationCheck.cpp │ ├── GlobalVariableDeclarationCheck.h │ ├── GoogleTidyModule.cpp │ ├── IntegerTypesCheck.cpp │ ├── IntegerTypesCheck.h │ ├── NonConstReferences.cpp │ ├── NonConstReferences.h │ ├── OverloadedUnaryAndCheck.cpp │ ├── OverloadedUnaryAndCheck.h │ ├── TodoCommentCheck.cpp │ ├── TodoCommentCheck.h │ ├── UnnamedNamespaceInHeaderCheck.cpp │ ├── UnnamedNamespaceInHeaderCheck.h │ ├── UpgradeGoogletestCaseCheck.cpp │ ├── UpgradeGoogletestCaseCheck.h │ ├── UsingNamespaceDirectiveCheck.cpp │ └── UsingNamespaceDirectiveCheck.h ├── hicpp │ ├── CMakeLists.txt │ ├── ExceptionBaseclassCheck.cpp │ ├── ExceptionBaseclassCheck.h │ ├── HICPPTidyModule.cpp │ ├── LICENSE.TXT │ ├── MultiwayPathsCoveredCheck.cpp │ ├── MultiwayPathsCoveredCheck.h │ ├── NoAssemblerCheck.cpp │ ├── NoAssemblerCheck.h │ ├── SignedBitwiseCheck.cpp │ └── SignedBitwiseCheck.h ├── linuxkernel │ ├── CMakeLists.txt │ ├── LinuxKernelTidyModule.cpp │ ├── MustCheckErrsCheck.cpp │ └── MustCheckErrsCheck.h ├── llvm │ ├── CMakeLists.txt │ ├── HeaderGuardCheck.cpp │ ├── HeaderGuardCheck.h │ ├── IncludeOrderCheck.cpp │ ├── IncludeOrderCheck.h │ ├── LLVMTidyModule.cpp │ ├── PreferIsaOrDynCastInConditionalsCheck.cpp │ ├── PreferIsaOrDynCastInConditionalsCheck.h │ ├── PreferRegisterOverUnsignedCheck.cpp │ ├── PreferRegisterOverUnsignedCheck.h │ ├── TwineLocalCheck.cpp │ └── TwineLocalCheck.h ├── misc │ ├── CMakeLists.txt │ ├── DefinitionsInHeadersCheck.cpp │ ├── DefinitionsInHeadersCheck.h │ ├── MiscTidyModule.cpp │ ├── MisplacedConstCheck.cpp │ ├── MisplacedConstCheck.h │ ├── NewDeleteOverloadsCheck.cpp │ ├── NewDeleteOverloadsCheck.h │ ├── NonCopyableObjects.cpp │ ├── NonCopyableObjects.h │ ├── NonPrivateMemberVariablesInClassesCheck.cpp │ ├── NonPrivateMemberVariablesInClassesCheck.h │ ├── RedundantExpressionCheck.cpp │ ├── RedundantExpressionCheck.h │ ├── StaticAssertCheck.cpp │ ├── StaticAssertCheck.h │ ├── ThrowByValueCatchByReferenceCheck.cpp │ ├── ThrowByValueCatchByReferenceCheck.h │ ├── UnconventionalAssignOperatorCheck.cpp │ ├── UnconventionalAssignOperatorCheck.h │ ├── UniqueptrResetReleaseCheck.cpp │ ├── UniqueptrResetReleaseCheck.h │ ├── UnusedAliasDeclsCheck.cpp │ ├── UnusedAliasDeclsCheck.h │ ├── UnusedParametersCheck.cpp │ ├── UnusedParametersCheck.h │ ├── UnusedUsingDeclsCheck.cpp │ └── UnusedUsingDeclsCheck.h ├── modernize │ ├── AvoidBindCheck.cpp │ ├── AvoidBindCheck.h │ ├── AvoidCArraysCheck.cpp │ ├── AvoidCArraysCheck.h │ ├── CMakeLists.txt │ ├── ConcatNestedNamespacesCheck.cpp │ ├── ConcatNestedNamespacesCheck.h │ ├── DeprecatedHeadersCheck.cpp │ ├── DeprecatedHeadersCheck.h │ ├── DeprecatedIosBaseAliasesCheck.cpp │ ├── DeprecatedIosBaseAliasesCheck.h │ ├── LoopConvertCheck.cpp │ ├── LoopConvertCheck.h │ ├── LoopConvertUtils.cpp │ ├── LoopConvertUtils.h │ ├── MakeSharedCheck.cpp │ ├── MakeSharedCheck.h │ ├── MakeSmartPtrCheck.cpp │ ├── MakeSmartPtrCheck.h │ ├── MakeUniqueCheck.cpp │ ├── MakeUniqueCheck.h │ ├── ModernizeTidyModule.cpp │ ├── PassByValueCheck.cpp │ ├── PassByValueCheck.h │ ├── RawStringLiteralCheck.cpp │ ├── RawStringLiteralCheck.h │ ├── RedundantVoidArgCheck.cpp │ ├── RedundantVoidArgCheck.h │ ├── ReplaceAutoPtrCheck.cpp │ ├── ReplaceAutoPtrCheck.h │ ├── ReplaceRandomShuffleCheck.cpp │ ├── ReplaceRandomShuffleCheck.h │ ├── ReturnBracedInitListCheck.cpp │ ├── ReturnBracedInitListCheck.h │ ├── ShrinkToFitCheck.cpp │ ├── ShrinkToFitCheck.h │ ├── UnaryStaticAssertCheck.cpp │ ├── UnaryStaticAssertCheck.h │ ├── UseAutoCheck.cpp │ ├── UseAutoCheck.h │ ├── UseBoolLiteralsCheck.cpp │ ├── UseBoolLiteralsCheck.h │ ├── UseDefaultMemberInitCheck.cpp │ ├── UseDefaultMemberInitCheck.h │ ├── UseEmplaceCheck.cpp │ ├── UseEmplaceCheck.h │ ├── UseEqualsDefaultCheck.cpp │ ├── UseEqualsDefaultCheck.h │ ├── UseEqualsDeleteCheck.cpp │ ├── UseEqualsDeleteCheck.h │ ├── UseNodiscardCheck.cpp │ ├── UseNodiscardCheck.h │ ├── UseNoexceptCheck.cpp │ ├── UseNoexceptCheck.h │ ├── UseNullptrCheck.cpp │ ├── UseNullptrCheck.h │ ├── UseOverrideCheck.cpp │ ├── UseOverrideCheck.h │ ├── UseTrailingReturnTypeCheck.cpp │ ├── UseTrailingReturnTypeCheck.h │ ├── UseTransparentFunctorsCheck.cpp │ ├── UseTransparentFunctorsCheck.h │ ├── UseUncaughtExceptionsCheck.cpp │ ├── UseUncaughtExceptionsCheck.h │ ├── UseUsingCheck.cpp │ └── UseUsingCheck.h ├── mpi │ ├── BufferDerefCheck.cpp │ ├── BufferDerefCheck.h │ ├── CMakeLists.txt │ ├── MPITidyModule.cpp │ ├── TypeMismatchCheck.cpp │ └── TypeMismatchCheck.h ├── objc │ ├── AvoidNSErrorInitCheck.cpp │ ├── AvoidNSErrorInitCheck.h │ ├── CMakeLists.txt │ ├── ForbiddenSubclassingCheck.cpp │ ├── ForbiddenSubclassingCheck.h │ ├── MissingHashCheck.cpp │ ├── MissingHashCheck.h │ ├── ObjCTidyModule.cpp │ ├── PropertyDeclarationCheck.cpp │ ├── PropertyDeclarationCheck.h │ ├── SuperSelfCheck.cpp │ └── SuperSelfCheck.h ├── openmp │ ├── CMakeLists.txt │ ├── ExceptionEscapeCheck.cpp │ ├── ExceptionEscapeCheck.h │ ├── OpenMPTidyModule.cpp │ ├── UseDefaultNoneCheck.cpp │ └── UseDefaultNoneCheck.h ├── performance │ ├── CMakeLists.txt │ ├── FasterStringFindCheck.cpp │ ├── FasterStringFindCheck.h │ ├── ForRangeCopyCheck.cpp │ ├── ForRangeCopyCheck.h │ ├── ImplicitConversionInLoopCheck.cpp │ ├── ImplicitConversionInLoopCheck.h │ ├── InefficientAlgorithmCheck.cpp │ ├── InefficientAlgorithmCheck.h │ ├── InefficientStringConcatenationCheck.cpp │ ├── InefficientStringConcatenationCheck.h │ ├── InefficientVectorOperationCheck.cpp │ ├── InefficientVectorOperationCheck.h │ ├── MoveConstArgCheck.cpp │ ├── MoveConstArgCheck.h │ ├── MoveConstructorInitCheck.cpp │ ├── MoveConstructorInitCheck.h │ ├── NoexceptMoveConstructorCheck.cpp │ ├── NoexceptMoveConstructorCheck.h │ ├── PerformanceTidyModule.cpp │ ├── TypePromotionInMathFnCheck.cpp │ ├── TypePromotionInMathFnCheck.h │ ├── UnnecessaryCopyInitialization.cpp │ ├── UnnecessaryCopyInitialization.h │ ├── UnnecessaryValueParamCheck.cpp │ └── UnnecessaryValueParamCheck.h ├── plugin │ ├── CMakeLists.txt │ └── ClangTidyPlugin.cpp ├── portability │ ├── CMakeLists.txt │ ├── PortabilityTidyModule.cpp │ ├── SIMDIntrinsicsCheck.cpp │ └── SIMDIntrinsicsCheck.h ├── readability │ ├── AvoidConstParamsInDecls.cpp │ ├── AvoidConstParamsInDecls.h │ ├── BracesAroundStatementsCheck.cpp │ ├── BracesAroundStatementsCheck.h │ ├── CMakeLists.txt │ ├── ConstReturnTypeCheck.cpp │ ├── ConstReturnTypeCheck.h │ ├── ContainerSizeEmptyCheck.cpp │ ├── ContainerSizeEmptyCheck.h │ ├── ConvertMemberFunctionsToStatic.cpp │ ├── ConvertMemberFunctionsToStatic.h │ ├── DeleteNullPointerCheck.cpp │ ├── DeleteNullPointerCheck.h │ ├── DeletedDefaultCheck.cpp │ ├── DeletedDefaultCheck.h │ ├── ElseAfterReturnCheck.cpp │ ├── ElseAfterReturnCheck.h │ ├── FunctionSizeCheck.cpp │ ├── FunctionSizeCheck.h │ ├── IdentifierNamingCheck.cpp │ ├── IdentifierNamingCheck.h │ ├── ImplicitBoolConversionCheck.cpp │ ├── ImplicitBoolConversionCheck.h │ ├── InconsistentDeclarationParameterNameCheck.cpp │ ├── InconsistentDeclarationParameterNameCheck.h │ ├── IsolateDeclarationCheck.cpp │ ├── IsolateDeclarationCheck.h │ ├── MagicNumbersCheck.cpp │ ├── MagicNumbersCheck.h │ ├── MisleadingIndentationCheck.cpp │ ├── MisleadingIndentationCheck.h │ ├── MisplacedArrayIndexCheck.cpp │ ├── MisplacedArrayIndexCheck.h │ ├── NamedParameterCheck.cpp │ ├── NamedParameterCheck.h │ ├── NamespaceCommentCheck.cpp │ ├── NamespaceCommentCheck.h │ ├── NonConstParameterCheck.cpp │ ├── NonConstParameterCheck.h │ ├── ReadabilityTidyModule.cpp │ ├── RedundantControlFlowCheck.cpp │ ├── RedundantControlFlowCheck.h │ ├── RedundantDeclarationCheck.cpp │ ├── RedundantDeclarationCheck.h │ ├── RedundantFunctionPtrDereferenceCheck.cpp │ ├── RedundantFunctionPtrDereferenceCheck.h │ ├── RedundantMemberInitCheck.cpp │ ├── RedundantMemberInitCheck.h │ ├── RedundantPreprocessorCheck.cpp │ ├── RedundantPreprocessorCheck.h │ ├── RedundantSmartptrGetCheck.cpp │ ├── RedundantSmartptrGetCheck.h │ ├── RedundantStringCStrCheck.cpp │ ├── RedundantStringCStrCheck.h │ ├── RedundantStringInitCheck.cpp │ ├── RedundantStringInitCheck.h │ ├── SimplifyBooleanExprCheck.cpp │ ├── SimplifyBooleanExprCheck.h │ ├── SimplifySubscriptExprCheck.cpp │ ├── SimplifySubscriptExprCheck.h │ ├── StaticAccessedThroughInstanceCheck.cpp │ ├── StaticAccessedThroughInstanceCheck.h │ ├── StaticDefinitionInAnonymousNamespaceCheck.cpp │ ├── StaticDefinitionInAnonymousNamespaceCheck.h │ ├── StringCompareCheck.cpp │ ├── StringCompareCheck.h │ ├── UniqueptrDeleteReleaseCheck.cpp │ ├── UniqueptrDeleteReleaseCheck.h │ ├── UppercaseLiteralSuffixCheck.cpp │ └── UppercaseLiteralSuffixCheck.h ├── rename_check.py ├── tool │ ├── CMakeLists.txt │ ├── ClangTidyMain.cpp │ ├── clang-tidy-diff.py │ └── run-clang-tidy.py ├── utils │ ├── ASTUtils.cpp │ ├── ASTUtils.h │ ├── CMakeLists.txt │ ├── DeclRefExprUtils.cpp │ ├── DeclRefExprUtils.h │ ├── ExceptionAnalyzer.cpp │ ├── ExceptionAnalyzer.h │ ├── ExprSequence.cpp │ ├── ExprSequence.h │ ├── FixItHintUtils.cpp │ ├── FixItHintUtils.h │ ├── HeaderFileExtensionsUtils.cpp │ ├── HeaderFileExtensionsUtils.h │ ├── HeaderGuard.cpp │ ├── HeaderGuard.h │ ├── IncludeInserter.cpp │ ├── IncludeInserter.h │ ├── IncludeSorter.cpp │ ├── IncludeSorter.h │ ├── LexerUtils.cpp │ ├── LexerUtils.h │ ├── Matchers.h │ ├── NamespaceAliaser.cpp │ ├── NamespaceAliaser.h │ ├── OptionsUtils.cpp │ ├── OptionsUtils.h │ ├── TransformerClangTidyCheck.cpp │ ├── TransformerClangTidyCheck.h │ ├── TypeTraits.cpp │ ├── TypeTraits.h │ ├── UsingInserter.cpp │ └── UsingInserter.h └── zircon │ ├── CMakeLists.txt │ ├── TemporaryObjectsCheck.cpp │ ├── TemporaryObjectsCheck.h │ └── ZirconTidyModule.cpp ├── clangd ├── AST.cpp ├── AST.h ├── CMakeLists.txt ├── CSymbolMap.inc ├── Cancellation.cpp ├── Cancellation.h ├── ClangdLSPServer.cpp ├── ClangdLSPServer.h ├── ClangdServer.cpp ├── ClangdServer.h ├── CodeComplete.cpp ├── CodeComplete.h ├── CodeCompletionStrings.cpp ├── CodeCompletionStrings.h ├── CollectMacros.h ├── Compiler.cpp ├── Compiler.h ├── Context.cpp ├── Context.h ├── Diagnostics.cpp ├── Diagnostics.h ├── DraftStore.cpp ├── DraftStore.h ├── ExpectedTypes.cpp ├── ExpectedTypes.h ├── FS.cpp ├── FS.h ├── FSProvider.cpp ├── FSProvider.h ├── Features.inc.in ├── FileDistance.cpp ├── FileDistance.h ├── FindSymbols.cpp ├── FindSymbols.h ├── FindTarget.cpp ├── FindTarget.h ├── Format.cpp ├── Format.h ├── FormattedString.cpp ├── FormattedString.h ├── Function.h ├── FuzzyMatch.cpp ├── FuzzyMatch.h ├── GlobalCompilationDatabase.cpp ├── GlobalCompilationDatabase.h ├── HeaderSourceSwitch.cpp ├── HeaderSourceSwitch.h ├── Headers.cpp ├── Headers.h ├── IncludeFixer.cpp ├── IncludeFixer.h ├── JSONTransport.cpp ├── Logger.cpp ├── Logger.h ├── ParsedAST.cpp ├── ParsedAST.h ├── Path.h ├── Preamble.cpp ├── Preamble.h ├── Protocol.cpp ├── Protocol.h ├── Quality.cpp ├── Quality.h ├── QueryDriverDatabase.cpp ├── RIFF.cpp ├── RIFF.h ├── Selection.cpp ├── Selection.h ├── SemanticHighlighting.cpp ├── SemanticHighlighting.h ├── SemanticSelection.cpp ├── SemanticSelection.h ├── SourceCode.cpp ├── SourceCode.h ├── StdSymbolMap.inc ├── TUScheduler.cpp ├── TUScheduler.h ├── Threading.cpp ├── Threading.h ├── Trace.cpp ├── Trace.h ├── Transport.h ├── URI.cpp ├── URI.h ├── XRefs.cpp ├── XRefs.h ├── benchmarks │ ├── CMakeLists.txt │ └── IndexBenchmark.cpp ├── clients │ └── clangd-vscode │ │ ├── .gitignore │ │ ├── .vscode │ │ ├── launch.json │ │ ├── settings.json │ │ └── tasks.json │ │ ├── .vscodeignore │ │ ├── DEVELOPING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc-assets │ │ ├── complete.png │ │ ├── diagnostics.png │ │ ├── extract.png │ │ ├── format.png │ │ ├── include.png │ │ ├── symbolsearch.png │ │ └── xrefs.png │ │ ├── package-lock.json │ │ ├── package.json │ │ ├── src │ │ ├── extension.ts │ │ └── semantic-highlighting.ts │ │ ├── test │ │ ├── assets │ │ │ ├── includeTheme.jsonc │ │ │ └── simpleTheme.jsonc │ │ ├── extension.test.ts │ │ ├── index.ts │ │ └── semantic-highlighting.test.ts │ │ ├── tsconfig.json │ │ └── vsc-extension-quickstart.md ├── fuzzer │ ├── CMakeLists.txt │ ├── DummyClangdMain.cpp │ └── clangd-fuzzer.cpp ├── include-mapping │ ├── cppreference_parser.py │ ├── gen_std.py │ └── test.py ├── index │ ├── Background.cpp │ ├── Background.h │ ├── BackgroundIndexLoader.cpp │ ├── BackgroundIndexLoader.h │ ├── BackgroundIndexStorage.cpp │ ├── BackgroundQueue.cpp │ ├── BackgroundRebuild.cpp │ ├── BackgroundRebuild.h │ ├── CanonicalIncludes.cpp │ ├── CanonicalIncludes.h │ ├── FileIndex.cpp │ ├── FileIndex.h │ ├── Index.cpp │ ├── Index.h │ ├── IndexAction.cpp │ ├── IndexAction.h │ ├── MemIndex.cpp │ ├── MemIndex.h │ ├── Merge.cpp │ ├── Merge.h │ ├── Ref.cpp │ ├── Ref.h │ ├── Relation.cpp │ ├── Relation.h │ ├── Serialization.cpp │ ├── Serialization.h │ ├── Symbol.cpp │ ├── Symbol.h │ ├── SymbolCollector.cpp │ ├── SymbolCollector.h │ ├── SymbolID.cpp │ ├── SymbolID.h │ ├── SymbolLocation.cpp │ ├── SymbolLocation.h │ ├── SymbolOrigin.cpp │ ├── SymbolOrigin.h │ ├── YAMLSerialization.cpp │ └── dex │ │ ├── Dex.cpp │ │ ├── Dex.h │ │ ├── Iterator.cpp │ │ ├── Iterator.h │ │ ├── PostingList.cpp │ │ ├── PostingList.h │ │ ├── Token.h │ │ ├── Trigram.cpp │ │ ├── Trigram.h │ │ └── dexp │ │ ├── CMakeLists.txt │ │ └── Dexp.cpp ├── indexer │ ├── CMakeLists.txt │ └── IndexerMain.cpp ├── refactor │ ├── Rename.cpp │ ├── Rename.h │ ├── Tweak.cpp │ ├── Tweak.h │ └── tweaks │ │ ├── AnnotateHighlightings.cpp │ │ ├── CMakeLists.txt │ │ ├── DumpAST.cpp │ │ ├── ExpandAutoType.cpp │ │ ├── ExpandMacro.cpp │ │ ├── ExtractFunction.cpp │ │ ├── ExtractVariable.cpp │ │ ├── RawStringLiteral.cpp │ │ ├── RemoveUsingNamespace.cpp │ │ └── SwapIfBranches.cpp ├── test │ ├── CMakeLists.txt │ ├── Inputs │ │ ├── BenchmarkHeader.h │ │ ├── BenchmarkSource.cpp │ │ ├── background-index │ │ │ ├── compile_commands.json │ │ │ ├── definition.jsonrpc │ │ │ ├── foo.cpp │ │ │ └── sub_dir │ │ │ │ ├── compile_flags.txt │ │ │ │ └── foo.h │ │ ├── requests.json │ │ └── symbols.test.yaml │ ├── background-index.test │ ├── code-action-request.test │ ├── compile-commands-path-in-initialize.test │ ├── completion-auto-trigger.test │ ├── completion-snippets.test │ ├── completion.test │ ├── crash-non-added-files.test │ ├── delimited-input-comment-at-the-end.test │ ├── diagnostic-category.test │ ├── diagnostics-no-tidy.test │ ├── diagnostics-notes.test │ ├── diagnostics.test │ ├── did-change-configuration-params.test │ ├── execute-command.test │ ├── exit-with-shutdown.test │ ├── exit-without-shutdown.test │ ├── filestatus.test │ ├── fixits-codeaction.test │ ├── fixits-command.test │ ├── fixits-embed-in-diagnostic.test │ ├── formatting.test │ ├── hover.test │ ├── index-tools.test │ ├── initialize-params-invalid.test │ ├── initialize-params.test │ ├── initialize-sequence.test │ ├── input-mirror.test │ ├── lit.cfg.py │ ├── lit.local.cfg │ ├── lit.site.cfg.py.in │ ├── log.test │ ├── protocol.test │ ├── references.test │ ├── rename.test │ ├── request-reply.test │ ├── selection-range.test │ ├── semantic-highlighting.test │ ├── signature-help-with-offsets.test │ ├── signature-help.test │ ├── spaces-in-delimited-input.test │ ├── symbol-info.test │ ├── symbols.test │ ├── system-include-extractor.test │ ├── target_info.test │ ├── test-uri-posix.test │ ├── test-uri-windows.test │ ├── textdocument-didchange-fail.test │ ├── too_large.test │ ├── trace.test │ ├── tweaks-format.test │ ├── type-hierarchy.test │ ├── unsupported-method.test │ ├── utf8.test │ ├── xpc │ │ └── initialize.test │ └── xrefs.test ├── tool │ ├── CMakeLists.txt │ └── ClangdMain.cpp ├── unittests │ ├── ASTTests.cpp │ ├── Annotations.cpp │ ├── Annotations.h │ ├── BackgroundIndexTests.cpp │ ├── CMakeLists.txt │ ├── CancellationTests.cpp │ ├── CanonicalIncludesTests.cpp │ ├── ClangdTests.cpp │ ├── CodeCompleteTests.cpp │ ├── CodeCompletionStringsTests.cpp │ ├── ContextTests.cpp │ ├── DexTests.cpp │ ├── DiagnosticsTests.cpp │ ├── DraftStoreTests.cpp │ ├── ExpectedTypeTest.cpp │ ├── FSTests.cpp │ ├── FileDistanceTests.cpp │ ├── FileIndexTests.cpp │ ├── FindSymbolsTests.cpp │ ├── FindTargetTests.cpp │ ├── FormatTests.cpp │ ├── FormattedStringTests.cpp │ ├── FunctionTests.cpp │ ├── FuzzyMatchTests.cpp │ ├── GlobalCompilationDatabaseTests.cpp │ ├── HeaderSourceSwitchTests.cpp │ ├── HeadersTests.cpp │ ├── IndexActionTests.cpp │ ├── IndexTests.cpp │ ├── JSONTransportTests.cpp │ ├── Matchers.h │ ├── ParsedASTTests.cpp │ ├── PrintASTTests.cpp │ ├── QualityTests.cpp │ ├── RIFFTests.cpp │ ├── RenameTests.cpp │ ├── SelectionTests.cpp │ ├── SemanticHighlightingTests.cpp │ ├── SemanticSelectionTests.cpp │ ├── SerializationTests.cpp │ ├── SourceCodeTests.cpp │ ├── SymbolCollectorTests.cpp │ ├── SymbolInfoTests.cpp │ ├── SyncAPI.cpp │ ├── SyncAPI.h │ ├── TUSchedulerTests.cpp │ ├── TestFS.cpp │ ├── TestFS.h │ ├── TestIndex.cpp │ ├── TestIndex.h │ ├── TestScheme.h │ ├── TestTU.cpp │ ├── TestTU.h │ ├── ThreadingTests.cpp │ ├── TraceTests.cpp │ ├── TweakTesting.cpp │ ├── TweakTesting.h │ ├── TweakTests.cpp │ ├── TypeHierarchyTests.cpp │ ├── URITests.cpp │ ├── XRefsTests.cpp │ ├── lit.cfg.py │ ├── lit.site.cfg.py.in │ └── xpc │ │ ├── CMakeLists.txt │ │ └── ConversionTests.cpp └── xpc │ ├── CMakeLists.txt │ ├── Conversion.cpp │ ├── Conversion.h │ ├── README.txt │ ├── XPCTransport.cpp │ ├── cmake │ ├── Info.plist.in │ ├── XPCServiceInfo.plist.in │ └── modules │ │ └── CreateClangdXPCFramework.cmake │ ├── framework │ ├── CMakeLists.txt │ └── ClangdXPC.cpp │ └── test-client │ ├── CMakeLists.txt │ └── ClangdXPCTestClient.cpp ├── docs ├── CMakeLists.txt ├── ModularizeUsage.rst ├── README.txt ├── ReleaseNotes.rst ├── _static │ └── clang-tools-extra-styles.css ├── _templates │ └── layout.html ├── clang-doc.rst ├── clang-include-fixer.rst ├── clang-modernize.rst ├── clang-rename.rst ├── clang-tidy.rst ├── clang-tidy │ ├── Contributing.rst │ ├── Integrations.rst │ ├── checks │ │ ├── abseil-duration-addition.rst │ │ ├── abseil-duration-comparison.rst │ │ ├── abseil-duration-conversion-cast.rst │ │ ├── abseil-duration-division.rst │ │ ├── abseil-duration-factory-float.rst │ │ ├── abseil-duration-factory-scale.rst │ │ ├── abseil-duration-subtraction.rst │ │ ├── abseil-duration-unnecessary-conversion.rst │ │ ├── abseil-faster-strsplit-delimiter.rst │ │ ├── abseil-no-internal-dependencies.rst │ │ ├── abseil-no-namespace.rst │ │ ├── abseil-redundant-strcat-calls.rst │ │ ├── abseil-str-cat-append.rst │ │ ├── abseil-string-find-startswith.rst │ │ ├── abseil-time-comparison.rst │ │ ├── abseil-time-subtraction.rst │ │ ├── abseil-upgrade-duration-conversions.rst │ │ ├── android-cloexec-accept.rst │ │ ├── android-cloexec-accept4.rst │ │ ├── android-cloexec-creat.rst │ │ ├── android-cloexec-dup.rst │ │ ├── android-cloexec-epoll-create.rst │ │ ├── android-cloexec-epoll-create1.rst │ │ ├── android-cloexec-fopen.rst │ │ ├── android-cloexec-inotify-init.rst │ │ ├── android-cloexec-inotify-init1.rst │ │ ├── android-cloexec-memfd-create.rst │ │ ├── android-cloexec-open.rst │ │ ├── android-cloexec-pipe.rst │ │ ├── android-cloexec-pipe2.rst │ │ ├── android-cloexec-socket.rst │ │ ├── android-comparison-in-temp-failure-retry.rst │ │ ├── boost-use-to-string.rst │ │ ├── bugprone-argument-comment.rst │ │ ├── bugprone-assert-side-effect.rst │ │ ├── bugprone-bool-pointer-implicit-conversion.rst │ │ ├── bugprone-branch-clone.rst │ │ ├── bugprone-copy-constructor-init.rst │ │ ├── bugprone-dangling-handle.rst │ │ ├── bugprone-dynamic-static-initializers.rst │ │ ├── bugprone-exception-escape.rst │ │ ├── bugprone-fold-init-type.rst │ │ ├── bugprone-forward-declaration-namespace.rst │ │ ├── bugprone-forwarding-reference-overload.rst │ │ ├── bugprone-inaccurate-erase.rst │ │ ├── bugprone-incorrect-roundings.rst │ │ ├── bugprone-infinite-loop.rst │ │ ├── bugprone-integer-division.rst │ │ ├── bugprone-lambda-function-name.rst │ │ ├── bugprone-macro-parentheses.rst │ │ ├── bugprone-macro-repeated-side-effects.rst │ │ ├── bugprone-misplaced-operator-in-strlen-in-alloc.rst │ │ ├── bugprone-misplaced-widening-cast.rst │ │ ├── bugprone-move-forwarding-reference.rst │ │ ├── bugprone-multiple-statement-macro.rst │ │ ├── bugprone-not-null-terminated-result.rst │ │ ├── bugprone-parent-virtual-call.rst │ │ ├── bugprone-posix-return.rst │ │ ├── bugprone-sizeof-container.rst │ │ ├── bugprone-sizeof-expression.rst │ │ ├── bugprone-string-constructor.rst │ │ ├── bugprone-string-integer-assignment.rst │ │ ├── bugprone-string-literal-with-embedded-nul.rst │ │ ├── bugprone-suspicious-enum-usage.rst │ │ ├── bugprone-suspicious-memset-usage.rst │ │ ├── bugprone-suspicious-missing-comma.rst │ │ ├── bugprone-suspicious-semicolon.rst │ │ ├── bugprone-suspicious-string-compare.rst │ │ ├── bugprone-swapped-arguments.rst │ │ ├── bugprone-terminating-continue.rst │ │ ├── bugprone-throw-keyword-missing.rst │ │ ├── bugprone-too-small-loop-variable.rst │ │ ├── bugprone-undefined-memory-manipulation.rst │ │ ├── bugprone-undelegated-constructor.rst │ │ ├── bugprone-unhandled-self-assignment.rst │ │ ├── bugprone-unused-raii.rst │ │ ├── bugprone-unused-return-value.rst │ │ ├── bugprone-use-after-move.rst │ │ ├── bugprone-virtual-near-miss.rst │ │ ├── cert-dcl03-c.rst │ │ ├── cert-dcl16-c.rst │ │ ├── cert-dcl21-cpp.rst │ │ ├── cert-dcl50-cpp.rst │ │ ├── cert-dcl54-cpp.rst │ │ ├── cert-dcl58-cpp.rst │ │ ├── cert-dcl59-cpp.rst │ │ ├── cert-env33-c.rst │ │ ├── cert-err09-cpp.rst │ │ ├── cert-err34-c.rst │ │ ├── cert-err52-cpp.rst │ │ ├── cert-err58-cpp.rst │ │ ├── cert-err60-cpp.rst │ │ ├── cert-err61-cpp.rst │ │ ├── cert-fio38-c.rst │ │ ├── cert-flp30-c.rst │ │ ├── cert-msc30-c.rst │ │ ├── cert-msc32-c.rst │ │ ├── cert-msc50-cpp.rst │ │ ├── cert-msc51-cpp.rst │ │ ├── cert-oop11-cpp.rst │ │ ├── cert-oop54-cpp.rst │ │ ├── clang-analyzer-core.CallAndMessage.rst │ │ ├── clang-analyzer-core.DivideZero.rst │ │ ├── clang-analyzer-core.DynamicTypePropagation.rst │ │ ├── clang-analyzer-core.NonNullParamChecker.rst │ │ ├── clang-analyzer-core.NullDereference.rst │ │ ├── clang-analyzer-core.StackAddressEscape.rst │ │ ├── clang-analyzer-core.UndefinedBinaryOperatorResult.rst │ │ ├── clang-analyzer-core.VLASize.rst │ │ ├── clang-analyzer-core.uninitialized.ArraySubscript.rst │ │ ├── clang-analyzer-core.uninitialized.Assign.rst │ │ ├── clang-analyzer-core.uninitialized.Branch.rst │ │ ├── clang-analyzer-core.uninitialized.CapturedBlockVariable.rst │ │ ├── clang-analyzer-core.uninitialized.UndefReturn.rst │ │ ├── clang-analyzer-cplusplus.InnerPointer.rst │ │ ├── clang-analyzer-cplusplus.Move.rst │ │ ├── clang-analyzer-cplusplus.NewDelete.rst │ │ ├── clang-analyzer-cplusplus.NewDeleteLeaks.rst │ │ ├── clang-analyzer-deadcode.DeadStores.rst │ │ ├── clang-analyzer-nullability.NullPassedToNonnull.rst │ │ ├── clang-analyzer-nullability.NullReturnedFromNonnull.rst │ │ ├── clang-analyzer-nullability.NullableDereferenced.rst │ │ ├── clang-analyzer-nullability.NullablePassedToNonnull.rst │ │ ├── clang-analyzer-nullability.NullableReturnedFromNonnull.rst │ │ ├── clang-analyzer-optin.cplusplus.UninitializedObject.rst │ │ ├── clang-analyzer-optin.cplusplus.VirtualCall.rst │ │ ├── clang-analyzer-optin.mpi.MPI-Checker.rst │ │ ├── clang-analyzer-optin.osx.OSObjectCStyleCast.rst │ │ ├── clang-analyzer-optin.osx.cocoa.localizability.EmptyLocalizationContextChecker.rst │ │ ├── clang-analyzer-optin.osx.cocoa.localizability.NonLocalizedStringChecker.rst │ │ ├── clang-analyzer-optin.performance.GCDAntipattern.rst │ │ ├── clang-analyzer-optin.performance.Padding.rst │ │ ├── clang-analyzer-optin.portability.UnixAPI.rst │ │ ├── clang-analyzer-osx.API.rst │ │ ├── clang-analyzer-osx.MIG.rst │ │ ├── clang-analyzer-osx.NumberObjectConversion.rst │ │ ├── clang-analyzer-osx.OSObjectRetainCount.rst │ │ ├── clang-analyzer-osx.ObjCProperty.rst │ │ ├── clang-analyzer-osx.SecKeychainAPI.rst │ │ ├── clang-analyzer-osx.cocoa.AtSync.rst │ │ ├── clang-analyzer-osx.cocoa.AutoreleaseWrite.rst │ │ ├── clang-analyzer-osx.cocoa.ClassRelease.rst │ │ ├── clang-analyzer-osx.cocoa.Dealloc.rst │ │ ├── clang-analyzer-osx.cocoa.IncompatibleMethodTypes.rst │ │ ├── clang-analyzer-osx.cocoa.Loops.rst │ │ ├── clang-analyzer-osx.cocoa.MissingSuperCall.rst │ │ ├── clang-analyzer-osx.cocoa.NSAutoreleasePool.rst │ │ ├── clang-analyzer-osx.cocoa.NSError.rst │ │ ├── clang-analyzer-osx.cocoa.NilArg.rst │ │ ├── clang-analyzer-osx.cocoa.NonNilReturnValue.rst │ │ ├── clang-analyzer-osx.cocoa.ObjCGenerics.rst │ │ ├── clang-analyzer-osx.cocoa.RetainCount.rst │ │ ├── clang-analyzer-osx.cocoa.RunLoopAutoreleaseLeak.rst │ │ ├── clang-analyzer-osx.cocoa.SelfInit.rst │ │ ├── clang-analyzer-osx.cocoa.SuperDealloc.rst │ │ ├── clang-analyzer-osx.cocoa.UnusedIvars.rst │ │ ├── clang-analyzer-osx.cocoa.VariadicMethodTypes.rst │ │ ├── clang-analyzer-osx.coreFoundation.CFError.rst │ │ ├── clang-analyzer-osx.coreFoundation.CFNumber.rst │ │ ├── clang-analyzer-osx.coreFoundation.CFRetainRelease.rst │ │ ├── clang-analyzer-osx.coreFoundation.containers.OutOfBounds.rst │ │ ├── clang-analyzer-osx.coreFoundation.containers.PointerSizedValues.rst │ │ ├── clang-analyzer-security.FloatLoopCounter.rst │ │ ├── clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling.rst │ │ ├── clang-analyzer-security.insecureAPI.UncheckedReturn.rst │ │ ├── clang-analyzer-security.insecureAPI.bcmp.rst │ │ ├── clang-analyzer-security.insecureAPI.bcopy.rst │ │ ├── clang-analyzer-security.insecureAPI.bzero.rst │ │ ├── clang-analyzer-security.insecureAPI.getpw.rst │ │ ├── clang-analyzer-security.insecureAPI.gets.rst │ │ ├── clang-analyzer-security.insecureAPI.mkstemp.rst │ │ ├── clang-analyzer-security.insecureAPI.mktemp.rst │ │ ├── clang-analyzer-security.insecureAPI.rand.rst │ │ ├── clang-analyzer-security.insecureAPI.strcpy.rst │ │ ├── clang-analyzer-security.insecureAPI.vfork.rst │ │ ├── clang-analyzer-unix.API.rst │ │ ├── clang-analyzer-unix.Malloc.rst │ │ ├── clang-analyzer-unix.MallocSizeof.rst │ │ ├── clang-analyzer-unix.MismatchedDeallocator.rst │ │ ├── clang-analyzer-unix.Vfork.rst │ │ ├── clang-analyzer-unix.cstring.BadSizeArg.rst │ │ ├── clang-analyzer-unix.cstring.NullArg.rst │ │ ├── clang-analyzer-valist.CopyToSelf.rst │ │ ├── clang-analyzer-valist.Uninitialized.rst │ │ ├── clang-analyzer-valist.Unterminated.rst │ │ ├── cppcoreguidelines-avoid-c-arrays.rst │ │ ├── cppcoreguidelines-avoid-goto.rst │ │ ├── cppcoreguidelines-avoid-magic-numbers.rst │ │ ├── cppcoreguidelines-c-copy-assignment-signature.rst │ │ ├── cppcoreguidelines-explicit-virtual-functions.rst │ │ ├── cppcoreguidelines-init-variables.rst │ │ ├── cppcoreguidelines-interfaces-global-init.rst │ │ ├── cppcoreguidelines-macro-usage.rst │ │ ├── cppcoreguidelines-narrowing-conversions.rst │ │ ├── cppcoreguidelines-no-malloc.rst │ │ ├── cppcoreguidelines-non-private-member-variables-in-classes.rst │ │ ├── cppcoreguidelines-owning-memory.rst │ │ ├── cppcoreguidelines-pro-bounds-array-to-pointer-decay.rst │ │ ├── cppcoreguidelines-pro-bounds-constant-array-index.rst │ │ ├── cppcoreguidelines-pro-bounds-pointer-arithmetic.rst │ │ ├── cppcoreguidelines-pro-type-const-cast.rst │ │ ├── cppcoreguidelines-pro-type-cstyle-cast.rst │ │ ├── cppcoreguidelines-pro-type-member-init.rst │ │ ├── cppcoreguidelines-pro-type-reinterpret-cast.rst │ │ ├── cppcoreguidelines-pro-type-static-cast-downcast.rst │ │ ├── cppcoreguidelines-pro-type-union-access.rst │ │ ├── cppcoreguidelines-pro-type-vararg.rst │ │ ├── cppcoreguidelines-slicing.rst │ │ ├── cppcoreguidelines-special-member-functions.rst │ │ ├── darwin-avoid-spinlock.rst │ │ ├── darwin-dispatch-once-nonstatic.rst │ │ ├── fuchsia-default-arguments-calls.rst │ │ ├── fuchsia-default-arguments-declarations.rst │ │ ├── fuchsia-header-anon-namespaces.rst │ │ ├── fuchsia-multiple-inheritance.rst │ │ ├── fuchsia-overloaded-operator.rst │ │ ├── fuchsia-restrict-system-includes.rst │ │ ├── fuchsia-statically-constructed-objects.rst │ │ ├── fuchsia-trailing-return.rst │ │ ├── fuchsia-virtual-inheritance.rst │ │ ├── gen-static-analyzer-docs.py │ │ ├── google-build-explicit-make-pair.rst │ │ ├── google-build-namespaces.rst │ │ ├── google-build-using-namespace.rst │ │ ├── google-default-arguments.rst │ │ ├── google-explicit-constructor.rst │ │ ├── google-global-names-in-headers.rst │ │ ├── google-objc-avoid-nsobject-new.rst │ │ ├── google-objc-avoid-throwing-exception.rst │ │ ├── google-objc-function-naming.rst │ │ ├── google-objc-global-variable-declaration.rst │ │ ├── google-readability-avoid-underscore-in-googletest-name.rst │ │ ├── google-readability-braces-around-statements.rst │ │ ├── google-readability-casting.rst │ │ ├── google-readability-function-size.rst │ │ ├── google-readability-namespace-comments.rst │ │ ├── google-readability-todo.rst │ │ ├── google-runtime-int.rst │ │ ├── google-runtime-operator.rst │ │ ├── google-runtime-references.rst │ │ ├── google-upgrade-googletest-case.rst │ │ ├── hicpp-avoid-c-arrays.rst │ │ ├── hicpp-avoid-goto.rst │ │ ├── hicpp-braces-around-statements.rst │ │ ├── hicpp-deprecated-headers.rst │ │ ├── hicpp-exception-baseclass.rst │ │ ├── hicpp-explicit-conversions.rst │ │ ├── hicpp-function-size.rst │ │ ├── hicpp-invalid-access-moved.rst │ │ ├── hicpp-member-init.rst │ │ ├── hicpp-move-const-arg.rst │ │ ├── hicpp-multiway-paths-covered.rst │ │ ├── hicpp-named-parameter.rst │ │ ├── hicpp-new-delete-operators.rst │ │ ├── hicpp-no-array-decay.rst │ │ ├── hicpp-no-assembler.rst │ │ ├── hicpp-no-malloc.rst │ │ ├── hicpp-noexcept-move.rst │ │ ├── hicpp-signed-bitwise.rst │ │ ├── hicpp-special-member-functions.rst │ │ ├── hicpp-static-assert.rst │ │ ├── hicpp-undelegated-constructor.rst │ │ ├── hicpp-uppercase-literal-suffix.rst │ │ ├── hicpp-use-auto.rst │ │ ├── hicpp-use-emplace.rst │ │ ├── hicpp-use-equals-default.rst │ │ ├── hicpp-use-equals-delete.rst │ │ ├── hicpp-use-noexcept.rst │ │ ├── hicpp-use-nullptr.rst │ │ ├── hicpp-use-override.rst │ │ ├── hicpp-vararg.rst │ │ ├── linuxkernel-must-use-errs.rst │ │ ├── list.rst │ │ ├── llvm-header-guard.rst │ │ ├── llvm-include-order.rst │ │ ├── llvm-namespace-comment.rst │ │ ├── llvm-prefer-isa-or-dyn-cast-in-conditionals.rst │ │ ├── llvm-prefer-register-over-unsigned.rst │ │ ├── llvm-twine-local.rst │ │ ├── misc-definitions-in-headers.rst │ │ ├── misc-misplaced-const.rst │ │ ├── misc-new-delete-overloads.rst │ │ ├── misc-non-copyable-objects.rst │ │ ├── misc-non-private-member-variables-in-classes.rst │ │ ├── misc-redundant-expression.rst │ │ ├── misc-static-assert.rst │ │ ├── misc-throw-by-value-catch-by-reference.rst │ │ ├── misc-unconventional-assign-operator.rst │ │ ├── misc-uniqueptr-reset-release.rst │ │ ├── misc-unused-alias-decls.rst │ │ ├── misc-unused-parameters.rst │ │ ├── misc-unused-using-decls.rst │ │ ├── modernize-avoid-bind.rst │ │ ├── modernize-avoid-c-arrays.rst │ │ ├── modernize-concat-nested-namespaces.rst │ │ ├── modernize-deprecated-headers.rst │ │ ├── modernize-deprecated-ios-base-aliases.rst │ │ ├── modernize-loop-convert.rst │ │ ├── modernize-make-shared.rst │ │ ├── modernize-make-unique.rst │ │ ├── modernize-pass-by-value.rst │ │ ├── modernize-raw-string-literal.rst │ │ ├── modernize-redundant-void-arg.rst │ │ ├── modernize-replace-auto-ptr.rst │ │ ├── modernize-replace-random-shuffle.rst │ │ ├── modernize-return-braced-init-list.rst │ │ ├── modernize-shrink-to-fit.rst │ │ ├── modernize-unary-static-assert.rst │ │ ├── modernize-use-auto.rst │ │ ├── modernize-use-bool-literals.rst │ │ ├── modernize-use-default-member-init.rst │ │ ├── modernize-use-default.rst │ │ ├── modernize-use-emplace.rst │ │ ├── modernize-use-equals-default.rst │ │ ├── modernize-use-equals-delete.rst │ │ ├── modernize-use-nodiscard.rst │ │ ├── modernize-use-noexcept.rst │ │ ├── modernize-use-nullptr.rst │ │ ├── modernize-use-override.rst │ │ ├── modernize-use-trailing-return-type.rst │ │ ├── modernize-use-transparent-functors.rst │ │ ├── modernize-use-uncaught-exceptions.rst │ │ ├── modernize-use-using.rst │ │ ├── mpi-buffer-deref.rst │ │ ├── mpi-type-mismatch.rst │ │ ├── objc-avoid-nserror-init.rst │ │ ├── objc-forbidden-subclassing.rst │ │ ├── objc-missing-hash.rst │ │ ├── objc-property-declaration.rst │ │ ├── objc-super-self.rst │ │ ├── openmp-exception-escape.rst │ │ ├── openmp-use-default-none.rst │ │ ├── performance-faster-string-find.rst │ │ ├── performance-for-range-copy.rst │ │ ├── performance-implicit-cast-in-loop.rst │ │ ├── performance-implicit-conversion-in-loop.rst │ │ ├── performance-inefficient-algorithm.rst │ │ ├── performance-inefficient-string-concatenation.rst │ │ ├── performance-inefficient-vector-operation.rst │ │ ├── performance-move-const-arg.rst │ │ ├── performance-move-constructor-init.rst │ │ ├── performance-noexcept-move-constructor.rst │ │ ├── performance-type-promotion-in-math-fn.rst │ │ ├── performance-unnecessary-copy-initialization.rst │ │ ├── performance-unnecessary-value-param.rst │ │ ├── portability-simd-intrinsics.rst │ │ ├── readability-avoid-const-params-in-decls.rst │ │ ├── readability-braces-around-statements.rst │ │ ├── readability-const-return-type.rst │ │ ├── readability-container-size-empty.rst │ │ ├── readability-convert-member-functions-to-static.rst │ │ ├── readability-delete-null-pointer.rst │ │ ├── readability-deleted-default.rst │ │ ├── readability-else-after-return.rst │ │ ├── readability-function-size.rst │ │ ├── readability-identifier-naming.rst │ │ ├── readability-implicit-bool-cast.rst │ │ ├── readability-implicit-bool-conversion.rst │ │ ├── readability-inconsistent-declaration-parameter-name.rst │ │ ├── readability-isolate-declaration.rst │ │ ├── readability-magic-numbers.rst │ │ ├── readability-misleading-indentation.rst │ │ ├── readability-misplaced-array-index.rst │ │ ├── readability-named-parameter.rst │ │ ├── readability-non-const-parameter.rst │ │ ├── readability-redundant-control-flow.rst │ │ ├── readability-redundant-declaration.rst │ │ ├── readability-redundant-function-ptr-dereference.rst │ │ ├── readability-redundant-member-init.rst │ │ ├── readability-redundant-preprocessor.rst │ │ ├── readability-redundant-smartptr-get.rst │ │ ├── readability-redundant-string-cstr.rst │ │ ├── readability-redundant-string-init.rst │ │ ├── readability-simplify-boolean-expr.rst │ │ ├── readability-simplify-subscript-expr.rst │ │ ├── readability-static-accessed-through-instance.rst │ │ ├── readability-static-definition-in-anonymous-namespace.rst │ │ ├── readability-string-compare.rst │ │ ├── readability-uniqueptr-delete-release.rst │ │ ├── readability-uppercase-literal-suffix.rst │ │ └── zircon-temporary-objects.rst │ └── index.rst ├── clangd.rst ├── clangd │ ├── ApplyClangTidyFixInVSCode.gif │ ├── ApplyFixInVSCode.gif │ ├── CodeCompletionInEmacsCompanyMode.png │ ├── CodeCompletionInSublimeText.png │ ├── CodeCompletionInVSCode.png │ ├── CodeCompletionInYCM.png │ ├── CodeCompletionInsertsNamespaceQualifiersInVSCode.gif │ ├── Configuration.rst │ ├── DeveloperDocumentation.rst │ ├── DiagnosticsInEmacsEglot.png │ ├── ErrorsInVSCode.png │ ├── Extensions.rst │ ├── Features.rst │ ├── FindAllReferencesInVSCode.gif │ ├── FormatSelectionInVSCode.gif │ ├── GoToDefinitionInVSCode.gif │ ├── Installation.rst │ ├── NavigationWithBreadcrumbsInVSCode.gif │ ├── OutlineInVSCode.png │ ├── SignatureHelpInVSCode.gif │ └── index.rst ├── conf.py ├── cpp11-migrate.rst ├── doxygen-mainpage.dox ├── doxygen.cfg.in ├── index.rst ├── make.bat ├── modularize.rst └── pp-trace.rst ├── modularize ├── CMakeLists.txt ├── CoverageChecker.cpp ├── CoverageChecker.h ├── Modularize.cpp ├── Modularize.h ├── ModularizeUtilities.cpp ├── ModularizeUtilities.h ├── ModuleAssistant.cpp ├── PreprocessorTracker.cpp └── PreprocessorTracker.h ├── pp-trace ├── CMakeLists.txt ├── PPCallbacksTracker.cpp ├── PPCallbacksTracker.h └── PPTrace.cpp ├── test ├── .clang-format ├── CMakeLists.txt ├── Unit │ ├── lit.cfg.py │ └── lit.site.cfg.py.in ├── clang-apply-replacements │ ├── ClangRenameClassReplacements.cpp │ ├── Inputs │ │ ├── basic │ │ │ ├── basic.h │ │ │ ├── file1.yaml │ │ │ └── file2.yaml │ │ ├── conflict │ │ │ ├── common.h │ │ │ ├── expected.txt │ │ │ ├── file1.yaml │ │ │ ├── file2.yaml │ │ │ └── file3.yaml │ │ ├── crlf │ │ │ ├── crlf.cpp │ │ │ ├── crlf.cpp.expected │ │ │ └── file1.yaml │ │ ├── format │ │ │ ├── no.cpp │ │ │ ├── no.yaml │ │ │ ├── yes.cpp │ │ │ └── yes.yaml │ │ ├── identical │ │ │ ├── file1.yaml │ │ │ ├── file2.yaml │ │ │ └── identical.cpp │ │ ├── invalid-files │ │ │ └── invalid-files.yaml │ │ └── order-dependent │ │ │ ├── expected.txt │ │ │ ├── file1.yaml │ │ │ ├── file2.yaml │ │ │ └── order-dependent.cpp │ ├── basic.cpp │ ├── conflict.cpp │ ├── crlf.cpp │ ├── format.cpp │ ├── identical.cpp │ ├── invalid-files.cpp │ └── order-dependent.cpp ├── clang-change-namespace │ ├── Inputs │ │ └── fake-std.h │ ├── lambda-function.cpp │ ├── macro.cpp │ ├── simple-move.cpp │ └── white-list.cpp ├── clang-doc │ ├── single-file-public.cpp │ └── single-file.cpp ├── clang-include-fixer │ ├── Inputs │ │ ├── database_template.json │ │ ├── fake_yaml_db.yaml │ │ └── merge │ │ │ ├── a.yaml │ │ │ └── b.yaml │ ├── commandline_options.cpp │ ├── exit_on_fatal.cpp │ ├── fixeddb.cpp │ ├── include_path.cpp │ ├── merge.test │ ├── multiple_fixes.cpp │ ├── prefix_variable.cpp │ ├── query_symbol.cpp │ ├── ranking.cpp │ ├── yaml_fuzzy.cpp │ ├── yamldb.cpp │ └── yamldb_autodetect.cpp ├── clang-move │ ├── Inputs │ │ ├── database_template.json │ │ ├── enum.h │ │ ├── function_test.cpp │ │ ├── function_test.h │ │ ├── helper_decls_test.cpp │ │ ├── helper_decls_test.h │ │ ├── macro_helper_test.cpp │ │ ├── macro_helper_test.h │ │ ├── multiple_class_test.cpp │ │ ├── multiple_class_test.h │ │ ├── template_class_test.cpp │ │ ├── template_class_test.h │ │ ├── test.cpp │ │ ├── test.h │ │ ├── type_alias.h │ │ ├── var_test.cpp │ │ └── var_test.h │ ├── move-class.cpp │ ├── move-enum-decl.cpp │ ├── move-function.cpp │ ├── move-multiple-classes.cpp │ ├── move-template-class.cpp │ ├── move-type-alias.cpp │ ├── move-used-helper-decls.cpp │ ├── move-var.cpp │ └── no-move-macro-helpers.cpp ├── clang-query │ ├── Inputs │ │ └── foo.script │ ├── errors.c │ └── function-decl.c ├── clang-reorder-fields │ ├── AggregatePartialInitialization.cpp │ ├── CStructAmbiguousName.cpp │ ├── CStructFieldsOrder.cpp │ ├── ClassDerived.cpp │ ├── ClassDifferentFieldsAccesses.cpp │ ├── ClassMixedInitialization.cpp │ ├── ClassSimpleCtor.cpp │ ├── FieldDependencyWarning.cpp │ ├── FieldDependencyWarningDerived.cpp │ └── PlainCStructFieldsOrder.c ├── clang-tidy │ ├── Inputs │ │ └── bugprone-not-null-terminated-result │ │ │ ├── not-null-terminated-result-c.h │ │ │ └── not-null-terminated-result-cxx.h │ ├── bugprone-not-null-terminated-result-in-initialization-strlen.c │ ├── bugprone-not-null-terminated-result-memcpy-before-safe.c │ ├── bugprone-not-null-terminated-result-memcpy-safe-cxx.cpp │ ├── bugprone-not-null-terminated-result-memcpy-safe-other.c │ ├── bugprone-not-null-terminated-result-memcpy-safe.c │ ├── bugprone-not-null-terminated-result-strlen.c │ ├── bugprone-not-null-terminated-result-wcslen.cpp │ ├── bugprone-not-null-terminated-result-wmemcpy-safe-cxx.cpp │ ├── check_clang_tidy.py │ ├── checkers │ │ ├── Inputs │ │ │ ├── Headers │ │ │ │ ├── a.h │ │ │ │ ├── b.h │ │ │ │ ├── clang-c │ │ │ │ │ └── c.h │ │ │ │ ├── clang │ │ │ │ │ └── b.h │ │ │ │ ├── cross-file-a.h │ │ │ │ ├── cross-file-b.h │ │ │ │ ├── cross-file-c.h │ │ │ │ ├── gtest │ │ │ │ │ └── foo.h │ │ │ │ ├── i.h │ │ │ │ ├── j.h │ │ │ │ ├── llvm-c │ │ │ │ │ └── d.h │ │ │ │ ├── llvm │ │ │ │ │ └── a.h │ │ │ │ ├── s.h │ │ │ │ ├── stdio.h │ │ │ │ └── system-header-simulation.h │ │ │ ├── absl │ │ │ │ ├── external-file.h │ │ │ │ ├── flags │ │ │ │ │ └── internal-file.h │ │ │ │ ├── strings │ │ │ │ │ └── internal-file.h │ │ │ │ └── time │ │ │ │ │ └── time.h │ │ │ ├── fuchsia-restrict-system-includes │ │ │ │ ├── a.h │ │ │ │ ├── system │ │ │ │ │ ├── cstdarg.h │ │ │ │ │ ├── cstdlib.h │ │ │ │ │ ├── j.h │ │ │ │ │ ├── r.h │ │ │ │ │ ├── s.h │ │ │ │ │ ├── t.h │ │ │ │ │ └── transitive.h │ │ │ │ └── transitive2.h │ │ │ ├── google-namespaces.h │ │ │ ├── gtest │ │ │ │ ├── gtest-typed-test.h │ │ │ │ ├── gtest.h │ │ │ │ └── nosuite │ │ │ │ │ └── gtest │ │ │ │ │ ├── gtest-typed-test.h │ │ │ │ │ └── gtest.h │ │ │ ├── modernize-deprecated-headers │ │ │ │ ├── assert.h │ │ │ │ ├── complex.h │ │ │ │ ├── ctype.h │ │ │ │ ├── errno.h │ │ │ │ ├── fenv.h │ │ │ │ ├── float.h │ │ │ │ ├── inttypes.h │ │ │ │ ├── iso646.h │ │ │ │ ├── limits.h │ │ │ │ ├── locale.h │ │ │ │ ├── math.h │ │ │ │ ├── setjmp.h │ │ │ │ ├── signal.h │ │ │ │ ├── stdalign.h │ │ │ │ ├── stdarg.h │ │ │ │ ├── stdbool.h │ │ │ │ ├── stddef.h │ │ │ │ ├── stdint.h │ │ │ │ ├── stdio.h │ │ │ │ ├── stdlib.h │ │ │ │ ├── string.h │ │ │ │ ├── tgmath.h │ │ │ │ ├── time.h │ │ │ │ ├── uchar.h │ │ │ │ ├── wchar.h │ │ │ │ └── wctype.h │ │ │ ├── modernize-loop-convert │ │ │ │ └── structures.h │ │ │ ├── modernize-pass-by-value │ │ │ │ ├── header-with-fix.h │ │ │ │ └── header.h │ │ │ ├── modernize-replace-auto-ptr │ │ │ │ └── memory.h │ │ │ ├── modernize-smart-ptr │ │ │ │ ├── initializer_list.h │ │ │ │ ├── shared_ptr.h │ │ │ │ └── unique_ptr.h │ │ │ ├── modernize-use-auto │ │ │ │ └── containers.h │ │ │ ├── mpi-type-mismatch │ │ │ │ └── mpimock.h │ │ │ ├── performance-unnecessary-value-param │ │ │ │ ├── header-fixed.h │ │ │ │ └── header.h │ │ │ ├── readability-identifier-naming │ │ │ │ ├── system │ │ │ │ │ └── system-header.h │ │ │ │ └── user-header.h │ │ │ └── unused-using-decls.h │ │ ├── abseil-duration-addition.cpp │ │ ├── abseil-duration-comparison.cpp │ │ ├── abseil-duration-conversion-cast.cpp │ │ ├── abseil-duration-division.cpp │ │ ├── abseil-duration-factory-float.cpp │ │ ├── abseil-duration-factory-scale.cpp │ │ ├── abseil-duration-subtraction.cpp │ │ ├── abseil-duration-unnecessary-conversion.cpp │ │ ├── abseil-faster-strsplit-delimiter.cpp │ │ ├── abseil-no-internal-dependencies.cpp │ │ ├── abseil-no-namespace.cpp │ │ ├── abseil-redundant-strcat-calls.cpp │ │ ├── abseil-str-cat-append.cpp │ │ ├── abseil-string-find-startswith.cpp │ │ ├── abseil-time-comparison.cpp │ │ ├── abseil-time-subtraction.cpp │ │ ├── abseil-upgrade-duration-conversions.cpp │ │ ├── android-cloexec-accept.cpp │ │ ├── android-cloexec-accept4.cpp │ │ ├── android-cloexec-creat.cpp │ │ ├── android-cloexec-dup.cpp │ │ ├── android-cloexec-epoll-create.cpp │ │ ├── android-cloexec-epoll-create1.cpp │ │ ├── android-cloexec-fopen.cpp │ │ ├── android-cloexec-inotify-init.cpp │ │ ├── android-cloexec-inotify-init1.cpp │ │ ├── android-cloexec-memfd-create.cpp │ │ ├── android-cloexec-open.cpp │ │ ├── android-cloexec-pipe.cpp │ │ ├── android-cloexec-pipe2.cpp │ │ ├── android-cloexec-socket.cpp │ │ ├── android-comparison-in-temp-failure-retry.c │ │ ├── boost-use-to-string.cpp │ │ ├── bugprone-argument-comment-gmock.cpp │ │ ├── bugprone-argument-comment-ignore-single-argument.cpp │ │ ├── bugprone-argument-comment-literals.cpp │ │ ├── bugprone-argument-comment-strict.cpp │ │ ├── bugprone-argument-comment.cpp │ │ ├── bugprone-assert-side-effect.cpp │ │ ├── bugprone-bool-pointer-implicit-conversion.cpp │ │ ├── bugprone-branch-clone-macro-crash.c │ │ ├── bugprone-branch-clone.cpp │ │ ├── bugprone-copy-constructor-init.cpp │ │ ├── bugprone-dangling-handle.cpp │ │ ├── bugprone-dynamic-static-initializers.hpp │ │ ├── bugprone-exception-escape-openmp.cpp │ │ ├── bugprone-exception-escape.cpp │ │ ├── bugprone-fold-init-type.cpp │ │ ├── bugprone-forward-declaration-namespace.cpp │ │ ├── bugprone-forwarding-reference-overload.cpp │ │ ├── bugprone-inaccurate-erase.cpp │ │ ├── bugprone-incorrect-roundings.cpp │ │ ├── bugprone-infinite-loop.cpp │ │ ├── bugprone-integer-division.cpp │ │ ├── bugprone-lambda-function-name.cpp │ │ ├── bugprone-macro-parentheses-cmdline.cpp │ │ ├── bugprone-macro-parentheses.cpp │ │ ├── bugprone-macro-repeated-side-effects.c │ │ ├── bugprone-misplaced-operator-in-strlen-in-alloc.c │ │ ├── bugprone-misplaced-operator-in-strlen-in-alloc.cpp │ │ ├── bugprone-misplaced-widening-cast-explicit-only.cpp │ │ ├── bugprone-misplaced-widening-cast-implicit-enabled.cpp │ │ ├── bugprone-move-forwarding-reference.cpp │ │ ├── bugprone-multiple-statement-macro.cpp │ │ ├── bugprone-parent-virtual-call.cpp │ │ ├── bugprone-posix-return.cpp │ │ ├── bugprone-sizeof-container.cpp │ │ ├── bugprone-sizeof-expression.cpp │ │ ├── bugprone-string-constructor.cpp │ │ ├── bugprone-string-integer-assignment.cpp │ │ ├── bugprone-string-literal-with-embedded-nul.cpp │ │ ├── bugprone-suspicious-enum-usage-strict.cpp │ │ ├── bugprone-suspicious-enum-usage.cpp │ │ ├── bugprone-suspicious-memset-usage.cpp │ │ ├── bugprone-suspicious-missing-comma.cpp │ │ ├── bugprone-suspicious-semicolon-fail.cpp │ │ ├── bugprone-suspicious-semicolon.cpp │ │ ├── bugprone-suspicious-string-compare.c │ │ ├── bugprone-suspicious-string-compare.cpp │ │ ├── bugprone-swapped-arguments.cpp │ │ ├── bugprone-terminating-continue.cpp │ │ ├── bugprone-throw-keyword-missing.cpp │ │ ├── bugprone-too-small-loop-variable-magniute-bits-upper-limit.cpp │ │ ├── bugprone-too-small-loop-variable.cpp │ │ ├── bugprone-undefined-memory-manipulation.cpp │ │ ├── bugprone-undelegated-constructor-cxx98.cpp │ │ ├── bugprone-undelegated-constructor.cpp │ │ ├── bugprone-unhandled-self-assignment-warn-only-if-this-has-suspicious-field.cpp │ │ ├── bugprone-unhandled-self-assignment.cpp │ │ ├── bugprone-unused-raii.cpp │ │ ├── bugprone-unused-return-value-custom.cpp │ │ ├── bugprone-unused-return-value.cpp │ │ ├── bugprone-use-after-move.cpp │ │ ├── bugprone-virtual-near-miss.cpp │ │ ├── cert-dcl21-cpp.cpp │ │ ├── cert-dcl58-cpp.cpp │ │ ├── cert-env33-c.c │ │ ├── cert-err34-c.c │ │ ├── cert-err34-c.cpp │ │ ├── cert-flp30-c.c │ │ ├── cert-limited-randomness.c │ │ ├── cert-limited-randomness.cpp │ │ ├── cert-msc32-c.c │ │ ├── cert-msc51-cpp.cpp │ │ ├── cert-oop11-cpp.cpp │ │ ├── cert-oop54-cpp.cpp │ │ ├── cert-setlongjmp.cpp │ │ ├── cert-static-object-exception.cpp │ │ ├── cert-throw-exception-type.cpp │ │ ├── cert-uppercase-literal-suffix-integer.cpp │ │ ├── cert-variadic-function-def.cpp │ │ ├── cppcoreguidelines-avoid-goto.cpp │ │ ├── cppcoreguidelines-init-variables.cpp │ │ ├── cppcoreguidelines-interfaces-global-init.cpp │ │ ├── cppcoreguidelines-macro-usage-caps-only.cpp │ │ ├── cppcoreguidelines-macro-usage-command-line-macros.cpp │ │ ├── cppcoreguidelines-macro-usage-custom.cpp │ │ ├── cppcoreguidelines-macro-usage.cpp │ │ ├── cppcoreguidelines-narrowing-conversions-long-is-32bits.cpp │ │ ├── cppcoreguidelines-narrowing-conversions-narrowingfloatingpoint-option.cpp │ │ ├── cppcoreguidelines-narrowing-conversions-pedanticmode-option.cpp │ │ ├── cppcoreguidelines-narrowing-conversions-unsigned-char.cpp │ │ ├── cppcoreguidelines-narrowing-conversions.cpp │ │ ├── cppcoreguidelines-no-malloc-custom.cpp │ │ ├── cppcoreguidelines-no-malloc-no-functions.cpp │ │ ├── cppcoreguidelines-no-malloc.cpp │ │ ├── cppcoreguidelines-owning-memory-containers.cpp │ │ ├── cppcoreguidelines-owning-memory-legacy-functions.cpp │ │ ├── cppcoreguidelines-owning-memory.cpp │ │ ├── cppcoreguidelines-pro-bounds-array-to-pointer-decay.cpp │ │ ├── cppcoreguidelines-pro-bounds-constant-array-index-c++03.cpp │ │ ├── cppcoreguidelines-pro-bounds-constant-array-index-gslheader.cpp │ │ ├── cppcoreguidelines-pro-bounds-constant-array-index.cpp │ │ ├── cppcoreguidelines-pro-bounds-pointer-arithmetic-pr36489.cpp │ │ ├── cppcoreguidelines-pro-bounds-pointer-arithmetic.cpp │ │ ├── cppcoreguidelines-pro-type-const-cast.cpp │ │ ├── cppcoreguidelines-pro-type-cstyle-cast.cpp │ │ ├── cppcoreguidelines-pro-type-member-init-cxx2a.cpp │ │ ├── cppcoreguidelines-pro-type-member-init-cxx98.cpp │ │ ├── cppcoreguidelines-pro-type-member-init-delayed.cpp │ │ ├── cppcoreguidelines-pro-type-member-init-no-crash.cpp │ │ ├── cppcoreguidelines-pro-type-member-init-use-assignment.cpp │ │ ├── cppcoreguidelines-pro-type-member-init.cpp │ │ ├── cppcoreguidelines-pro-type-reinterpret-cast.cpp │ │ ├── cppcoreguidelines-pro-type-static-cast-downcast.cpp │ │ ├── cppcoreguidelines-pro-type-union-access.cpp │ │ ├── cppcoreguidelines-pro-type-vararg.cpp │ │ ├── cppcoreguidelines-slicing.cpp │ │ ├── cppcoreguidelines-special-member-functions-cxx-03.cpp │ │ ├── cppcoreguidelines-special-member-functions-relaxed.cpp │ │ ├── cppcoreguidelines-special-member-functions.cpp │ │ ├── darwin-avoid-spinlock.m │ │ ├── darwin-dispatch-once-nonstatic.mm │ │ ├── fuchsia-default-arguments-calls.cpp │ │ ├── fuchsia-default-arguments-declarations.cpp │ │ ├── fuchsia-multiple-inheritance.cpp │ │ ├── fuchsia-overloaded-operator.cpp │ │ ├── fuchsia-restrict-system-includes-all.cpp │ │ ├── fuchsia-restrict-system-includes-glob.cpp │ │ ├── fuchsia-restrict-system-includes-headers.cpp │ │ ├── fuchsia-restrict-system-includes.cpp │ │ ├── fuchsia-statically-constructed-objects.cpp │ │ ├── fuchsia-trailing-return.cpp │ │ ├── fuchsia-virtual-inheritance.cpp │ │ ├── google-build-explicit-make-pair.cpp │ │ ├── google-default-arguments.cpp │ │ ├── google-explicit-constructor.cpp │ │ ├── google-module.cpp │ │ ├── google-namespaces.cpp │ │ ├── google-objc-avoid-nsobject-new.m │ │ ├── google-objc-avoid-throwing-exception.m │ │ ├── google-objc-function-naming.m │ │ ├── google-objc-function-naming.mm │ │ ├── google-objc-global-variable-declaration.m │ │ ├── google-objc-global-variable-declaration.mm │ │ ├── google-overloaded-unary-and.cpp │ │ ├── google-readability-casting.c │ │ ├── google-readability-casting.cpp │ │ ├── google-readability-casting.mm │ │ ├── google-readability-namespace-comments.cpp │ │ ├── google-readability-nested-namespace-comments.cpp │ │ ├── google-readability-todo.cpp │ │ ├── google-runtime-int-std.cpp │ │ ├── google-runtime-int.c │ │ ├── google-runtime-int.cpp │ │ ├── google-runtime-int.m │ │ ├── google-runtime-references.cpp │ │ ├── google-upgrade-googletest-case.cpp │ │ ├── hicpp-exception-baseclass.cpp │ │ ├── hicpp-multiway-paths-covered-else.cpp │ │ ├── hicpp-multiway-paths-covered.cpp │ │ ├── hicpp-no-assembler-msvc.cpp │ │ ├── hicpp-no-assembler.cpp │ │ ├── hicpp-signed-bitwise-bug34747.cpp │ │ ├── hicpp-signed-bitwise-standard-types.cpp │ │ ├── hicpp-signed-bitwise-standard-types.h │ │ ├── hicpp-signed-bitwise.cpp │ │ ├── linuxkernel-must-check-errs.c │ │ ├── llvm-include-order.cpp │ │ ├── llvm-prefer-isa-or-dyn-cast-in-conditionals.cpp │ │ ├── llvm-prefer-register-over-unsigned.cpp │ │ ├── llvm-prefer-register-over-unsigned2.cpp │ │ ├── llvm-prefer-register-over-unsigned3.cpp │ │ ├── llvm-twine-local.cpp │ │ ├── misc-definitions-in-headers-1z.hpp │ │ ├── misc-definitions-in-headers.hpp │ │ ├── misc-misplaced-const-cxx17.cpp │ │ ├── misc-misplaced-const.c │ │ ├── misc-misplaced-const.cpp │ │ ├── misc-new-delete-overloads-sized-dealloc.cpp │ │ ├── misc-new-delete-overloads.cpp │ │ ├── misc-non-copyable-objects.c │ │ ├── misc-non-copyable-objects.cpp │ │ ├── misc-non-private-member-variables-in-classes.cpp │ │ ├── misc-redundant-expression.cpp │ │ ├── misc-static-assert.c │ │ ├── misc-static-assert.cpp │ │ ├── misc-throw-by-value-catch-by-reference.cpp │ │ ├── misc-unconventional-assign-operator-cxx17.cpp │ │ ├── misc-unconventional-assign-operator.cpp │ │ ├── misc-uniqueptr-reset-release.cpp │ │ ├── misc-unused-alias-decls.cpp │ │ ├── misc-unused-parameters-strict.cpp │ │ ├── misc-unused-parameters.c │ │ ├── misc-unused-parameters.cpp │ │ ├── misc-unused-using-decls-errors.cpp │ │ ├── misc-unused-using-decls.cpp │ │ ├── modernize-avoid-bind.cpp │ │ ├── modernize-avoid-c-arrays-ignores-main.cpp │ │ ├── modernize-avoid-c-arrays-ignores-three-arg-main.cpp │ │ ├── modernize-avoid-c-arrays.cpp │ │ ├── modernize-concat-nested-namespaces.cpp │ │ ├── modernize-deprecated-headers-cxx03.cpp │ │ ├── modernize-deprecated-headers-cxx11.cpp │ │ ├── modernize-deprecated-ios-base-aliases.cpp │ │ ├── modernize-loop-convert-assert-failure.cpp │ │ ├── modernize-loop-convert-basic.cpp │ │ ├── modernize-loop-convert-camelback.cpp │ │ ├── modernize-loop-convert-const.cpp │ │ ├── modernize-loop-convert-extra.cpp │ │ ├── modernize-loop-convert-lowercase.cpp │ │ ├── modernize-loop-convert-negative.cpp │ │ ├── modernize-loop-convert-uppercase.cpp │ │ ├── modernize-loop-convert.c │ │ ├── modernize-make-shared-header.cpp │ │ ├── modernize-make-shared.cpp │ │ ├── modernize-make-unique-cxx11.cpp │ │ ├── modernize-make-unique-header.cpp │ │ ├── modernize-make-unique-inaccessible-ctors.cpp │ │ ├── modernize-make-unique-macros.cpp │ │ ├── modernize-make-unique.cpp │ │ ├── modernize-pass-by-value-header.cpp │ │ ├── modernize-pass-by-value-macro-header.cpp │ │ ├── modernize-pass-by-value-multi-fixes.cpp │ │ ├── modernize-pass-by-value.cpp │ │ ├── modernize-raw-string-literal-delimiter.cpp │ │ ├── modernize-raw-string-literal-replace-shorter.cpp │ │ ├── modernize-raw-string-literal.cpp │ │ ├── modernize-redundant-void-arg-delayed.cpp │ │ ├── modernize-redundant-void-arg.c │ │ ├── modernize-redundant-void-arg.cpp │ │ ├── modernize-replace-auto-ptr.cpp │ │ ├── modernize-replace-random-shuffle.cpp │ │ ├── modernize-return-braced-init-list.cpp │ │ ├── modernize-shrink-to-fit.cpp │ │ ├── modernize-unary-static-assert.cpp │ │ ├── modernize-use-auto-cast-remove-stars.cpp │ │ ├── modernize-use-auto-cast.cpp │ │ ├── modernize-use-auto-iterator.cpp │ │ ├── modernize-use-auto-min-type-name-length.cpp │ │ ├── modernize-use-auto-new-remove-stars.cpp │ │ ├── modernize-use-auto-new.cpp │ │ ├── modernize-use-bool-literals-ignore-macros.cpp │ │ ├── modernize-use-bool-literals.cpp │ │ ├── modernize-use-default-member-init-assignment.cpp │ │ ├── modernize-use-default-member-init-bitfield.cpp │ │ ├── modernize-use-default-member-init-macros.cpp │ │ ├── modernize-use-default-member-init.cpp │ │ ├── modernize-use-emplace-ignore-implicit-constructors.cpp │ │ ├── modernize-use-emplace.cpp │ │ ├── modernize-use-equals-default-copy.cpp │ │ ├── modernize-use-equals-default-delayed.cpp │ │ ├── modernize-use-equals-default-macros.cpp │ │ ├── modernize-use-equals-default.cpp │ │ ├── modernize-use-equals-delete-macros.cpp │ │ ├── modernize-use-equals-delete.cpp │ │ ├── modernize-use-nodiscard-clang-unused.cpp │ │ ├── modernize-use-nodiscard-cxx11.cpp │ │ ├── modernize-use-nodiscard-gcc-unused.cpp │ │ ├── modernize-use-nodiscard-no-macro-inscope-cxx11.cpp │ │ ├── modernize-use-nodiscard-no-macro.cpp │ │ ├── modernize-use-nodiscard.cpp │ │ ├── modernize-use-noexcept-macro.cpp │ │ ├── modernize-use-noexcept-opt.cpp │ │ ├── modernize-use-noexcept.cpp │ │ ├── modernize-use-nullptr-basic.cpp │ │ ├── modernize-use-nullptr.c │ │ ├── modernize-use-nullptr.cpp │ │ ├── modernize-use-override-cxx98.cpp │ │ ├── modernize-use-override-ms.cpp │ │ ├── modernize-use-override-no-destructors.cpp │ │ ├── modernize-use-override-with-macro.cpp │ │ ├── modernize-use-override-with-no-macro-inscope.cpp │ │ ├── modernize-use-override.cpp │ │ ├── modernize-use-trailing-return-type.cpp │ │ ├── modernize-use-transparent-functors.cpp │ │ ├── modernize-use-uncaught-exceptions.cpp │ │ ├── modernize-use-using-macros.cpp │ │ ├── modernize-use-using.cpp │ │ ├── mpi-buffer-deref.cpp │ │ ├── mpi-type-mismatch.cpp │ │ ├── objc-avoid-nserror-init.m │ │ ├── objc-forbidden-subclassing-custom.m │ │ ├── objc-forbidden-subclassing.m │ │ ├── objc-missing-hash.m │ │ ├── objc-property-declaration.m │ │ ├── objc-super-self.m │ │ ├── openmp-exception-escape.cpp │ │ ├── openmp-use-default-none.cpp │ │ ├── performance-faster-string-find.cpp │ │ ├── performance-for-range-copy-allowed-types.cpp │ │ ├── performance-for-range-copy-warn-on-all-auto-copies.cpp │ │ ├── performance-for-range-copy.cpp │ │ ├── performance-implicit-conversion-in-loop.cpp │ │ ├── performance-inefficient-algorithm.cpp │ │ ├── performance-inefficient-string-concatenation.cpp │ │ ├── performance-inefficient-vector-operation.cpp │ │ ├── performance-move-const-arg-trivially-copyable.cpp │ │ ├── performance-move-const-arg.cpp │ │ ├── performance-move-constructor-init.cpp │ │ ├── performance-noexcept-move-constructor-fix.cpp │ │ ├── performance-noexcept-move-constructor.cpp │ │ ├── performance-type-promotion-in-math-fn.cpp │ │ ├── performance-unnecessary-copy-initialization-allowed-types.cpp │ │ ├── performance-unnecessary-copy-initialization.cpp │ │ ├── performance-unnecessary-value-param-allowed-types.cpp │ │ ├── performance-unnecessary-value-param-arc.m │ │ ├── performance-unnecessary-value-param-arc.mm │ │ ├── performance-unnecessary-value-param-delayed.cpp │ │ ├── performance-unnecessary-value-param-header.cpp │ │ ├── performance-unnecessary-value-param-incomplete-type.cpp │ │ ├── performance-unnecessary-value-param.cpp │ │ ├── portability-simd-intrinsics-ppc.cpp │ │ ├── portability-simd-intrinsics-x86.cpp │ │ ├── readability-avoid-const-params-in-decls.cpp │ │ ├── readability-avoid-underscore-in-googletest-name.cpp │ │ ├── readability-braces-around-statements-assert-failure.cpp │ │ ├── readability-braces-around-statements-few-lines.cpp │ │ ├── readability-braces-around-statements-format.cpp │ │ ├── readability-braces-around-statements-same-line.cpp │ │ ├── readability-braces-around-statements-single-line.cpp │ │ ├── readability-braces-around-statements.cpp │ │ ├── readability-const-return-type.cpp │ │ ├── readability-container-size-empty.cpp │ │ ├── readability-convert-member-functions-to-static.cpp │ │ ├── readability-delete-null-pointer.cpp │ │ ├── readability-deleted-default.cpp │ │ ├── readability-else-after-return-if-constexpr.cpp │ │ ├── readability-else-after-return.cpp │ │ ├── readability-function-size-variables-c++17.cpp │ │ ├── readability-function-size.cpp │ │ ├── readability-identifier-naming-bugfix.cpp │ │ ├── readability-identifier-naming-objc.m │ │ ├── readability-identifier-naming.cpp │ │ ├── readability-implicit-bool-conversion-allow-in-conditions.cpp │ │ ├── readability-implicit-bool-conversion-cxx98.cpp │ │ ├── readability-implicit-bool-conversion.cpp │ │ ├── readability-inconsistent-declaration-parameter-name-macros.cpp │ │ ├── readability-inconsistent-declaration-parameter-name-strict.cpp │ │ ├── readability-inconsistent-declaration-parameter-name.cpp │ │ ├── readability-isolate-declaration-cxx17.cpp │ │ ├── readability-isolate-declaration-fixing.cpp │ │ ├── readability-isolate-declaration-no-infinite-loop.cpp │ │ ├── readability-isolate-declaration.c │ │ ├── readability-isolate-declaration.cpp │ │ ├── readability-magic-numbers.cpp │ │ ├── readability-misleading-indentation.cpp │ │ ├── readability-misplaced-array-index.cpp │ │ ├── readability-named-parameter.cpp │ │ ├── readability-non-const-parameter.cpp │ │ ├── readability-redundant-control-flow.cpp │ │ ├── readability-redundant-declaration-ignore-macros.cpp │ │ ├── readability-redundant-declaration.c │ │ ├── readability-redundant-declaration.cpp │ │ ├── readability-redundant-function-ptr-dereference.cpp │ │ ├── readability-redundant-member-init.cpp │ │ ├── readability-redundant-preprocessor-ifdef.cpp │ │ ├── readability-redundant-preprocessor.cpp │ │ ├── readability-redundant-preprocessor.h │ │ ├── readability-redundant-smartptr-get-macros.cpp │ │ ├── readability-redundant-smartptr-get-msvc.cpp │ │ ├── readability-redundant-smartptr-get.cpp │ │ ├── readability-redundant-string-cstr-msvc.cpp │ │ ├── readability-redundant-string-cstr.cpp │ │ ├── readability-redundant-string-init-msvc.cpp │ │ ├── readability-redundant-string-init.cpp │ │ ├── readability-simplify-bool-expr-chained-conditional-assignment.cpp │ │ ├── readability-simplify-bool-expr-chained-conditional-return.cpp │ │ ├── readability-simplify-bool-expr-members.cpp │ │ ├── readability-simplify-bool-expr.cpp │ │ ├── readability-simplify-subscript-expr.cpp │ │ ├── readability-static-accessed-through-instance-nesting-threshold.cpp │ │ ├── readability-static-accessed-through-instance.cpp │ │ ├── readability-static-definition-in-anonymous-namespace.cpp │ │ ├── readability-string-compare.cpp │ │ ├── readability-uniqueptr-delete-release.cpp │ │ ├── readability-uppercase-literal-suffix-float16.cpp │ │ ├── readability-uppercase-literal-suffix-floating-point-opencl-half.cpp │ │ ├── readability-uppercase-literal-suffix-floating-point.cpp │ │ ├── readability-uppercase-literal-suffix-hexadecimal-floating-point.cpp │ │ ├── readability-uppercase-literal-suffix-integer-custom-list.cpp │ │ ├── readability-uppercase-literal-suffix-integer-macro.cpp │ │ ├── readability-uppercase-literal-suffix-integer-ms.cpp │ │ ├── readability-uppercase-literal-suffix-integer.cpp │ │ ├── readability-uppercase-literal-suffix.h │ │ └── zircon-temporary-objects.cpp │ └── infrastructure │ │ ├── Inputs │ │ ├── Headers │ │ │ ├── a.h │ │ │ ├── b.h │ │ │ └── s.h │ │ ├── compilation-database │ │ │ └── template.json │ │ ├── config-files │ │ │ ├── 1 │ │ │ │ └── .clang-tidy │ │ │ └── .clang-tidy │ │ ├── empty-database │ │ │ └── compile_commands.json │ │ ├── expand-modular-headers-ppcallbacks │ │ │ ├── a.h │ │ │ ├── b.h │ │ │ ├── c.h │ │ │ └── module.modulemap │ │ ├── explain-config │ │ │ └── .clang-tidy │ │ ├── file-filter │ │ │ ├── header1.h │ │ │ ├── header2.h │ │ │ └── system │ │ │ │ └── system-header.h │ │ ├── line-filter │ │ │ ├── header1.h │ │ │ ├── header2.h │ │ │ └── header3.h │ │ ├── mock-libcxx │ │ │ ├── bin │ │ │ │ └── clang │ │ │ └── include │ │ │ │ └── c++ │ │ │ │ └── v1 │ │ │ │ └── mock_vector │ │ ├── nolint │ │ │ └── trigger_warning.h │ │ ├── overlapping │ │ │ └── o.h │ │ └── vfsoverlay │ │ │ ├── actual_header.h │ │ │ └── vfsoverlay.yaml │ │ ├── alternative-fixes.cpp │ │ ├── basic.cpp │ │ ├── check_clang_tidy.cpp │ │ ├── clang-tidy-__clang_analyzer__macro.cpp │ │ ├── clang-tidy-diff.cpp │ │ ├── clang-tidy-enable-check-profile-one-tu.cpp │ │ ├── clang-tidy-enable-check-profile-two-tu.cpp │ │ ├── clang-tidy-mac-libcxx.cpp │ │ ├── clang-tidy-run-with-database.cpp │ │ ├── clang-tidy-store-check-profile-one-tu.cpp │ │ ├── clean-up-code.cpp │ │ ├── config-files.cpp │ │ ├── custom-diagnostics.cpp │ │ ├── deduplication.cpp │ │ ├── diagnostic.cpp │ │ ├── duplicate-reports.cpp │ │ ├── empty-database.cpp │ │ ├── enable-alpha-checks.cpp │ │ ├── expand-modular-headers-ppcallbacks.cpp │ │ ├── explain-checks.cpp │ │ ├── export-diagnostics.cpp │ │ ├── export-relpath.cpp │ │ ├── extra-args.cpp │ │ ├── file-filter-symlinks.cpp │ │ ├── file-filter.cpp │ │ ├── fix-errors.cpp │ │ ├── fix.cpp │ │ ├── line-filter.cpp │ │ ├── list-checks.cpp │ │ ├── macros.cpp │ │ ├── nolint-plugin.cpp │ │ ├── nolint.cpp │ │ ├── nolintnextline-plugin.cpp │ │ ├── nolintnextline.cpp │ │ ├── nonstandard-file-extension.test │ │ ├── objc-arc-and-properties.m │ │ ├── objc-no-arc-or-properties.m │ │ ├── overlapping.cpp │ │ ├── pr37091.cpp │ │ ├── read_file_config.cpp │ │ ├── run-clang-tidy.cpp │ │ ├── select-checks.cpp │ │ ├── serialize-diagnostics.cpp │ │ ├── static-analyzer-config.cpp │ │ ├── static-analyzer.cpp │ │ ├── temporaries.cpp │ │ ├── validate-check-names.cpp │ │ ├── vfsoverlay.cpp │ │ ├── warnings-as-errors-diagnostics.cpp │ │ ├── warnings-as-errors-plural.cpp │ │ └── warnings-as-errors.cpp ├── lit.cfg.py ├── lit.site.cfg.py.in ├── modularize │ ├── Inputs │ │ ├── Anonymous.h │ │ ├── CompileError │ │ │ ├── HasError.h │ │ │ ├── Level1A.h │ │ │ └── module.modulemap │ │ ├── CoverageNoProblems │ │ │ ├── Includes1 │ │ │ │ ├── .hidden │ │ │ │ │ └── DontFindMe.h │ │ │ │ └── Level1A.h │ │ │ ├── Includes2 │ │ │ │ └── Level2A.h │ │ │ ├── NonIncludes │ │ │ │ └── Level3A.h │ │ │ └── module.modulemap │ │ ├── CoverageProblems │ │ │ ├── Level1A.h │ │ │ ├── Level1B.h │ │ │ ├── Level2A.h │ │ │ ├── Level2B.h │ │ │ ├── Level3A.h │ │ │ ├── Level3B │ │ │ ├── Sub │ │ │ │ └── Level3B.h │ │ │ ├── UmbrellaFile.h │ │ │ ├── UmbrellaInclude1.h │ │ │ ├── UmbrellaInclude2.h │ │ │ ├── UmbrellaSub │ │ │ │ ├── Umbrell1.h │ │ │ │ └── Umbrell2.h │ │ │ └── module.modulemap │ │ ├── DuplicateHeader1.h │ │ ├── DuplicateHeader2.h │ │ ├── Empty.h │ │ ├── HeaderGuard.h │ │ ├── HeaderGuardSub1.h │ │ ├── HeaderGuardSub2.h │ │ ├── HeaderGuardSubSub.h │ │ ├── HeaderGuardSubSubDefined.h │ │ ├── IncludeInExtern.h │ │ ├── IncludeInNamespace.h │ │ ├── InconsistentHeader1.h │ │ ├── InconsistentHeader2.h │ │ ├── InconsistentSubHeader.h │ │ ├── IsDependent.h │ │ ├── MissingHeader │ │ │ ├── Level1A.h │ │ │ └── module.modulemap │ │ ├── NamespaceClasses.h │ │ ├── NestedMacro.h │ │ ├── NoProblems.modulemap │ │ ├── ProblemsDuplicate.modulemap │ │ ├── SomeDecls.h │ │ ├── SomeOtherTypes.h │ │ ├── SomeTypes.h │ │ ├── SubModule1 │ │ │ ├── Header1.h │ │ │ └── Header2.h │ │ ├── SubModule2 │ │ │ ├── Header3.h │ │ │ └── Header4.h │ │ └── TemplateClasses.h │ ├── NoProblems.modularize │ ├── NoProblemsAnonymous.modularize │ ├── NoProblemsAssistant.modularize │ ├── NoProblemsCoverage.modularize │ ├── NoProblemsDependencies.modularize │ ├── NoProblemsGuard.modularize │ ├── NoProblemsList.modularize │ ├── NoProblemsNamespace.modularize │ ├── NoProblemsNamespaceClasses.modularize │ ├── NoProblemsNestedMacro.modularize │ ├── NoProblemsTemplateClasses.modularize │ ├── ProblemsCompileError.modularize │ ├── ProblemsCoverage.modularize │ ├── ProblemsDisplayLists.modularize │ ├── ProblemsDuplicate.modularize │ ├── ProblemsExternC.modularize │ ├── ProblemsInconsistent.modularize │ ├── ProblemsMissingHeader.modularize │ ├── ProblemsNamespace.modularize │ └── SubModule2.h └── pp-trace │ ├── Inputs │ ├── Level1A.h │ ├── Level1B.h │ ├── Level2A.h │ ├── Level2B.h │ ├── ModularizeList.txt │ └── module.map │ ├── pp-trace-conditional.cpp │ ├── pp-trace-filter.cpp │ ├── pp-trace-ident.cpp │ ├── pp-trace-include.cpp │ ├── pp-trace-macro.cpp │ ├── pp-trace-modules.cpp │ ├── pp-trace-pragma-general.cpp │ ├── pp-trace-pragma-ms.cpp │ └── pp-trace-pragma-opencl.cpp ├── tool-template ├── CMakeLists.txt └── ToolTemplate.cpp └── unittests ├── CMakeLists.txt ├── clang-apply-replacements ├── ApplyReplacementsTest.cpp └── CMakeLists.txt ├── clang-change-namespace ├── CMakeLists.txt └── ChangeNamespaceTests.cpp ├── clang-doc ├── BitcodeTest.cpp ├── CMakeLists.txt ├── ClangDocTest.cpp ├── ClangDocTest.h ├── GeneratorTest.cpp ├── HTMLGeneratorTest.cpp ├── MDGeneratorTest.cpp ├── MergeTest.cpp ├── SerializeTest.cpp └── YAMLGeneratorTest.cpp ├── clang-include-fixer ├── CMakeLists.txt ├── FuzzySymbolIndexTests.cpp ├── IncludeFixerTest.cpp └── find-all-symbols │ ├── CMakeLists.txt │ └── FindAllSymbolsTests.cpp ├── clang-move ├── CMakeLists.txt └── ClangMoveTests.cpp ├── clang-query ├── CMakeLists.txt ├── QueryEngineTest.cpp └── QueryParserTest.cpp ├── clang-tidy ├── CMakeLists.txt ├── ClangTidyDiagnosticConsumerTest.cpp ├── ClangTidyOptionsTest.cpp ├── ClangTidyTest.h ├── GlobListTest.cpp ├── GoogleModuleTest.cpp ├── IncludeInserterTest.cpp ├── LLVMModuleTest.cpp ├── NamespaceAliaserTest.cpp ├── ObjCModuleTest.cpp ├── OverlappingReplacementsTest.cpp ├── ReadabilityModuleTest.cpp ├── TransformerClangTidyCheckTest.cpp └── UsingInserterTest.cpp └── include └── common └── VirtualFileHelper.h /.arcconfig: -------------------------------------------------------------------------------- 1 | { 2 | "repository.callsign" : "CTE", 3 | "conduit_uri" : "https://reviews.llvm.org/" 4 | } 5 | -------------------------------------------------------------------------------- /clang-apply-replacements/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS 2 | Support 3 | ) 4 | 5 | add_clang_library(clangApplyReplacements 6 | lib/Tooling/ApplyReplacements.cpp 7 | 8 | LINK_LIBS 9 | clangAST 10 | clangBasic 11 | clangRewrite 12 | clangToolingCore 13 | clangToolingRefactoring 14 | ) 15 | 16 | include_directories( 17 | ${CMAKE_CURRENT_SOURCE_DIR} 18 | include 19 | ) 20 | add_subdirectory(tool) 21 | -------------------------------------------------------------------------------- /clang-apply-replacements/tool/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS 2 | Support 3 | ) 4 | 5 | add_clang_tool(clang-apply-replacements 6 | ClangApplyReplacementsMain.cpp 7 | ) 8 | clang_target_link_libraries(clang-apply-replacements 9 | PRIVATE 10 | clangBasic 11 | clangFormat 12 | clangRewrite 13 | clangToolingCore 14 | clangToolingRefactoring 15 | ) 16 | target_link_libraries(clang-apply-replacements 17 | PRIVATE 18 | clangApplyReplacements 19 | ) 20 | -------------------------------------------------------------------------------- /clang-change-namespace/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS 2 | support 3 | ) 4 | 5 | add_clang_library(clangChangeNamespace 6 | ChangeNamespace.cpp 7 | 8 | LINK_LIBS 9 | clangAST 10 | clangASTMatchers 11 | clangBasic 12 | clangFormat 13 | clangFrontend 14 | clangLex 15 | clangSerialization 16 | clangTooling 17 | clangToolingCore 18 | ) 19 | 20 | add_subdirectory(tool) 21 | -------------------------------------------------------------------------------- /clang-include-fixer/find-all-symbols/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS 2 | Support 3 | ) 4 | 5 | add_clang_library(findAllSymbols 6 | FindAllSymbols.cpp 7 | FindAllSymbolsAction.cpp 8 | FindAllMacros.cpp 9 | HeaderMapCollector.cpp 10 | PathConfig.cpp 11 | PragmaCommentHandler.cpp 12 | STLPostfixHeaderMap.cpp 13 | SymbolInfo.cpp 14 | 15 | LINK_LIBS 16 | clangAST 17 | clangASTMatchers 18 | clangBasic 19 | clangFrontend 20 | clangLex 21 | clangTooling 22 | ) 23 | 24 | add_subdirectory(tool) 25 | -------------------------------------------------------------------------------- /clang-include-fixer/plugin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_clang_library(clangIncludeFixerPlugin 2 | IncludeFixerPlugin.cpp 3 | 4 | LINK_LIBS 5 | clangAST 6 | clangBasic 7 | clangFrontend 8 | clangIncludeFixer 9 | clangParse 10 | clangSema 11 | clangTooling 12 | ${LLVM_PTHREAD_LIB} 13 | ) 14 | -------------------------------------------------------------------------------- /clang-move/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS 2 | support 3 | ) 4 | 5 | add_clang_library(clangMove 6 | Move.cpp 7 | HelperDeclRefGraph.cpp 8 | 9 | LINK_LIBS 10 | clangAnalysis 11 | clangAST 12 | clangASTMatchers 13 | clangBasic 14 | clangFormat 15 | clangFrontend 16 | clangLex 17 | clangSerialization 18 | clangTooling 19 | clangToolingCore 20 | ) 21 | 22 | add_subdirectory(tool) 23 | -------------------------------------------------------------------------------- /clang-move/tool/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..) 2 | 3 | add_clang_tool(clang-move 4 | ClangMove.cpp 5 | ) 6 | 7 | clang_target_link_libraries(clang-move 8 | PRIVATE 9 | clangAST 10 | clangASTMatchers 11 | clangBasic 12 | clangFormat 13 | clangFrontend 14 | clangRewrite 15 | clangSerialization 16 | clangTooling 17 | clangToolingCore 18 | ) 19 | target_link_libraries(clang-move 20 | PRIVATE 21 | clangMove 22 | ) 23 | -------------------------------------------------------------------------------- /clang-query/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS 2 | lineeditor 3 | support 4 | ) 5 | 6 | add_clang_library(clangQuery 7 | Query.cpp 8 | QueryParser.cpp 9 | 10 | LINK_LIBS 11 | clangAST 12 | clangASTMatchers 13 | clangBasic 14 | clangDynamicASTMatchers 15 | clangFrontend 16 | clangSerialization 17 | ) 18 | 19 | add_subdirectory(tool) 20 | -------------------------------------------------------------------------------- /clang-query/tool/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..) 2 | 3 | add_clang_tool(clang-query 4 | ClangQuery.cpp 5 | ) 6 | clang_target_link_libraries(clang-query 7 | PRIVATE 8 | clangAST 9 | clangASTMatchers 10 | clangBasic 11 | clangDynamicASTMatchers 12 | clangFrontend 13 | clangSerialization 14 | clangTooling 15 | ) 16 | target_link_libraries(clang-query 17 | PRIVATE 18 | clangQuery 19 | ) 20 | -------------------------------------------------------------------------------- /clang-reorder-fields/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS support) 2 | 3 | add_clang_library(clangReorderFields 4 | ReorderFieldsAction.cpp 5 | 6 | LINK_LIBS 7 | clangAST 8 | clangASTMatchers 9 | clangBasic 10 | clangIndex 11 | clangLex 12 | clangSerialization 13 | clangToolingCore 14 | ) 15 | 16 | add_subdirectory(tool) 17 | -------------------------------------------------------------------------------- /clang-reorder-fields/tool/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_clang_tool(clang-reorder-fields 2 | ClangReorderFields.cpp 3 | ) 4 | 5 | clang_target_link_libraries(clang-reorder-fields 6 | PRIVATE 7 | clangBasic 8 | clangFrontend 9 | clangRewrite 10 | clangSerialization 11 | clangTooling 12 | clangToolingCore 13 | ) 14 | target_link_libraries(clang-reorder-fields 15 | PRIVATE 16 | clangReorderFields 17 | ) 18 | -------------------------------------------------------------------------------- /clang-tidy/boost/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS support) 2 | 3 | add_clang_library(clangTidyBoostModule 4 | BoostTidyModule.cpp 5 | UseToStringCheck.cpp 6 | 7 | LINK_LIBS 8 | clangAST 9 | clangASTMatchers 10 | clangBasic 11 | clangLex 12 | clangTidy 13 | clangTidyUtils 14 | ) 15 | -------------------------------------------------------------------------------- /clang-tidy/darwin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS support) 2 | 3 | add_clang_library(clangTidyDarwinModule 4 | AvoidSpinlockCheck.cpp 5 | DarwinTidyModule.cpp 6 | DispatchOnceNonstaticCheck.cpp 7 | 8 | LINK_LIBS 9 | clangAnalysis 10 | clangAST 11 | clangASTMatchers 12 | clangBasic 13 | clangLex 14 | clangTidy 15 | clangTidyUtils 16 | ) 17 | -------------------------------------------------------------------------------- /clang-tidy/hicpp/LICENSE.TXT: -------------------------------------------------------------------------------- 1 | ------------------------------------------------------------------------------ 2 | clang-tidy High-Integrity C++ Files 3 | ------------------------------------------------------------------------------ 4 | All clang-tidy files are licensed under the same terms as the rest of the LLVM 5 | project with the following additions: 6 | 7 | Any file referencing a High-Integrity C++ Coding guideline: 8 | 9 | HIC++ Coding Standard as created by PRQA. 10 | 11 | Please see http://www.codingstandard.com/section/conditions-of-use/ for more 12 | information. 13 | -------------------------------------------------------------------------------- /clang-tidy/linuxkernel/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS support) 2 | 3 | add_clang_library(clangTidyLinuxKernelModule 4 | LinuxKernelTidyModule.cpp 5 | MustCheckErrsCheck.cpp 6 | 7 | LINK_LIBS 8 | clangAST 9 | clangASTMatchers 10 | clangBasic 11 | clangLex 12 | clangTidy 13 | clangTidyUtils 14 | ) 15 | -------------------------------------------------------------------------------- /clang-tidy/llvm/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS support) 2 | 3 | add_clang_library(clangTidyLLVMModule 4 | HeaderGuardCheck.cpp 5 | IncludeOrderCheck.cpp 6 | LLVMTidyModule.cpp 7 | PreferIsaOrDynCastInConditionalsCheck.cpp 8 | PreferRegisterOverUnsignedCheck.cpp 9 | TwineLocalCheck.cpp 10 | 11 | LINK_LIBS 12 | clangAST 13 | clangASTMatchers 14 | clangBasic 15 | clangLex 16 | clangTidy 17 | clangTidyReadabilityModule 18 | clangTidyUtils 19 | clangTooling 20 | ) 21 | -------------------------------------------------------------------------------- /clang-tidy/mpi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS support) 2 | 3 | add_clang_library(clangTidyMPIModule 4 | BufferDerefCheck.cpp 5 | MPITidyModule.cpp 6 | TypeMismatchCheck.cpp 7 | 8 | LINK_LIBS 9 | clangAnalysis 10 | clangAST 11 | clangASTMatchers 12 | clangBasic 13 | clangLex 14 | clangTidy 15 | clangTidyUtils 16 | clangTooling 17 | clangStaticAnalyzerCheckers 18 | ) 19 | -------------------------------------------------------------------------------- /clang-tidy/objc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS support) 2 | 3 | add_clang_library(clangTidyObjCModule 4 | AvoidNSErrorInitCheck.cpp 5 | ForbiddenSubclassingCheck.cpp 6 | MissingHashCheck.cpp 7 | ObjCTidyModule.cpp 8 | PropertyDeclarationCheck.cpp 9 | SuperSelfCheck.cpp 10 | 11 | LINK_LIBS 12 | clangAST 13 | clangASTMatchers 14 | clangBasic 15 | clangLex 16 | clangTidy 17 | clangTidyUtils 18 | ) 19 | -------------------------------------------------------------------------------- /clang-tidy/openmp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS support) 2 | 3 | add_clang_library(clangTidyOpenMPModule 4 | ExceptionEscapeCheck.cpp 5 | OpenMPTidyModule.cpp 6 | UseDefaultNoneCheck.cpp 7 | 8 | LINK_LIBS 9 | clangAST 10 | clangASTMatchers 11 | clangBasic 12 | clangTidy 13 | clangTidyUtils 14 | ) 15 | -------------------------------------------------------------------------------- /clang-tidy/plugin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_clang_library(clangTidyPlugin 2 | ClangTidyPlugin.cpp 3 | 4 | LINK_LIBS 5 | clangAST 6 | clangASTMatchers 7 | clangBasic 8 | clangFrontend 9 | clangSema 10 | clangTidy 11 | clangTooling 12 | ${ALL_CLANG_TIDY_CHECKS} 13 | ) 14 | -------------------------------------------------------------------------------- /clang-tidy/portability/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS support) 2 | 3 | add_clang_library(clangTidyPortabilityModule 4 | PortabilityTidyModule.cpp 5 | SIMDIntrinsicsCheck.cpp 6 | 7 | LINK_LIBS 8 | clangAST 9 | clangASTMatchers 10 | clangBasic 11 | clangLex 12 | clangTidy 13 | clangTidyUtils 14 | clangTooling 15 | ) 16 | -------------------------------------------------------------------------------- /clang-tidy/zircon/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS support) 2 | 3 | add_clang_library(clangTidyZirconModule 4 | TemporaryObjectsCheck.cpp 5 | ZirconTidyModule.cpp 6 | 7 | LINK_LIBS 8 | clangAST 9 | clangASTMatchers 10 | clangBasic 11 | clangLex 12 | clangTidy 13 | clangTidyUtils 14 | ) 15 | -------------------------------------------------------------------------------- /clangd/Features.inc.in: -------------------------------------------------------------------------------- 1 | #define CLANGD_BUILD_XPC @CLANGD_BUILD_XPC@ 2 | -------------------------------------------------------------------------------- /clangd/benchmarks/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../) 2 | 3 | add_benchmark(IndexBenchmark IndexBenchmark.cpp) 4 | 5 | target_link_libraries(IndexBenchmark 6 | PRIVATE 7 | clangDaemon 8 | LLVMSupport 9 | ) 10 | -------------------------------------------------------------------------------- /clangd/clients/clangd-vscode/.gitignore: -------------------------------------------------------------------------------- 1 | out 2 | node_modules 3 | .vscode-test 4 | -------------------------------------------------------------------------------- /clangd/clients/clangd-vscode/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | // Place your settings in this file to overwrite default and user settings. 2 | { 3 | "files.exclude": { 4 | "out": false // set this to true to hide the "out" folder with the compiled JS files 5 | }, 6 | "search.exclude": { 7 | "out": true // set this to false to include "out" folder in search results 8 | } 9 | } -------------------------------------------------------------------------------- /clangd/clients/clangd-vscode/.vscodeignore: -------------------------------------------------------------------------------- 1 | .vscode/** 2 | .vscode-test/** 3 | out/test/** 4 | test/** 5 | src/** 6 | **/*.map 7 | .gitignore 8 | tsconfig.json 9 | vsc-extension-quickstart.md 10 | -------------------------------------------------------------------------------- /clangd/clients/clangd-vscode/doc-assets/complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/clangd/clients/clangd-vscode/doc-assets/complete.png -------------------------------------------------------------------------------- /clangd/clients/clangd-vscode/doc-assets/diagnostics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/clangd/clients/clangd-vscode/doc-assets/diagnostics.png -------------------------------------------------------------------------------- /clangd/clients/clangd-vscode/doc-assets/extract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/clangd/clients/clangd-vscode/doc-assets/extract.png -------------------------------------------------------------------------------- /clangd/clients/clangd-vscode/doc-assets/format.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/clangd/clients/clangd-vscode/doc-assets/format.png -------------------------------------------------------------------------------- /clangd/clients/clangd-vscode/doc-assets/include.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/clangd/clients/clangd-vscode/doc-assets/include.png -------------------------------------------------------------------------------- /clangd/clients/clangd-vscode/doc-assets/symbolsearch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/clangd/clients/clangd-vscode/doc-assets/symbolsearch.png -------------------------------------------------------------------------------- /clangd/clients/clangd-vscode/doc-assets/xrefs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/clangd/clients/clangd-vscode/doc-assets/xrefs.png -------------------------------------------------------------------------------- /clangd/clients/clangd-vscode/test/assets/simpleTheme.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | // Some comment 3 | "tokenColors": [ 4 | { 5 | "scope": "a", 6 | "settings": { 7 | "foreground": "#ff0000" 8 | } 9 | }, 10 | { 11 | "scope": "c", 12 | "settings": { 13 | "foreground": "#bcd" 14 | } 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /clangd/clients/clangd-vscode/test/extension.test.ts: -------------------------------------------------------------------------------- 1 | /** The module 'assert' provides assertion methods from node */ 2 | import * as assert from 'assert'; 3 | 4 | import * as vscode from 'vscode'; 5 | import * as myExtension from '../src/extension'; 6 | 7 | // TODO: add tests 8 | suite("Extension Tests", () => { 9 | // Defines a Mocha unit test 10 | test("Something 1", () => { 11 | assert.equal(-1, [ 1, 2, 3 ].indexOf(5)); 12 | assert.equal(-1, [ 1, 2, 3 ].indexOf(0)); 13 | }); 14 | }); -------------------------------------------------------------------------------- /clangd/index/dex/dexp/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../) 2 | 3 | set(LLVM_LINK_COMPONENTS 4 | LineEditor 5 | Support 6 | ) 7 | 8 | add_clang_executable(dexp 9 | Dexp.cpp 10 | ) 11 | 12 | clang_target_link_libraries(dexp 13 | PRIVATE 14 | clangBasic 15 | ) 16 | target_link_libraries(dexp 17 | PRIVATE 18 | clangDaemon 19 | ) 20 | -------------------------------------------------------------------------------- /clangd/indexer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../) 2 | 3 | set(LLVM_LINK_COMPONENTS 4 | Support 5 | ) 6 | 7 | add_clang_executable(clangd-indexer 8 | IndexerMain.cpp 9 | ) 10 | 11 | clang_target_link_libraries(clangd-indexer 12 | PRIVATE 13 | clangAST 14 | clangBasic 15 | clangFrontend 16 | clangIndex 17 | clangLex 18 | clangTooling 19 | ) 20 | target_link_libraries(clangd-indexer 21 | PRIVATE 22 | clangDaemon 23 | ) 24 | -------------------------------------------------------------------------------- /clangd/test/Inputs/BenchmarkHeader.h: -------------------------------------------------------------------------------- 1 | namespace clang { 2 | namespace clangd { 3 | namespace dex { 4 | class Dex; 5 | } // namespace dex 6 | } // namespace clangd 7 | } // namespace clang 8 | 9 | namespace llvm { 10 | namespace sys { 11 | 12 | int getHostNumPhysicalCores(); 13 | 14 | } // namespace sys 15 | } // namespace llvm 16 | 17 | namespace { 18 | int Variable; 19 | } // namespace 20 | -------------------------------------------------------------------------------- /clangd/test/Inputs/BenchmarkSource.cpp: -------------------------------------------------------------------------------- 1 | #include "BenchmarkHeader.h" 2 | -------------------------------------------------------------------------------- /clangd/test/Inputs/background-index/compile_commands.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "directory": "DIRECTORY", 3 | "command": "clang foo.cpp", 4 | "file": "DIRECTORY/foo.cpp" 5 | }] 6 | -------------------------------------------------------------------------------- /clangd/test/Inputs/background-index/foo.cpp: -------------------------------------------------------------------------------- 1 | #include "sub_dir/foo.h" 2 | int foo() { return 42; } 3 | -------------------------------------------------------------------------------- /clangd/test/Inputs/background-index/sub_dir/compile_flags.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/clangd/test/Inputs/background-index/sub_dir/compile_flags.txt -------------------------------------------------------------------------------- /clangd/test/Inputs/background-index/sub_dir/foo.h: -------------------------------------------------------------------------------- 1 | #ifndef FOO_H 2 | #define FOO_H 3 | int foo(); 4 | #endif 5 | -------------------------------------------------------------------------------- /clangd/test/Inputs/symbols.test.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | !Symbol 3 | ID: 057557CEBF6E6B2D 4 | Name: 'vector' 5 | Scope: 'std::' 6 | SymInfo: 7 | Kind: Class 8 | Lang: Cpp 9 | CanonicalDeclaration: 10 | FileURI: 'test:///vector.h' 11 | Start: 12 | Line: 215 13 | Column: 10 14 | End: 15 | Line: 215 16 | Column: 16 17 | ... 18 | -------------------------------------------------------------------------------- /clangd/test/delimited-input-comment-at-the-end.test: -------------------------------------------------------------------------------- 1 | # RUN: clangd -input-style=delimited -sync -input-mirror-file %t < %s 2 | # RUN: grep '{"jsonrpc":"2.0","id":3,"method":"exit"}' %t 3 | # 4 | # RUN: clangd -lit-test -input-mirror-file %t < %s 5 | # RUN: grep '{"jsonrpc":"2.0","id":3,"method":"exit"}' %t 6 | # 7 | {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"clangd","capabilities":{},"trace":"off"}} 8 | --- 9 | {"jsonrpc":"2.0","id":3,"method":"shutdown"} 10 | --- 11 | {"jsonrpc":"2.0","method":"exit"} 12 | -------------------------------------------------------------------------------- /clangd/test/exit-with-shutdown.test: -------------------------------------------------------------------------------- 1 | # RUN: clangd -lit-test < %s 2 | {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"clangd","capabilities":{},"trace":"off"}} 3 | --- 4 | {"jsonrpc":"2.0","id":3,"method":"shutdown"} 5 | --- 6 | {"jsonrpc":"2.0","method":"exit"} 7 | -------------------------------------------------------------------------------- /clangd/test/exit-without-shutdown.test: -------------------------------------------------------------------------------- 1 | # RUN: not clangd -lit-test < %s 2 | {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"clangd","capabilities":{},"trace":"off"}} 3 | --- 4 | {"jsonrpc":"2.0","method":"exit"} 5 | -------------------------------------------------------------------------------- /clangd/test/initialize-params-invalid.test: -------------------------------------------------------------------------------- 1 | # RUN: clangd -lit-test < %s | FileCheck -strict-whitespace %s 2 | # Test with invalid initialize request parameters 3 | {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":"","rootUri":"test:///workspace","capabilities":{},"trace":"off"}} 4 | # CHECK: "id": 0, 5 | # CHECK-NEXT: "jsonrpc": "2.0", 6 | # CHECK-NEXT: "result": { 7 | # CHECK-NEXT: "capabilities": { 8 | # ... 9 | --- 10 | {"jsonrpc":"2.0","id":3,"method":"shutdown"} 11 | --- 12 | {"jsonrpc":"2.0","method":"exit"} 13 | -------------------------------------------------------------------------------- /clangd/test/lit.local.cfg: -------------------------------------------------------------------------------- 1 | import re 2 | # We rely on the default -std being derived from the filetype. 3 | # PS4 sets a different -std, and many tests break. 4 | # FIXME: make our tests less brittle instead. 5 | if re.match(r'.*-scei-ps4', config.target_triple): 6 | config.unsupported = True 7 | -------------------------------------------------------------------------------- /clangd/test/log.test: -------------------------------------------------------------------------------- 1 | # RUN: env CLANGD_FLAGS=-index-file=no-such-index not clangd -lit-test &1 >/dev/null | FileCheck %s 2 | CHECK: I[{{.*}}] clangd version {{.*}} 3 | CHECK: Working directory: {{.*}} 4 | CHECK: argv[0]: clangd 5 | CHECK: argv[1]: -lit-test 6 | CHECK: CLANGD_FLAGS: -index-file=no-such-index 7 | CHECK: E[{{.*}}] Can't open no-such-index 8 | CHECK: Starting LSP over stdin/stdout 9 | 10 | -------------------------------------------------------------------------------- /clangd/test/spaces-in-delimited-input.test: -------------------------------------------------------------------------------- 1 | # RUN: clangd -input-style=delimited -sync < %s 2>&1 | FileCheck %s 2 | # RUN: clangd -lit-test -sync < %s 2>&1 | FileCheck %s 3 | # 4 | {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"clangd","capabilities":{},"trace":"off"}} 5 | 6 | --- 7 | 8 | {"jsonrpc":"2.0","id":3,"method":"shutdown"} 9 | 10 | --- 11 | 12 | {"jsonrpc":"2.0","method":"exit"} 13 | # CHECK-NOT: JSON parse error 14 | -------------------------------------------------------------------------------- /clangd/test/too_large.test: -------------------------------------------------------------------------------- 1 | # RUN: not clangd -sync < %s 2>&1 | FileCheck -check-prefix=STDERR %s 2 | # vim: fileformat=dos 3 | # It is absolutely vital that this file has CRLF line endings. 4 | # 5 | Content-Length: 2147483648 6 | 7 | # STDERR: Refusing to read message 8 | -------------------------------------------------------------------------------- /clangd/test/xpc/initialize.test: -------------------------------------------------------------------------------- 1 | # RUN: clangd-xpc-test-client < %s | FileCheck %s 2 | # REQUIRES: clangd-xpc-support 3 | 4 | {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootUri":"test:///workspace","capabilities":{},"trace":"off"}} 5 | # CHECK: {"id":0,"jsonrpc":"2.0","result":{"capabilities" 6 | 7 | {"jsonrpc":"2.0","id":3,"method":"shutdown"} 8 | # CHECK: {"id":3,"jsonrpc":"2.0","result":null} 9 | 10 | {"jsonrpc":"2.0","method":"exit"} 11 | -------------------------------------------------------------------------------- /clangd/unittests/TestScheme.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/clangd/unittests/TestScheme.h -------------------------------------------------------------------------------- /clangd/unittests/lit.site.cfg.py.in: -------------------------------------------------------------------------------- 1 | @LIT_SITE_CFG_IN_HEADER@ 2 | # This is a shim to run the gtest unittests in ../unittests using lit. 3 | 4 | config.llvm_libs_dir = "@LLVM_LIBS_DIR@" 5 | config.shlibdir = "@SHLIBDIR@" 6 | 7 | config.clangd_source_dir = "@CMAKE_CURRENT_SOURCE_DIR@/.." 8 | config.clangd_binary_dir = "@CMAKE_CURRENT_BINARY_DIR@/.." 9 | 10 | # Delegate logic to lit.cfg.py. 11 | lit_config.load_config(config, "@CMAKE_CURRENT_SOURCE_DIR@/lit.cfg.py") 12 | -------------------------------------------------------------------------------- /clangd/unittests/xpc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS 2 | support 3 | ) 4 | 5 | get_filename_component(CLANGD_SOURCE_DIR 6 | ${CMAKE_CURRENT_SOURCE_DIR}/../../clangd REALPATH) 7 | include_directories( 8 | ${CLANGD_SOURCE_DIR} 9 | ) 10 | 11 | add_custom_target(ClangdXpcUnitTests) 12 | add_unittest(ClangdXpcUnitTests ClangdXpcTests 13 | ConversionTests.cpp 14 | ) 15 | 16 | target_link_libraries(ClangdXpcTests 17 | PRIVATE 18 | clangdXpcJsonConversions 19 | clangDaemon 20 | LLVMSupport 21 | LLVMTestingSupport 22 | ) 23 | -------------------------------------------------------------------------------- /clangd/xpc/README.txt: -------------------------------------------------------------------------------- 1 | This directory contains: 2 | - the XPC transport layer (alternative transport layer to JSON-RPC) 3 | - XPC framework wrapper that wraps around Clangd to make it a valid XPC service 4 | - XPC test-client 5 | 6 | MacOS only. Feature is guarded by CLANGD_BUILD_XPC, including whole xpc/ dir. -------------------------------------------------------------------------------- /clangd/xpc/framework/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | set(SOURCES 3 | ClangdXPC.cpp 4 | ) 5 | add_clang_library(ClangdXPCLib SHARED 6 | ${SOURCES} 7 | DEPENDS 8 | clangd 9 | ) 10 | create_clangd_xpc_framework(ClangdXPCLib "ClangdXPC") 11 | -------------------------------------------------------------------------------- /docs/README.txt: -------------------------------------------------------------------------------- 1 | ---------------------------------- 2 | Documentation in clang-tools-extra 3 | ---------------------------------- 4 | 5 | To generate documentation in HTML format from files in clang-tools-extra/docs, 6 | build the docs-clang-tools-html target. 7 | 8 | To generate documentation from the source code using Doxygen, build the 9 | doxygen-clang-tools target. 10 | 11 | -------------------------------------------------------------------------------- /docs/_templates/layout.html: -------------------------------------------------------------------------------- 1 | {% extends "!layout.html" %} 2 | 3 | {% set css_files = css_files + ['_static/clang-tools-extra-styles.css'] %} 4 | -------------------------------------------------------------------------------- /docs/clang-modernize.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | All :program:`clang-modernize` transforms have moved to :doc:`clang-tidy/index` 4 | (see the ``modernize`` module). 5 | -------------------------------------------------------------------------------- /docs/clang-tidy.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. meta:: 4 | :http-equiv=refresh: 0;URL='clang-tidy/' 5 | 6 | clang-tidy documentation has moved here: https://clang.llvm.org/extra/clang-tidy/ 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/android-cloexec-accept.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - android-cloexec-accept 2 | 3 | android-cloexec-accept 4 | ====================== 5 | 6 | The usage of ``accept()`` is not recommended, it's better to use ``accept4()``. 7 | Without this flag, an opened sensitive file descriptor would remain open across 8 | a fork+exec to a lower-privileged SELinux domain. 9 | 10 | Examples: 11 | 12 | .. code-block:: c++ 13 | 14 | accept(sockfd, addr, addrlen); 15 | 16 | // becomes 17 | 18 | accept4(sockfd, addr, addrlen, SOCK_CLOEXEC); 19 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/android-cloexec-creat.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - android-cloexec-creat 2 | 3 | android-cloexec-creat 4 | ===================== 5 | 6 | The usage of ``creat()`` is not recommended, it's better to use ``open()``. 7 | 8 | Examples: 9 | 10 | .. code-block:: c++ 11 | 12 | int fd = creat(path, mode); 13 | 14 | // becomes 15 | 16 | int fd = open(path, O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, mode); 17 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/android-cloexec-dup.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - android-cloexec-dup 2 | 3 | android-cloexec-dup 4 | =================== 5 | 6 | The usage of ``dup()`` is not recommended, it's better to use ``fcntl()``, 7 | which can set the close-on-exec flag. Otherwise, an opened sensitive file would 8 | remain open across a fork+exec to a lower-privileged SELinux domain. 9 | 10 | Examples: 11 | 12 | .. code-block:: c++ 13 | 14 | int fd = dup(oldfd); 15 | 16 | // becomes 17 | 18 | int fd = fcntl(oldfd, F_DUPFD_CLOEXEC); 19 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/android-cloexec-epoll-create.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - android-cloexec-epoll-create 2 | 3 | android-cloexec-epoll-create 4 | ============================ 5 | 6 | The usage of ``epoll_create()`` is not recommended, it's better to use 7 | ``epoll_create1()``, which allows close-on-exec. 8 | 9 | Examples: 10 | 11 | .. code-block:: c++ 12 | 13 | epoll_create(size); 14 | 15 | // becomes 16 | 17 | epoll_create1(EPOLL_CLOEXEC); 18 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/android-cloexec-epoll-create1.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - android-cloexec-epoll-create1 2 | 3 | android-cloexec-epoll-create1 4 | ============================= 5 | 6 | ``epoll_create1()`` should include ``EPOLL_CLOEXEC`` in its type argument to 7 | avoid the file descriptor leakage. Without this flag, an opened sensitive file 8 | would remain open across a fork+exec to a lower-privileged SELinux domain. 9 | 10 | Examples: 11 | 12 | .. code-block:: c++ 13 | 14 | epoll_create1(0); 15 | 16 | // becomes 17 | 18 | epoll_create1(EPOLL_CLOEXEC); 19 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/android-cloexec-fopen.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - android-cloexec-fopen 2 | 3 | android-cloexec-fopen 4 | ===================== 5 | 6 | ``fopen()`` should include ``e`` in their mode string; so ``re`` would be 7 | valid. This is equivalent to having set ``FD_CLOEXEC on`` that descriptor. 8 | 9 | Examples: 10 | 11 | .. code-block:: c++ 12 | 13 | fopen("fn", "r"); 14 | 15 | // becomes 16 | 17 | fopen("fn", "re"); 18 | 19 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/android-cloexec-inotify-init.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - android-cloexec-inotify-init 2 | 3 | android-cloexec-inotify-init 4 | ============================ 5 | 6 | The usage of ``inotify_init()`` is not recommended, it's better to use 7 | ``inotify_init1()``. 8 | 9 | Examples: 10 | 11 | .. code-block:: c++ 12 | 13 | inotify_init(); 14 | 15 | // becomes 16 | 17 | inotify_init1(IN_CLOEXEC); 18 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/android-cloexec-inotify-init1.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - android-cloexec-inotify-init1 2 | 3 | android-cloexec-inotify-init1 4 | ============================= 5 | 6 | ``inotify_init1()`` should include ``IN_CLOEXEC`` in its type argument to avoid the 7 | file descriptor leakage. Without this flag, an opened sensitive file would 8 | remain open across a fork+exec to a lower-privileged SELinux domain. 9 | 10 | Examples: 11 | 12 | .. code-block:: c++ 13 | 14 | inotify_init1(IN_NONBLOCK); 15 | 16 | // becomes 17 | 18 | inotify_init1(IN_NONBLOCK | IN_CLOEXEC); 19 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/android-cloexec-socket.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - android-cloexec-socket 2 | 3 | android-cloexec-socket 4 | ====================== 5 | 6 | ``socket()`` should include ``SOCK_CLOEXEC`` in its type argument to avoid the 7 | file descriptor leakage. Without this flag, an opened sensitive file would 8 | remain open across a fork+exec to a lower-privileged SELinux domain. 9 | 10 | Examples: 11 | 12 | .. code-block:: c++ 13 | 14 | socket(domain, type, SOCK_STREAM); 15 | 16 | // becomes 17 | 18 | socket(domain, type, SOCK_STREAM | SOCK_CLOEXEC); 19 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/bugprone-bool-pointer-implicit-conversion.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - bugprone-bool-pointer-implicit-conversion 2 | 3 | bugprone-bool-pointer-implicit-conversion 4 | ========================================= 5 | 6 | Checks for conditions based on implicit conversion from a ``bool`` pointer to 7 | ``bool``. 8 | 9 | Example: 10 | 11 | .. code-block:: c++ 12 | 13 | bool *p; 14 | if (p) { 15 | // Never used in a pointer-specific way. 16 | } 17 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/bugprone-macro-repeated-side-effects.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - bugprone-macro-repeated-side-effects 2 | 3 | bugprone-macro-repeated-side-effects 4 | ==================================== 5 | 6 | 7 | Checks for repeated argument with side effects in macros. 8 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/bugprone-swapped-arguments.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - bugprone-swapped-arguments 2 | 3 | bugprone-swapped-arguments 4 | ========================== 5 | 6 | Finds potentially swapped arguments by looking at implicit conversions. 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/bugprone-terminating-continue.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - bugprone-terminating-continue 2 | 3 | bugprone-terminating-continue 4 | ============================= 5 | 6 | Detects `do while` loops with a condition always evaluating to false that 7 | have a `continue` statement, as this `continue` terminates the loop 8 | effectively. 9 | 10 | .. code-block:: c++ 11 | 12 | void f() { 13 | do { 14 | // some code 15 | continue; // terminating continue 16 | // some other code 17 | } while(false); 18 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/bugprone-undefined-memory-manipulation.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - bugprone-undefined-memory-manipulation 2 | 3 | bugprone-undefined-memory-manipulation 4 | ====================================== 5 | 6 | Finds calls of memory manipulation functions ``memset()``, ``memcpy()`` and 7 | ``memmove()`` on not TriviallyCopyable objects resulting in undefined behavior. 8 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/bugprone-undelegated-constructor.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - bugprone-undelegated-constructor 2 | 3 | bugprone-undelegated-constructor 4 | ================================ 5 | 6 | Finds creation of temporary objects in constructors that look like a 7 | function call to another constructor of the same class. 8 | 9 | The user most likely meant to use a delegating constructor or base class 10 | initializer. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cert-dcl03-c.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cert-dcl03-c 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=misc-static-assert.html 4 | 5 | cert-dcl03-c 6 | ============ 7 | 8 | The cert-dcl03-c check is an alias, please see 9 | `misc-static-assert `_ for more information. 10 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cert-dcl16-c.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cert-dcl16-c 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=readability-uppercase-literal-suffix.html 4 | 5 | cert-dcl16-c 6 | ============ 7 | 8 | The cert-dcl16-c check is an alias, please see 9 | `readability-uppercase-literal-suffix `_ for more information. 10 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cert-dcl50-cpp.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cert-dcl50-cpp 2 | 3 | cert-dcl50-cpp 4 | ============== 5 | 6 | This check flags all function definitions (but not declarations) of C-style 7 | variadic functions. 8 | 9 | This check corresponds to the CERT C++ Coding Standard rule 10 | `DCL50-CPP. Do not define a C-style variadic function 11 | `_. 12 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cert-dcl54-cpp.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cert-dcl54-cpp 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=misc-new-delete-overloads.html 4 | 5 | cert-dcl54-cpp 6 | ============== 7 | 8 | The cert-dcl54-cpp check is an alias, please see 9 | `misc-new-delete-overloads `_ for more 10 | information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cert-dcl59-cpp.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cert-dcl59-cpp 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=google-build-namespaces.html 4 | 5 | cert-dcl59-cpp 6 | ============== 7 | 8 | The cert-dcl59-cpp check is an alias, please see 9 | `google-build-namespaces `_ for more information. 10 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cert-err52-cpp.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cert-err52-cpp 2 | 3 | cert-err52-cpp 4 | ============== 5 | 6 | This check flags all call expressions involving ``setjmp()`` and ``longjmp()``. 7 | 8 | This check corresponds to the CERT C++ Coding Standard rule 9 | `ERR52-CPP. Do not use setjmp() or longjmp() 10 | `_. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cert-err58-cpp.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cert-err58-cpp 2 | 3 | cert-err58-cpp 4 | ============== 5 | 6 | This check flags all ``static`` or ``thread_local`` variable declarations where 7 | the initializer for the object may throw an exception. 8 | 9 | This check corresponds to the CERT C++ Coding Standard rule 10 | `ERR58-CPP. Handle all exceptions thrown before main() begins executing 11 | `_. 12 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cert-err60-cpp.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cert-err60-cpp 2 | 3 | cert-err60-cpp 4 | ============== 5 | 6 | This check flags all throw expressions where the exception object is not nothrow 7 | copy constructible. 8 | 9 | This check corresponds to the CERT C++ Coding Standard rule 10 | `ERR60-CPP. Exception objects must be nothrow copy constructible 11 | `_. 12 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cert-err61-cpp.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cert-err61-cpp 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=misc-throw-by-value-catch-by-reference.html 4 | 5 | cert-err61-cpp 6 | ============== 7 | 8 | The cert-err61-cpp check is an alias, please see 9 | `misc-throw-by-value-catch-by-reference `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cert-fio38-c.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cert-fio38-c 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=misc-non-copyable-objects.html 4 | 5 | cert-fio38-c 6 | ============ 7 | 8 | The cert-fio38-c check is an alias, please see 9 | `misc-non-copyable-objects `_ for more 10 | information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cert-flp30-c.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cert-flp30-c 2 | 3 | cert-flp30-c 4 | ============ 5 | 6 | This check flags ``for`` loops where the induction expression has a 7 | floating-point type. 8 | 9 | This check corresponds to the CERT C Coding Standard rule 10 | `FLP30-C. Do not use floating-point variables as loop counters 11 | `_. 12 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cert-msc30-c.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cert-msc30-c 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=cert-msc50-cpp.html 4 | 5 | cert-msc30-c 6 | ============ 7 | 8 | The cert-msc30-c check is an alias, please see 9 | `cert-msc50-cpp `_ for more information. 10 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cert-msc32-c.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cert-msc32-c 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=cert-msc51-cpp.html 4 | 5 | cert-msc32-c 6 | ============ 7 | 8 | The cert-msc32-c check is an alias, please see 9 | `cert-msc51-cpp `_ for more information. 10 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cert-msc50-cpp.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cert-msc50-cpp 2 | 3 | cert-msc50-cpp 4 | ============== 5 | 6 | Pseudorandom number generators use mathematical algorithms to produce a sequence 7 | of numbers with good statistical properties, but the numbers produced are not 8 | genuinely random. The ``std::rand()`` function takes a seed (number), runs a 9 | mathematical operation on it and returns the result. By manipulating the seed 10 | the result can be predictable. This check warns for the usage of 11 | ``std::rand()``. 12 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cert-oop54-cpp.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cert-oop54-cpp 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=bugprone-unhandled-self-assignment.html 4 | 5 | cert-oop54-cpp 6 | ============== 7 | 8 | The cert-oop54-cpp check is an alias, please see 9 | `bugprone-unhandled-self-assignment `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-core.CallAndMessage.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-core.CallAndMessage 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#core-callandmessage 4 | 5 | clang-analyzer-core.CallAndMessage 6 | ================================== 7 | 8 | The clang-analyzer-core.CallAndMessage check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-core.DivideZero.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-core.DivideZero 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#core-dividezero 4 | 5 | clang-analyzer-core.DivideZero 6 | ============================== 7 | 8 | The clang-analyzer-core.DivideZero check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-core.DynamicTypePropagation.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-core.DynamicTypePropagation 2 | 3 | clang-analyzer-core.DynamicTypePropagation 4 | ========================================== 5 | 6 | Generate dynamic type information 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-core.NonNullParamChecker.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-core.NonNullParamChecker 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#core-nonnullparamchecker 4 | 5 | clang-analyzer-core.NonNullParamChecker 6 | ======================================= 7 | 8 | The clang-analyzer-core.NonNullParamChecker check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-core.NullDereference.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-core.NullDereference 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#core-nulldereference 4 | 5 | clang-analyzer-core.NullDereference 6 | =================================== 7 | 8 | The clang-analyzer-core.NullDereference check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-core.StackAddressEscape.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-core.StackAddressEscape 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#core-stackaddressescape 4 | 5 | clang-analyzer-core.StackAddressEscape 6 | ====================================== 7 | 8 | The clang-analyzer-core.StackAddressEscape check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-core.VLASize.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-core.VLASize 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#core-vlasize 4 | 5 | clang-analyzer-core.VLASize 6 | =========================== 7 | 8 | The clang-analyzer-core.VLASize check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-core.uninitialized.Assign.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-core.uninitialized.Assign 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#core-uninitialized-assign 4 | 5 | clang-analyzer-core.uninitialized.Assign 6 | ======================================== 7 | 8 | The clang-analyzer-core.uninitialized.Assign check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-core.uninitialized.Branch.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-core.uninitialized.Branch 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#core-uninitialized-branch 4 | 5 | clang-analyzer-core.uninitialized.Branch 6 | ======================================== 7 | 8 | The clang-analyzer-core.uninitialized.Branch check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-core.uninitialized.CapturedBlockVariable.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-core.uninitialized.CapturedBlockVariable 2 | 3 | clang-analyzer-core.uninitialized.CapturedBlockVariable 4 | ======================================================= 5 | 6 | Check for blocks that capture uninitialized values 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-cplusplus.InnerPointer.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-cplusplus.InnerPointer 2 | 3 | clang-analyzer-cplusplus.InnerPointer 4 | ===================================== 5 | 6 | Check for inner pointers of C++ containers used after re/deallocation 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-cplusplus.Move.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-cplusplus.Move 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#cplusplus-move 4 | 5 | clang-analyzer-cplusplus.Move 6 | ============================= 7 | 8 | The clang-analyzer-cplusplus.Move check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-cplusplus.NewDelete.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-cplusplus.NewDelete 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#cplusplus-newdelete 4 | 5 | clang-analyzer-cplusplus.NewDelete 6 | ================================== 7 | 8 | The clang-analyzer-cplusplus.NewDelete check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-cplusplus.NewDeleteLeaks.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-cplusplus.NewDeleteLeaks 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#cplusplus-newdeleteleaks 4 | 5 | clang-analyzer-cplusplus.NewDeleteLeaks 6 | ======================================= 7 | 8 | The clang-analyzer-cplusplus.NewDeleteLeaks check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-deadcode.DeadStores.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-deadcode.DeadStores 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#deadcode-deadstores 4 | 5 | clang-analyzer-deadcode.DeadStores 6 | ================================== 7 | 8 | The clang-analyzer-deadcode.DeadStores check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-nullability.NullableReturnedFromNonnull.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-nullability.NullableReturnedFromNonnull 2 | 3 | clang-analyzer-nullability.NullableReturnedFromNonnull 4 | ====================================================== 5 | 6 | Warns when a nullable pointer is returned from a function that has _Nonnull return type. 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-optin.mpi.MPI-Checker.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-optin.mpi.MPI-Checker 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#optin-mpi-mpi-checker 4 | 5 | clang-analyzer-optin.mpi.MPI-Checker 6 | ==================================== 7 | 8 | The clang-analyzer-optin.mpi.MPI-Checker check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-optin.osx.OSObjectCStyleCast.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-optin.osx.OSObjectCStyleCast 2 | 3 | clang-analyzer-optin.osx.OSObjectCStyleCast 4 | =========================================== 5 | 6 | Checker for C-style casts of OSObjects 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-optin.performance.GCDAntipattern.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-optin.performance.GCDAntipattern 2 | 3 | clang-analyzer-optin.performance.GCDAntipattern 4 | =============================================== 5 | 6 | Check for performance anti-patterns when using Grand Central Dispatch 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-optin.performance.Padding.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-optin.performance.Padding 2 | 3 | clang-analyzer-optin.performance.Padding 4 | ======================================== 5 | 6 | Check for excessively padded structs. 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-optin.portability.UnixAPI.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-optin.portability.UnixAPI 2 | 3 | clang-analyzer-optin.portability.UnixAPI 4 | ======================================== 5 | 6 | Finds implementation-defined behavior in UNIX/Posix functions 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.API.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.API 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#osx-api 4 | 5 | clang-analyzer-osx.API 6 | ====================== 7 | 8 | The clang-analyzer-osx.API check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.MIG.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.MIG 2 | 3 | clang-analyzer-osx.MIG 4 | ====================== 5 | 6 | Find violations of the Mach Interface Generator calling convention 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.NumberObjectConversion.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.NumberObjectConversion 2 | 3 | clang-analyzer-osx.NumberObjectConversion 4 | ========================================= 5 | 6 | Check for erroneous conversions of objects representing numbers into numbers 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.OSObjectRetainCount.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.OSObjectRetainCount 2 | 3 | clang-analyzer-osx.OSObjectRetainCount 4 | ====================================== 5 | 6 | Check for leaks and improper reference count management for OSObject 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.ObjCProperty.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.ObjCProperty 2 | 3 | clang-analyzer-osx.ObjCProperty 4 | =============================== 5 | 6 | Check for proper uses of Objective-C properties 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.SecKeychainAPI.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.SecKeychainAPI 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#osx-seckeychainapi 4 | 5 | clang-analyzer-osx.SecKeychainAPI 6 | ================================= 7 | 8 | The clang-analyzer-osx.SecKeychainAPI check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.cocoa.AtSync.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.cocoa.AtSync 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-atsync 4 | 5 | clang-analyzer-osx.cocoa.AtSync 6 | =============================== 7 | 8 | The clang-analyzer-osx.cocoa.AtSync check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.cocoa.AutoreleaseWrite.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.cocoa.AutoreleaseWrite 2 | 3 | clang-analyzer-osx.cocoa.AutoreleaseWrite 4 | ========================================= 5 | 6 | Warn about potentially crashing writes to autoreleasing objects from different autoreleasing pools in Objective-C 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.cocoa.ClassRelease.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.cocoa.ClassRelease 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-classrelease 4 | 5 | clang-analyzer-osx.cocoa.ClassRelease 6 | ===================================== 7 | 8 | The clang-analyzer-osx.cocoa.ClassRelease check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.cocoa.Dealloc.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.cocoa.Dealloc 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-dealloc 4 | 5 | clang-analyzer-osx.cocoa.Dealloc 6 | ================================ 7 | 8 | The clang-analyzer-osx.cocoa.Dealloc check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.cocoa.Loops.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.cocoa.Loops 2 | 3 | clang-analyzer-osx.cocoa.Loops 4 | ============================== 5 | 6 | Improved modeling of loops using Cocoa collection types 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.cocoa.MissingSuperCall.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.cocoa.MissingSuperCall 2 | 3 | clang-analyzer-osx.cocoa.MissingSuperCall 4 | ========================================= 5 | 6 | Warn about Objective-C methods that lack a necessary call to super 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.cocoa.NSError.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.cocoa.NSError 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-nserror 4 | 5 | clang-analyzer-osx.cocoa.NSError 6 | ================================ 7 | 8 | The clang-analyzer-osx.cocoa.NSError check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.cocoa.NilArg.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.cocoa.NilArg 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-nilarg 4 | 5 | clang-analyzer-osx.cocoa.NilArg 6 | =============================== 7 | 8 | The clang-analyzer-osx.cocoa.NilArg check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.cocoa.NonNilReturnValue.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.cocoa.NonNilReturnValue 2 | 3 | clang-analyzer-osx.cocoa.NonNilReturnValue 4 | ========================================== 5 | 6 | Model the APIs that are guaranteed to return a non-nil value 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.cocoa.ObjCGenerics.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.cocoa.ObjCGenerics 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-objcgenerics 4 | 5 | clang-analyzer-osx.cocoa.ObjCGenerics 6 | ===================================== 7 | 8 | The clang-analyzer-osx.cocoa.ObjCGenerics check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.cocoa.RetainCount.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.cocoa.RetainCount 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-retaincount 4 | 5 | clang-analyzer-osx.cocoa.RetainCount 6 | ==================================== 7 | 8 | The clang-analyzer-osx.cocoa.RetainCount check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.cocoa.RunLoopAutoreleaseLeak.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.cocoa.RunLoopAutoreleaseLeak 2 | 3 | clang-analyzer-osx.cocoa.RunLoopAutoreleaseLeak 4 | =============================================== 5 | 6 | Check for leaked memory in autorelease pools that will never be drained 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.cocoa.SelfInit.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.cocoa.SelfInit 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-selfinit 4 | 5 | clang-analyzer-osx.cocoa.SelfInit 6 | ================================= 7 | 8 | The clang-analyzer-osx.cocoa.SelfInit check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.cocoa.SuperDealloc.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.cocoa.SuperDealloc 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-superdealloc 4 | 5 | clang-analyzer-osx.cocoa.SuperDealloc 6 | ===================================== 7 | 8 | The clang-analyzer-osx.cocoa.SuperDealloc check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-osx.cocoa.UnusedIvars.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-osx.cocoa.UnusedIvars 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#osx-cocoa-unusedivars 4 | 5 | clang-analyzer-osx.cocoa.UnusedIvars 6 | ==================================== 7 | 8 | The clang-analyzer-osx.cocoa.UnusedIvars check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-security.FloatLoopCounter.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-security.FloatLoopCounter 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#security-floatloopcounter 4 | 5 | clang-analyzer-security.FloatLoopCounter 6 | ======================================== 7 | 8 | The clang-analyzer-security.FloatLoopCounter check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-security.insecureAPI.bcmp.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-security.insecureAPI.bcmp 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-bcmp 4 | 5 | clang-analyzer-security.insecureAPI.bcmp 6 | ======================================== 7 | 8 | The clang-analyzer-security.insecureAPI.bcmp check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-security.insecureAPI.gets.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-security.insecureAPI.gets 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-gets 4 | 5 | clang-analyzer-security.insecureAPI.gets 6 | ======================================== 7 | 8 | The clang-analyzer-security.insecureAPI.gets check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-security.insecureAPI.rand.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-security.insecureAPI.rand 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#security-insecureapi-rand 4 | 5 | clang-analyzer-security.insecureAPI.rand 6 | ======================================== 7 | 8 | The clang-analyzer-security.insecureAPI.rand check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-unix.API.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-unix.API 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#unix-api 4 | 5 | clang-analyzer-unix.API 6 | ======================= 7 | 8 | The clang-analyzer-unix.API check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-unix.Malloc.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-unix.Malloc 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#unix-malloc 4 | 5 | clang-analyzer-unix.Malloc 6 | ========================== 7 | 8 | The clang-analyzer-unix.Malloc check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-unix.MallocSizeof.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-unix.MallocSizeof 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#unix-mallocsizeof 4 | 5 | clang-analyzer-unix.MallocSizeof 6 | ================================ 7 | 8 | The clang-analyzer-unix.MallocSizeof check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-unix.Vfork.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-unix.Vfork 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#unix-vfork 4 | 5 | clang-analyzer-unix.Vfork 6 | ========================= 7 | 8 | The clang-analyzer-unix.Vfork check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-unix.cstring.BadSizeArg.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-unix.cstring.BadSizeArg 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#unix-cstring-badsizearg 4 | 5 | clang-analyzer-unix.cstring.BadSizeArg 6 | ====================================== 7 | 8 | The clang-analyzer-unix.cstring.BadSizeArg check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-unix.cstring.NullArg.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-unix.cstring.NullArg 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=https://clang.llvm.org/docs/analyzer/checkers.html#unix-cstring-nullarg 4 | 5 | clang-analyzer-unix.cstring.NullArg 6 | =================================== 7 | 8 | The clang-analyzer-unix.cstring.NullArg check is an alias, please see 9 | `Clang Static Analyzer Available Checkers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-valist.CopyToSelf.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-valist.CopyToSelf 2 | 3 | clang-analyzer-valist.CopyToSelf 4 | ================================ 5 | 6 | Check for va_lists which are copied onto itself. 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-valist.Uninitialized.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-valist.Uninitialized 2 | 3 | clang-analyzer-valist.Uninitialized 4 | =================================== 5 | 6 | Check for usages of uninitialized (or already released) va_lists. 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/clang-analyzer-valist.Unterminated.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - clang-analyzer-valist.Unterminated 2 | 3 | clang-analyzer-valist.Unterminated 4 | ================================== 5 | 6 | Check for va_lists which are not released by a va_end call. 7 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cppcoreguidelines-avoid-c-arrays.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cppcoreguidelines-avoid-c-arrays 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=modernize-avoid-c-arrays.html 4 | 5 | cppcoreguidelines-avoid-c-arrays 6 | ================================ 7 | 8 | The cppcoreguidelines-avoid-c-arrays check is an alias, please see 9 | `modernize-avoid-c-arrays `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cppcoreguidelines-avoid-magic-numbers.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cppcoreguidelines-avoid-magic-numbers 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=readability-magic-numbers.html 4 | 5 | cppcoreguidelines-avoid-magic-numbers 6 | ===================================== 7 | 8 | The cppcoreguidelines-avoid-magic-numbers check is an alias, please see 9 | `readability-magic-numbers `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cppcoreguidelines-c-copy-assignment-signature 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=misc-unconventional-assign-operator.html 4 | 5 | cppcoreguidelines-c-copy-assignment-signature 6 | ============================================= 7 | 8 | The cppcoreguidelines-c-copy-assignment-signature check is an alias, please see 9 | `misc-unconventional-assign-operator `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cppcoreguidelines-explicit-virtual-functions.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cppcoreguidelines-explicit-virtual-functions 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=modernize-use-override.html 4 | 5 | cppcoreguidelines-explicit-virtual-functions 6 | ============================================ 7 | 8 | The cppcoreguidelines-explicit-virtual-functions check is an alias, please see 9 | `modernize-use-override `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/cppcoreguidelines-pro-type-const-cast.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - cppcoreguidelines-pro-type-const-cast 2 | 3 | cppcoreguidelines-pro-type-const-cast 4 | ===================================== 5 | 6 | This check flags all uses of ``const_cast`` in C++ code. 7 | 8 | Modifying a variable that was declared const is undefined behavior, even with 9 | ``const_cast``. 10 | 11 | This rule is part of the "Type safety" profile of the C++ Core Guidelines, see 12 | https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Pro-type-constcast. 13 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/darwin-avoid-spinlock.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - darwin-avoid-spinlock 2 | 3 | darwin-avoid-spinlock 4 | ===================== 5 | 6 | Finds usages of ``OSSpinlock``, which is deprecated due to potential livelock 7 | problems. 8 | 9 | This check will detect following function invocations: 10 | 11 | - ``OSSpinlockLock`` 12 | - ``OSSpinlockTry`` 13 | - ``OSSpinlockUnlock`` 14 | 15 | The corresponding information about the problem of ``OSSpinlock``: https://blog.postmates.com/why-spinlocks-are-bad-on-ios-b69fc5221058 16 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/fuchsia-default-arguments-declarations.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - fuchsia-default-arguments-declarations 2 | 3 | fuchsia-default-arguments-declarations 4 | ====================================== 5 | 6 | Warns if a function or method is declared with default parameters. 7 | 8 | For example, the declaration: 9 | 10 | .. code-block:: c++ 11 | 12 | int foo(int value = 5) { return value; } 13 | 14 | will cause a warning. 15 | 16 | See the features disallowed in Fuchsia at https://fuchsia.googlesource.com/zircon/+/master/docs/cxx.md 17 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/fuchsia-header-anon-namespaces.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - fuchsia-header-anon-namespaces 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=google-build-namespaces.html 4 | 5 | fuchsia-header-anon-namespaces 6 | ============================== 7 | 8 | The fuchsia-header-anon-namespaces check is an alias, please see 9 | `google-build-namespace `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/fuchsia-virtual-inheritance.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - fuchsia-virtual-inheritance 2 | 3 | fuchsia-virtual-inheritance 4 | =========================== 5 | 6 | Warns if classes are defined with virtual inheritance. 7 | 8 | For example, classes should not be defined with virtual inheritance: 9 | 10 | .. code-block:: c++ 11 | 12 | class B : public virtual A {}; // warning 13 | 14 | See the features disallowed in Fuchsia at https://fuchsia.googlesource.com/zircon/+/master/docs/cxx.md 15 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/google-build-explicit-make-pair.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - google-build-explicit-make-pair 2 | 3 | google-build-explicit-make-pair 4 | =============================== 5 | 6 | Check that ``make_pair``'s template arguments are deduced. 7 | 8 | G++ 4.6 in C++11 mode fails badly if ``make_pair``'s template arguments are 9 | specified explicitly, and such use isn't intended in any case. 10 | 11 | Corresponding cpplint.py check name: `build/explicit_make_pair`. 12 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/google-default-arguments.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - google-default-arguments 2 | 3 | google-default-arguments 4 | ======================== 5 | 6 | Checks that default arguments are not given for virtual methods. 7 | 8 | See https://google.github.io/styleguide/cppguide.html#Default_Arguments 9 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/google-readability-braces-around-statements.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - google-readability-braces-around-statements 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=readability-braces-around-statements.html 4 | 5 | google-readability-braces-around-statements 6 | =========================================== 7 | 8 | The google-readability-braces-around-statements check is an alias, please see 9 | `readability-braces-around-statements `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/google-readability-casting.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - google-readability-casting 2 | 3 | google-readability-casting 4 | ========================== 5 | 6 | Finds usages of C-style casts. 7 | 8 | https://google.github.io/styleguide/cppguide.html#Casting 9 | 10 | Corresponding cpplint.py check name: `readability/casting`. 11 | 12 | This check is similar to `-Wold-style-cast`, but it suggests automated fixes 13 | in some cases. The reported locations should not be different from the 14 | ones generated by `-Wold-style-cast`. 15 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/google-readability-function-size.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - google-readability-function-size 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=readability-function-size.html 4 | 5 | google-readability-function-size 6 | ================================ 7 | 8 | The google-readability-function-size check is an alias, please see 9 | `readability-function-size `_ for more 10 | information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/google-readability-namespace-comments.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - google-readability-namespace-comments 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=llvm-namespace-comment.html 4 | 5 | google-readability-namespace-comments 6 | ===================================== 7 | 8 | The google-readability-namespace-comments check is an alias, please see 9 | `llvm-namespace-comment `_ for more information. 10 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/google-readability-todo.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - google-readability-todo 2 | 3 | google-readability-todo 4 | ======================= 5 | 6 | Finds TODO comments without a username or bug number. 7 | 8 | The relevant style guide section is 9 | https://google.github.io/styleguide/cppguide.html#TODO_Comments. 10 | 11 | Corresponding cpplint.py check: `readability/todo` 12 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/google-runtime-operator.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - google-runtime-operator 2 | 3 | google-runtime-operator 4 | ======================= 5 | 6 | Finds overloads of unary ``operator &``. 7 | 8 | https://google.github.io/styleguide/cppguide.html#Operator_Overloading 9 | 10 | Corresponding cpplint.py check name: `runtime/operator`. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/google-runtime-references.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - google-runtime-references 2 | 3 | google-runtime-references 4 | ========================= 5 | 6 | Checks the usage of non-constant references in function parameters. 7 | 8 | The corresponding style guide rule: 9 | https://google.github.io/styleguide/cppguide.html#Reference_Arguments 10 | 11 | 12 | Options 13 | ------- 14 | 15 | .. option:: WhiteListTypes 16 | 17 | A semicolon-separated list of names of whitelist types. Default is empty. 18 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-avoid-c-arrays.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-avoid-c-arrays 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=modernize-avoid-c-arrays.html 4 | 5 | hicpp-avoid-c-arrays 6 | ==================== 7 | 8 | The hicpp-avoid-c-arrays check is an alias, please see 9 | `modernize-avoid-c-arrays `_ 10 | for more information. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-deprecated-headers.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-deprecated-headers 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=modernize-deprecated-headers.html 4 | 5 | hicpp-deprecated-headers 6 | ======================== 7 | 8 | The `hicpp-deprecated-headers` check is an alias, please see 9 | `modernize-deprecated-headers `_ 10 | for more information. 11 | It enforces the `rule 1.3.3 `_. 12 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-invalid-access-moved.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-invalid-access-moved 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=bugprone-use-after-move.html 4 | 5 | hicpp-invalid-access-moved 6 | ========================== 7 | 8 | This check is an alias for `bugprone-use-after-move `_. 9 | 10 | Implements parts of the `rule 8.4.1 `_ to check if moved-from objects are accessed. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-move-const-arg.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-move-const-arg 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=performance-move-const-arg.html 4 | 5 | hicpp-move-const-arg 6 | ==================== 7 | 8 | The `hicpp-move-const-arg` check is an alias, please see 9 | `performance-move-const-arg `_ for more information. 10 | It enforces the `rule 17.3.1 `_. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-named-parameter.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-named-parameter 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=readability-named-parameter.html 4 | 5 | hicpp-named-parameter 6 | ===================== 7 | 8 | This check is an alias for `readability-named-parameter `_. 9 | 10 | Implements `rule 8.2.1 `_. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-new-delete-operators.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-new-delete-operators 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=misc-new-delete-overloads.html 4 | 5 | hicpp-new-delete-operators 6 | ========================== 7 | 8 | This check is an alias for `misc-new-delete-overloads `_. 9 | Implements `rule 12.3.1 `_ to ensure 10 | the `new` and `delete` operators have the correct signature. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-no-array-decay.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-no-array-decay 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=cppcoreguidelines-pro-bounds-array-to-pointer-decay.html 4 | 5 | hicpp-no-array-decay 6 | ==================== 7 | 8 | The `hicpp-no-array-decay` check is an alias, please see 9 | `cppcoreguidelines-pro-bounds-array-to-pointer-decay `_ 10 | for more information. 11 | It enforces the `rule 4.1.1 `_. 12 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-no-assembler.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-no-assembler 2 | 3 | hicpp-no-assembler 4 | =================== 5 | 6 | Check for assembler statements. No fix is offered. 7 | 8 | Inline assembler is forbidden by the `High Intergrity C++ Coding Standard 9 | `_ 10 | as it restricts the portability of code. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-no-malloc.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-no-malloc 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=cppcoreguidelines-no-malloc.html 4 | 5 | hicpp-no-malloc 6 | =============== 7 | 8 | The `hicpp-no-malloc` check is an alias, please see 9 | `cppcoreguidelines-no-malloc `_ 10 | for more information. 11 | It enforces the `rule 5.3.2 `_. 12 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-noexcept-move.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-noexcept-move 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=misc-noexcept-moveconstructor.html 4 | 5 | hicpp-noexcept-move 6 | =================== 7 | 8 | This check is an alias for `misc-noexcept-moveconstructor `_. 9 | Checks `rule 12.5.4 `_ to mark move assignment and move construction `noexcept`. 10 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-signed-bitwise.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-signed-bitwise 2 | 3 | hicpp-signed-bitwise 4 | ==================== 5 | 6 | Finds uses of bitwise operations on signed integer types, which may lead to 7 | undefined or implementation defined behaviour. 8 | 9 | The according rule is defined in the `High Integrity C++ Standard, Section 5.6.1 `_. 10 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-static-assert.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-static-assert 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=misc-static-assert.html 4 | 5 | hicpp-static-assert 6 | =================== 7 | 8 | The `hicpp-static-assert` check is an alias, please see 9 | `misc-static-assert `_ for more information. 10 | It enforces the `rule 7.1.10 `_. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-uppercase-literal-suffix.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-uppercase-literal-suffix 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=readability-uppercase-literal-suffix.html 4 | 5 | hicpp-uppercase-literal-suffix 6 | ============================== 7 | 8 | The hicpp-uppercase-literal-suffix check is an alias, please see 9 | `readability-uppercase-literal-suffix `_ for more information. 10 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-use-auto.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-use-auto 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=modernize-use-auto.html 4 | 5 | hicpp-use-auto 6 | ============== 7 | 8 | The `hicpp-use-auto` check is an alias, please see 9 | `modernize-use-auto `_ for more information. 10 | It enforces the `rule 7.1.8 `_. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-use-emplace.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-use-emplace 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=modernize-use-emplace.html 4 | 5 | hicpp-use-emplace 6 | ================= 7 | 8 | The `hicpp-use-emplace` check is an alias, please see 9 | `modernize-use-emplace `_ for more information. 10 | It enforces the `rule 17.4.2 `_. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-use-equals-default.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-use-equals-defaults 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=modernize-use-equals-default.html 4 | 5 | hicpp-use-equals-default 6 | ======================== 7 | 8 | This check is an alias for `modernize-use-equals-default `_. 9 | Implements `rule 12.5.1 `_ to explicitly default special member functions. 10 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-use-equals-delete.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-use-equals-delete 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=modernize-use-equals-delete.html 4 | 5 | hicpp-use-equals-delete 6 | ======================= 7 | 8 | This check is an alias for `modernize-use-equals-delete `_. 9 | Implements `rule 12.5.1 `_ 10 | to explicitly default or delete special member functions. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-use-noexcept.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-use-noexcept 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=modernize-use-noexcept.html 4 | 5 | hicpp-use-noexcept 6 | ================== 7 | 8 | The `hicpp-use-noexcept` check is an alias, please see 9 | `modernize-use-noexcept `_ for more information. 10 | It enforces the `rule 1.3.5 `_. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-use-nullptr.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-use-nullptr 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=modernize-use-nullptr.html 4 | 5 | hicpp-use-nullptr 6 | ================= 7 | 8 | The `hicpp-use-nullptr` check is an alias, please see 9 | `modernize-use-nullptr `_ for more information. 10 | It enforces the `rule 2.5.3 `_. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-use-override.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-use-override 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=modernize-use-override.html 4 | 5 | hicpp-use-override 6 | ================== 7 | 8 | This check is an alias for `modernize-use-override `_. 9 | Implements `rule 10.2.1 `_ to 10 | declare a virtual function `override` when overriding. 11 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/hicpp-vararg.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - hicpp-vararg 2 | .. meta:: 3 | :http-equiv=refresh: 5;URL=cppcoreguidelines-pro-type-vararg.html 4 | 5 | hicpp-vararg 6 | ============ 7 | 8 | The `hicpp-vararg` check is an alias, please see 9 | `cppcoreguidelines-pro-type-vararg `_ 10 | for more information. 11 | It enforces the `rule 14.1.1 `_. 12 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/llvm-include-order.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - llvm-include-order 2 | 3 | llvm-include-order 4 | ================== 5 | 6 | 7 | Checks the correct order of ``#includes``. 8 | 9 | See https://llvm.org/docs/CodingStandards.html#include-style 10 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/llvm-twine-local.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - llvm-twine-local 2 | 3 | llvm-twine-local 4 | ================ 5 | 6 | 7 | Looks for local ``Twine`` variables which are prone to use after frees and 8 | should be generally avoided. 9 | 10 | .. code-block:: c++ 11 | 12 | static Twine Moo = Twine("bark") + "bah"; 13 | 14 | // becomes 15 | 16 | static std::string Moo = (Twine("bark") + "bah").str(); 17 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/misc-static-assert.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - misc-static-assert 2 | 3 | misc-static-assert 4 | ================== 5 | 6 | `cert-dcl03-c` redirects here as an alias for this check. 7 | 8 | Replaces ``assert()`` with ``static_assert()`` if the condition is evaluatable 9 | at compile time. 10 | 11 | The condition of ``static_assert()`` is evaluated at compile time which is 12 | safer and more efficient. 13 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/misc-unconventional-assign-operator.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - misc-unconventional-assign-operator 2 | 3 | misc-unconventional-assign-operator 4 | =================================== 5 | 6 | 7 | Finds declarations of assign operators with the wrong return and/or argument 8 | types and definitions with good return type but wrong ``return`` statements. 9 | 10 | * The return type must be ``Class&``. 11 | * Works with move-assign and assign by value. 12 | * Private and deleted operators are ignored. 13 | * The operator must always return ``*this``. 14 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/misc-uniqueptr-reset-release.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - misc-uniqueptr-reset-release 2 | 3 | misc-uniqueptr-reset-release 4 | ============================ 5 | 6 | Find and replace ``unique_ptr::reset(release())`` with ``std::move()``. 7 | 8 | Example: 9 | 10 | .. code-block:: c++ 11 | 12 | std::unique_ptr x, y; 13 | x.reset(y.release()); -> x = std::move(y); 14 | 15 | If ``y`` is already rvalue, ``std::move()`` is not added. ``x`` and ``y`` can 16 | also be ``std::unique_ptr*``. 17 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/misc-unused-alias-decls.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - misc-unused-alias-decls 2 | 3 | misc-unused-alias-decls 4 | ======================= 5 | 6 | 7 | Finds unused namespace alias declarations. 8 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/misc-unused-using-decls.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - misc-unused-using-decls 2 | 3 | misc-unused-using-decls 4 | ======================= 5 | 6 | Finds unused ``using`` declarations. 7 | 8 | Example: 9 | 10 | .. code-block:: c++ 11 | 12 | namespace n { class C; } 13 | using n::C; // Never actually used. 14 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/modernize-shrink-to-fit.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - modernize-shrink-to-fit 2 | 3 | modernize-shrink-to-fit 4 | ======================= 5 | 6 | 7 | Replace copy and swap tricks on shrinkable containers with the 8 | ``shrink_to_fit()`` method call. 9 | 10 | The ``shrink_to_fit()`` method is more readable and more effective than 11 | the copy and swap trick to reduce the capacity of a shrinkable container. 12 | Note that, the ``shrink_to_fit()`` method is only available in C++11 and up. 13 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/modernize-use-default.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. title:: clang-tidy - modernize-use-default 4 | .. meta:: 5 | :http-equiv=refresh: 5;URL=modernize-use-equals-default.html 6 | 7 | modernize-use-default 8 | ===================== 9 | 10 | This check has been renamed to 11 | `modernize-use-equals-default `_. 12 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/performance-implicit-cast-in-loop.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. title:: clang-tidy - performance-implicit-cast-in-loop 4 | .. meta:: 5 | :http-equiv=refresh: 5;URL=performance-implicit-conversion-in-loop.html 6 | 7 | performance-implicit-cast-in-loop 8 | ================================= 9 | 10 | This check has been renamed to `performance-implicit-conversion-in-loop 11 | `_. 12 | 13 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/readability-delete-null-pointer.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - readability-delete-null-pointer 2 | 3 | readability-delete-null-pointer 4 | =============================== 5 | 6 | Checks the ``if`` statements where a pointer's existence is checked and then deletes the pointer. 7 | The check is unnecessary as deleting a null pointer has no effect. 8 | 9 | .. code:: c++ 10 | 11 | int *p; 12 | if (p) 13 | delete p; 14 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/readability-implicit-bool-cast.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. title:: clang-tidy - readability-implicit-bool-cast 4 | .. meta:: 5 | :http-equiv=refresh: 5;URL=readability-implicit-bool-conversion.html 6 | 7 | readability-implicit-bool-cast 8 | ============================== 9 | 10 | This check has been renamed to `readability-implicit-bool-conversion 11 | `_. 12 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/readability-redundant-member-init.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - readability-redundant-member-init 2 | 3 | readability-redundant-member-init 4 | ================================= 5 | 6 | Finds member initializations that are unnecessary because the same default 7 | constructor would be called if they were not present. 8 | 9 | Example: 10 | 11 | .. code-block:: c++ 12 | 13 | // Explicitly initializing the member s is unnecessary. 14 | class Foo { 15 | public: 16 | Foo() : s() {} 17 | 18 | private: 19 | std::string s; 20 | }; 21 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/readability-redundant-string-cstr.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - readability-redundant-string-cstr 2 | 3 | readability-redundant-string-cstr 4 | ================================= 5 | 6 | 7 | Finds unnecessary calls to ``std::string::c_str()`` and ``std::string::data()``. 8 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/readability-redundant-string-init.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - readability-redundant-string-init 2 | 3 | readability-redundant-string-init 4 | ================================= 5 | 6 | Finds unnecessary string initializations. 7 | 8 | Examples: 9 | 10 | .. code-block:: c++ 11 | 12 | // Initializing string with empty string literal is unnecessary. 13 | std::string a = ""; 14 | std::string b(""); 15 | 16 | // becomes 17 | 18 | std::string a; 19 | std::string b; 20 | -------------------------------------------------------------------------------- /docs/clang-tidy/checks/readability-uniqueptr-delete-release.rst: -------------------------------------------------------------------------------- 1 | .. title:: clang-tidy - readability-uniqueptr-delete-release 2 | 3 | readability-uniqueptr-delete-release 4 | ==================================== 5 | 6 | Replace ``delete .release()`` with `` = nullptr``. 7 | The latter is shorter, simpler and does not require use of raw pointer APIs. 8 | 9 | .. code-block:: c++ 10 | 11 | std::unique_ptr P; 12 | delete P.release(); 13 | 14 | // becomes 15 | 16 | std::unique_ptr P; 17 | P = nullptr; 18 | -------------------------------------------------------------------------------- /docs/clangd.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | .. meta:: 4 | :http-equiv=refresh: 0;URL='clangd/' 5 | 6 | All :program:`clangd` documentation was moved to the :doc:`clangd/index` pages. 7 | -------------------------------------------------------------------------------- /docs/clangd/ApplyClangTidyFixInVSCode.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/docs/clangd/ApplyClangTidyFixInVSCode.gif -------------------------------------------------------------------------------- /docs/clangd/ApplyFixInVSCode.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/docs/clangd/ApplyFixInVSCode.gif -------------------------------------------------------------------------------- /docs/clangd/CodeCompletionInEmacsCompanyMode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/docs/clangd/CodeCompletionInEmacsCompanyMode.png -------------------------------------------------------------------------------- /docs/clangd/CodeCompletionInSublimeText.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/docs/clangd/CodeCompletionInSublimeText.png -------------------------------------------------------------------------------- /docs/clangd/CodeCompletionInVSCode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/docs/clangd/CodeCompletionInVSCode.png -------------------------------------------------------------------------------- /docs/clangd/CodeCompletionInYCM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/docs/clangd/CodeCompletionInYCM.png -------------------------------------------------------------------------------- /docs/clangd/CodeCompletionInsertsNamespaceQualifiersInVSCode.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/docs/clangd/CodeCompletionInsertsNamespaceQualifiersInVSCode.gif -------------------------------------------------------------------------------- /docs/clangd/DiagnosticsInEmacsEglot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/docs/clangd/DiagnosticsInEmacsEglot.png -------------------------------------------------------------------------------- /docs/clangd/ErrorsInVSCode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/docs/clangd/ErrorsInVSCode.png -------------------------------------------------------------------------------- /docs/clangd/FindAllReferencesInVSCode.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/docs/clangd/FindAllReferencesInVSCode.gif -------------------------------------------------------------------------------- /docs/clangd/FormatSelectionInVSCode.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/docs/clangd/FormatSelectionInVSCode.gif -------------------------------------------------------------------------------- /docs/clangd/GoToDefinitionInVSCode.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/docs/clangd/GoToDefinitionInVSCode.gif -------------------------------------------------------------------------------- /docs/clangd/NavigationWithBreadcrumbsInVSCode.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/docs/clangd/NavigationWithBreadcrumbsInVSCode.gif -------------------------------------------------------------------------------- /docs/clangd/OutlineInVSCode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/docs/clangd/OutlineInVSCode.png -------------------------------------------------------------------------------- /docs/clangd/SignatureHelpInVSCode.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/docs/clangd/SignatureHelpInVSCode.gif -------------------------------------------------------------------------------- /docs/cpp11-migrate.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | All :program:`clang-modernize` transforms have moved to :doc:`clang-tidy/index` 4 | (see the ``modernize`` module). 5 | -------------------------------------------------------------------------------- /docs/doxygen-mainpage.dox: -------------------------------------------------------------------------------- 1 | /// \mainpage clang-tools 2 | /// 3 | /// \section main_intro Introduction 4 | /// Welcome to clang tools. 5 | /// 6 | /// This documentation describes the **internal** software that makes 7 | /// up clang tools, not the **external** use of clang tools. For 8 | /// usage instructions, please see the programmer's guide or reference 9 | /// manual. 10 | -------------------------------------------------------------------------------- /modularize/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS 2 | Option 3 | Support 4 | ) 5 | 6 | add_clang_tool(modularize 7 | Modularize.cpp 8 | ModuleAssistant.cpp 9 | ModularizeUtilities.cpp 10 | CoverageChecker.cpp 11 | PreprocessorTracker.cpp 12 | ) 13 | 14 | clang_target_link_libraries(modularize 15 | PRIVATE 16 | clangAST 17 | clangBasic 18 | clangDriver 19 | clangFrontend 20 | clangLex 21 | clangSerialization 22 | clangTooling 23 | ) 24 | 25 | install(TARGETS modularize 26 | RUNTIME DESTINATION bin 27 | COMPONENT clang-extras) 28 | -------------------------------------------------------------------------------- /pp-trace/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(LLVM_LINK_COMPONENTS 2 | Support 3 | ) 4 | 5 | add_clang_tool(pp-trace 6 | PPTrace.cpp 7 | PPCallbacksTracker.cpp 8 | ) 9 | 10 | clang_target_link_libraries(pp-trace 11 | PRIVATE 12 | clangAST 13 | clangBasic 14 | clangFrontend 15 | clangLex 16 | clangSerialization 17 | clangTooling 18 | ) 19 | -------------------------------------------------------------------------------- /test/.clang-format: -------------------------------------------------------------------------------- 1 | BasedOnStyle: LLVM 2 | ColumnLimit: 0 3 | -------------------------------------------------------------------------------- /test/Unit/lit.site.cfg.py.in: -------------------------------------------------------------------------------- 1 | @LIT_SITE_CFG_IN_HEADER@ 2 | 3 | config.extra_tools_obj_dir = "@CLANG_TOOLS_BINARY_DIR@/unittests" 4 | config.extra_tools_src_dir = "@CLANG_TOOLS_SOURCE_DIR@/unittests" 5 | config.llvm_libs_dir = "@LLVM_LIBS_DIR@" 6 | config.shlibdir = "@SHLIBDIR@" 7 | config.target_triple = "@TARGET_TRIPLE@" 8 | 9 | lit_config.load_config(config, "@CLANG_TOOLS_SOURCE_DIR@/test/Unit/lit.cfg.py") 10 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/ClangRenameClassReplacements.cpp: -------------------------------------------------------------------------------- 1 | // RUN: rm -rf %t 2 | // RUN: mkdir -p %t/fixes 3 | // RUN: cat %s > %t.cpp 4 | // RUN: clang-rename -offset=254 -new-name=Bar -export-fixes=%t/fixes/clang-rename.yaml %t.cpp -- 5 | // RUN: clang-apply-replacements %t 6 | // RUN: sed 's,//.*,,' %t.cpp | FileCheck %s 7 | 8 | class Foo {}; // CHECK: class Bar {}; 9 | 10 | // Use grep -FUbo 'Foo' to get the correct offset of Cla when changing 11 | // this file. 12 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/basic/file2.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | MainSourceFile: source2.cpp 3 | Diagnostics: 4 | - DiagnosticName: test-basic 5 | DiagnosticMessage: 6 | Message: Fix 7 | FilePath: $(path)/basic.h 8 | FileOffset: 148 9 | Replacements: 10 | - FilePath: $(path)/../basic/basic.h 11 | Offset: 298 12 | Length: 1 13 | ReplacementText: elem 14 | ... 15 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/conflict/common.h: -------------------------------------------------------------------------------- 1 | #ifndef COMMON_H 2 | #define COMMON_H 3 | 4 | extern void ext(int (&)[5]); 5 | 6 | void func(int t) { 7 | int ints[5]; 8 | for (unsigned i = 0; i < 5; ++i) { 9 | ints[i] = t; 10 | } 11 | 12 | int *i = 0; 13 | 14 | ext(ints); 15 | } 16 | 17 | #endif // COMMON_H 18 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/conflict/file3.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | MainSourceFile: source1.cpp 3 | Diagnostics: 4 | - DiagnosticName: test-conflict 5 | DiagnosticMessage: 6 | Message: Fix 7 | FilePath: $(path)/common.h 8 | FileOffset: 169 9 | Replacements: 10 | - FilePath: $(path)/common.h 11 | Offset: 169 12 | Length: 0 13 | ReplacementText: "(int*)" 14 | ... 15 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/crlf/crlf.cpp: -------------------------------------------------------------------------------- 1 | 2 | // This file intentionally uses a CRLF newlines! 3 | 4 | void foo() { 5 | int *x = 0; 6 | } 7 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/crlf/crlf.cpp.expected: -------------------------------------------------------------------------------- 1 | 2 | // This file intentionally uses a CRLF newlines! 3 | 4 | void foo() { 5 | int *x = nullptr; 6 | } 7 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/crlf/file1.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | MainSourceFile: source1.cpp 3 | Diagnostics: 4 | - DiagnosticName: test-crlf 5 | DiagnosticMessage: 6 | Message: Fix 7 | FilePath: $(path)/crlf.cpp 8 | FileOffset: 79 9 | Replacements: 10 | - FilePath: $(path)/crlf.cpp 11 | Offset: 79 12 | Length: 1 13 | ReplacementText: nullptr 14 | ... 15 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/format/no.cpp: -------------------------------------------------------------------------------- 1 | class C {}; 2 | 3 | void f() { // This comment necessary to prevent formatting as void f() { ... } 4 | C *a = new C(); 5 | // CHECK: {{^\ \ auto\ a\ \=\ new\ C\(\);}} 6 | } 7 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/format/no.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | MainSourceFile: no.cpp 3 | Diagnostics: 4 | - DiagnosticName: test-no 5 | DiagnosticMessage: 6 | Message: Fix 7 | FilePath: $(path)/no.cpp 8 | FileOffset: 94 9 | Replacements: 10 | - FilePath: $(path)/no.cpp 11 | Offset: 94 12 | Length: 3 13 | ReplacementText: 'auto ' 14 | ... 15 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/identical/file1.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | MainSourceFile: identical.cpp 3 | Diagnostics: 4 | - DiagnosticName: test-identical-insertion 5 | DiagnosticMessage: 6 | Message: Fix 7 | FilePath: $(path)/identical.cpp 8 | FileOffset: 12 9 | Replacements: 10 | - FilePath: $(path)/identical.cpp 11 | Offset: 12 12 | Length: 0 13 | ReplacementText: '0' 14 | ... 15 | 16 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/identical/file2.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | MainSourceFile: identical.cpp 3 | Diagnostics: 4 | - DiagnosticName: test-identical-insertion 5 | DiagnosticMessage: 6 | Message: Fix 7 | FilePath: $(path)/identical.cpp 8 | FileOffset: 12 9 | Replacements: 10 | - FilePath: $(path)/identical.cpp 11 | Offset: 12 12 | Length: 0 13 | ReplacementText: '0' 14 | ... 15 | 16 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/identical/identical.cpp: -------------------------------------------------------------------------------- 1 | class MyType {}; 2 | // CHECK: class MyType0 {}; 3 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/invalid-files/invalid-files.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | MainSourceFile: '' 3 | Replacements: 4 | - FilePath: idontexist.h 5 | Offset: 2669 6 | Length: 0 7 | ReplacementText: ' override' 8 | - FilePath: idontexist.h 9 | Offset: 2669 10 | Length: 0 11 | ReplacementText: ' override' 12 | ... 13 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/order-dependent/expected.txt: -------------------------------------------------------------------------------- 1 | The new insertion has the same insert location as an existing replacement. 2 | New replacement: $(path)/order-dependent.cpp: 12:+0:"1" 3 | Existing replacement: $(path)/order-dependent.cpp: 12:+0:"0" 4 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/order-dependent/file1.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | MainSourceFile: order-dependent.cpp 3 | Diagnostics: 4 | - DiagnosticName: test-order-dependent-insertion 5 | DiagnosticMessage: 6 | Message: Fix 7 | FilePath: $(path)/order-dependent.cpp 8 | FileOffset: 12 9 | Replacements: 10 | - FilePath: $(path)/order-dependent.cpp 11 | Offset: 12 12 | Length: 0 13 | ReplacementText: '0' 14 | ... 15 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/order-dependent/file2.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | MainSourceFile: order-dependent.cpp 3 | Diagnostics: 4 | - DiagnosticName: test-order-dependent-insertion 5 | DiagnosticMessage: 6 | Message: Fix 7 | FilePath: $(path)/order-dependent.cpp 8 | FileOffset: 12 9 | Replacements: 10 | - FilePath: $(path)/order-dependent.cpp 11 | Offset: 12 12 | Length: 0 13 | ReplacementText: '1' 14 | ... 15 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/Inputs/order-dependent/order-dependent.cpp: -------------------------------------------------------------------------------- 1 | class MyType {}; 2 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/crlf.cpp: -------------------------------------------------------------------------------- 1 | // RUN: mkdir -p %T/Inputs/crlf 2 | // RUN: cat %S/Inputs/crlf/crlf.cpp > %T/Inputs/crlf/crlf.cpp 3 | // RUN: sed "s#\$(path)#%/T/Inputs/crlf#" %S/Inputs/crlf/file1.yaml > %T/Inputs/crlf/file1.yaml 4 | // RUN: clang-apply-replacements %T/Inputs/crlf 5 | // RUN: diff %T/Inputs/crlf/crlf.cpp %S/Inputs/crlf/crlf.cpp.expected 6 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/identical.cpp: -------------------------------------------------------------------------------- 1 | // RUN: mkdir -p %T/Inputs/identical 2 | // RUN: grep -Ev "// *[A-Z-]+:" %S/Inputs/identical/identical.cpp > %T/Inputs/identical/identical.cpp 3 | // RUN: sed "s#\$(path)#%/T/Inputs/identical#" %S/Inputs/identical/file1.yaml > %T/Inputs/identical/file1.yaml 4 | // RUN: sed "s#\$(path)#%/T/Inputs/identical#" %S/Inputs/identical/file2.yaml > %T/Inputs/identical/file2.yaml 5 | // RUN: clang-apply-replacements %T/Inputs/identical 6 | // RUN: FileCheck -input-file=%T/Inputs/identical/identical.cpp %S/Inputs/identical/identical.cpp 7 | -------------------------------------------------------------------------------- /test/clang-apply-replacements/invalid-files.cpp: -------------------------------------------------------------------------------- 1 | // RUN: mkdir -p %T/invalid-files 2 | // RUN: cp %S/Inputs/invalid-files/invalid-files.yaml %T/invalid-files/invalid-files.yaml 3 | // RUN: clang-apply-replacements %T/invalid-files 4 | // 5 | // Check that the yaml files are *not* deleted after running clang-apply-replacements without remove-change-desc-files. 6 | // RUN: ls %T/invalid-files/invalid-files.yaml 7 | -------------------------------------------------------------------------------- /test/clang-change-namespace/Inputs/fake-std.h: -------------------------------------------------------------------------------- 1 | namespace std { 2 | class STD {}; 3 | } 4 | 5 | using namespace std; 6 | -------------------------------------------------------------------------------- /test/clang-change-namespace/simple-move.cpp: -------------------------------------------------------------------------------- 1 | // RUN: clang-change-namespace -old_namespace "na::nb" -new_namespace "x::y" --file_pattern ".*" %s -- | sed 's,// CHECK.*,,' | FileCheck %s 2 | // CHECK: namespace x { 3 | // CHECK-NEXT: namespace y { 4 | namespace na { 5 | namespace nb { 6 | class A {}; 7 | // CHECK: } // namespace y 8 | // CHECK-NEXT: } // namespace x 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/clang-include-fixer/Inputs/database_template.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "directory": "test_dir/build", 4 | "command": "clang++ -I../include -o bar.o test_dir/src/bar.cpp", 5 | "file": "test_dir/src/bar.cpp" 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /test/clang-include-fixer/Inputs/merge/a.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | Name: foo 3 | Contexts: 4 | - ContextType: Namespace 5 | ContextName: a 6 | FilePath: foo.h 7 | Type: Class 8 | Seen: 1 9 | Used: 1 10 | ... 11 | --- 12 | Name: bar 13 | Contexts: 14 | - ContextType: Namespace 15 | ContextName: a 16 | FilePath: ../include/bar.h 17 | Type: Class 18 | Seen: 1 19 | Used: 2 20 | ... 21 | -------------------------------------------------------------------------------- /test/clang-include-fixer/Inputs/merge/b.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | Name: foo 3 | Contexts: 4 | - ContextType: Namespace 5 | ContextName: a 6 | FilePath: foo.h 7 | Type: Class 8 | Seen: 1 9 | Used: 2 10 | ... 11 | --- 12 | Name: bar 13 | Contexts: 14 | - ContextType: Namespace 15 | ContextName: a 16 | FilePath: ../include/barbar.h 17 | Type: Class 18 | Seen: 1 19 | Used: 0 20 | ... 21 | -------------------------------------------------------------------------------- /test/clang-include-fixer/exit_on_fatal.cpp: -------------------------------------------------------------------------------- 1 | // RUN: sed -e 's#//.*$##' %s > %t.cpp 2 | // RUN: not clang-include-fixer -db=fixed -input='foo= "foo.h"' %t.cpp -- 3 | // RUN: FileCheck %s -input-file=%t.cpp 4 | 5 | // CHECK-NOT: #include 6 | // CHECK: #include "doesnotexist.h" 7 | // CHECK-NEXT: foo f; 8 | 9 | #include "doesnotexist.h" 10 | foo f; 11 | -------------------------------------------------------------------------------- /test/clang-include-fixer/fixeddb.cpp: -------------------------------------------------------------------------------- 1 | // RUN: sed -e 's#//.*$##' %s > %t.cpp 2 | // RUN: clang-include-fixer -db=fixed -input='foo= "foo.h","bar.h"' %t.cpp -- 3 | // RUN: FileCheck %s -input-file=%t.cpp 4 | 5 | // CHECK: #include "foo.h" 6 | // CHECK: foo f; 7 | 8 | foo f; 9 | -------------------------------------------------------------------------------- /test/clang-include-fixer/prefix_variable.cpp: -------------------------------------------------------------------------------- 1 | // RUN: sed -e 's#//.*$##' %s > %t.cpp 2 | // RUN: clang-include-fixer -db=yaml -input=%p/Inputs/fake_yaml_db.yaml %t.cpp -- 3 | // RUN: FileCheck %s -input-file=%t.cpp 4 | 5 | // CHECK-NOT: #include 6 | // CHECK: doesnotexist f; 7 | 8 | namespace b { 9 | doesnotexist f; 10 | } 11 | -------------------------------------------------------------------------------- /test/clang-include-fixer/yaml_fuzzy.cpp: -------------------------------------------------------------------------------- 1 | // RUN: sed -e 's#//.*$##' %s > %t.cpp 2 | // RUN: clang-include-fixer -db=fuzzyYaml -input=%p/Inputs/fake_yaml_db.yaml %t.cpp -- 3 | // RUN: FileCheck %s -input-file=%t.cpp 4 | 5 | // clang-include-fixer will add the include, but doesn't complete the symbol. 6 | // CHECK: #include "foobar.h" 7 | // CHECK: fba f; 8 | 9 | b::a::fba f; 10 | -------------------------------------------------------------------------------- /test/clang-include-fixer/yamldb.cpp: -------------------------------------------------------------------------------- 1 | // RUN: sed -e 's#//.*$##' %s > %t.cpp 2 | // RUN: clang-include-fixer -db=yaml -input=%p/Inputs/fake_yaml_db.yaml %t.cpp -- 3 | // RUN: FileCheck %s -input-file=%t.cpp 4 | 5 | // CHECK: #include "foo.h" 6 | // CHECK: b::a::foo f; 7 | 8 | b::a::foo f; 9 | -------------------------------------------------------------------------------- /test/clang-include-fixer/yamldb_autodetect.cpp: -------------------------------------------------------------------------------- 1 | // RUN: mkdir -p %T/foo/bar 2 | // RUN: cp %p/Inputs/fake_yaml_db.yaml %T/find_all_symbols_db.yaml 3 | // RUN: cd %T/foo 4 | // RUN: sed -e 's#//.*$##' %s > bar/test.cpp 5 | // RUN: clang-include-fixer -db=yaml bar/test.cpp -- 6 | // RUN: FileCheck %s -input-file=bar/test.cpp 7 | 8 | // CHECK: #include "foo.h" 9 | // CHECK: b::a::foo f; 10 | 11 | b::a::foo f; 12 | -------------------------------------------------------------------------------- /test/clang-move/Inputs/database_template.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "directory": "$test_dir/build", 4 | "command": "clang++ -o test.o -I../include $test_dir/src/test.cpp", 5 | "file": "$test_dir/src/test.cpp" 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /test/clang-move/Inputs/enum.h: -------------------------------------------------------------------------------- 1 | namespace a { 2 | enum E1 { Green, Red }; 3 | 4 | enum class E2 { Yellow }; 5 | 6 | class C { 7 | enum E3 { Blue }; 8 | }; 9 | } // namespace a 10 | -------------------------------------------------------------------------------- /test/clang-move/Inputs/function_test.cpp: -------------------------------------------------------------------------------- 1 | #include "function_test.h" 2 | 3 | void f() {} 4 | 5 | void A::f() {} 6 | -------------------------------------------------------------------------------- /test/clang-move/Inputs/function_test.h: -------------------------------------------------------------------------------- 1 | void f(); 2 | 3 | inline int g() { return 0; } 4 | 5 | template 6 | void h(T t) {} 7 | 8 | template<> 9 | void h(int t) {} 10 | 11 | class A { 12 | public: 13 | void f(); 14 | }; 15 | -------------------------------------------------------------------------------- /test/clang-move/Inputs/helper_decls_test.h: -------------------------------------------------------------------------------- 1 | namespace a { 2 | class Class1 { 3 | void f(); 4 | }; 5 | 6 | class Class2 { 7 | void f(); 8 | }; 9 | 10 | class Class3 { 11 | void f(); 12 | }; 13 | 14 | class Class4 { 15 | void f(); 16 | }; 17 | 18 | class Class5 { 19 | void f(); 20 | }; 21 | 22 | class Class6 { 23 | int f(); 24 | }; 25 | 26 | class Class7 { 27 | int f(); 28 | int g(); 29 | }; 30 | 31 | void Fun1(); 32 | 33 | inline void Fun2() {} 34 | 35 | } // namespace a 36 | 37 | namespace b { 38 | void Fun3(); 39 | } // namespace b 40 | -------------------------------------------------------------------------------- /test/clang-move/Inputs/macro_helper_test.cpp: -------------------------------------------------------------------------------- 1 | #include "macro_helper_test.h" 2 | 3 | #define DEFINE(name) \ 4 | namespace ns { \ 5 | static const bool t1 = false; \ 6 | bool t2_##name = t1; \ 7 | bool t3_##name = t1; \ 8 | } \ 9 | using ns::t2_##name; 10 | 11 | DEFINE(test) 12 | 13 | void f1() {} 14 | -------------------------------------------------------------------------------- /test/clang-move/Inputs/macro_helper_test.h: -------------------------------------------------------------------------------- 1 | class A {}; 2 | void f1(); 3 | -------------------------------------------------------------------------------- /test/clang-move/Inputs/template_class_test.cpp: -------------------------------------------------------------------------------- 1 | #include "template_class_test.h" 2 | 3 | template 4 | void A::g() {} 5 | 6 | template 7 | template 8 | void A::k() {} 9 | 10 | template 11 | int A::c = 2; 12 | 13 | void B::f() {} 14 | -------------------------------------------------------------------------------- /test/clang-move/Inputs/test.cpp: -------------------------------------------------------------------------------- 1 | #include "test.h" 2 | #include "test2.h" 3 | 4 | namespace a { 5 | int Foo::f() { 6 | return 0; 7 | } 8 | int Foo::f2(int a, int b) { 9 | return a + b; 10 | } 11 | } // namespace a 12 | -------------------------------------------------------------------------------- /test/clang-move/Inputs/test.h: -------------------------------------------------------------------------------- 1 | #ifndef TEST_H // comment 1 2 | #define TEST_H 3 | namespace a { 4 | class Foo { 5 | public: 6 | int f(); 7 | int f2(int a, int b); 8 | }; 9 | } // namespace a 10 | #endif // TEST_H 11 | -------------------------------------------------------------------------------- /test/clang-move/Inputs/type_alias.h: -------------------------------------------------------------------------------- 1 | typedef int Int1; 2 | using Int2 = int; 3 | 4 | template 5 | struct A {}; 6 | 7 | template using B = A; 8 | 9 | class C { 10 | typedef int Int3; 11 | }; 12 | -------------------------------------------------------------------------------- /test/clang-move/Inputs/var_test.cpp: -------------------------------------------------------------------------------- 1 | #include "var_test.h" 2 | 3 | namespace a{ 4 | int kGlobalInt = 1; 5 | const char *const kGlobalStr = "Hello"; 6 | } 7 | -------------------------------------------------------------------------------- /test/clang-move/Inputs/var_test.h: -------------------------------------------------------------------------------- 1 | namespace a { 2 | extern int kGlobalInt; 3 | extern const char *const kGlobalStr; 4 | } 5 | 6 | int kEvilInt = 2; 7 | 8 | inline void f1() { 9 | int kGlobalInt = 3; 10 | const char *const kGlobalStr = "Hello2"; 11 | } 12 | -------------------------------------------------------------------------------- /test/clang-query/Inputs/foo.script: -------------------------------------------------------------------------------- 1 | foo 2 | bar 3 | -------------------------------------------------------------------------------- /test/clang-query/errors.c: -------------------------------------------------------------------------------- 1 | // RUN: not clang-query -c foo -c bar %s -- | FileCheck %s 2 | // RUN: not clang-query -f %S/Inputs/foo.script %s -- | FileCheck %s 3 | // RUN: not clang-query -f %S/Inputs/nonexistent.script %s -- 2>&1 | FileCheck --check-prefix=CHECK-NONEXISTENT %s 4 | // RUN: not clang-query -c foo -f foo %s -- 2>&1 | FileCheck --check-prefix=CHECK-BOTH %s 5 | 6 | // CHECK: unknown command: foo 7 | // CHECK-NOT: unknown command: bar 8 | 9 | // CHECK-NONEXISTENT: cannot open {{.*}}nonexistent.script 10 | // CHECK-BOTH: cannot specify both -c and -f 11 | -------------------------------------------------------------------------------- /test/clang-query/function-decl.c: -------------------------------------------------------------------------------- 1 | // RUN: clang-query -c "match functionDecl()" %s -- | FileCheck %s 2 | 3 | // CHECK: function-decl.c:4:1: note: "root" binds here 4 | void foo(void) {} 5 | -------------------------------------------------------------------------------- /test/clang-reorder-fields/AggregatePartialInitialization.cpp: -------------------------------------------------------------------------------- 1 | // RUN: clang-reorder-fields -record-name Foo -fields-order z,y,x %s -- | FileCheck %s 2 | 3 | // The order of fields should not change. 4 | class Foo { 5 | public: 6 | int x; // CHECK: {{^ int x;}} 7 | int y; // CHECK-NEXT: {{^ int y;}} 8 | int z; // CHECK-NEXT: {{^ int z;}} 9 | }; 10 | 11 | int main() { 12 | Foo foo = { 0, 1 }; // CHECK: {{^ Foo foo = { 0, 1 };}} 13 | return 0; 14 | } 15 | -------------------------------------------------------------------------------- /test/clang-reorder-fields/CStructAmbiguousName.cpp: -------------------------------------------------------------------------------- 1 | // RUN: clang-reorder-fields -record-name ::Foo -fields-order y,x %s -- | FileCheck %s 2 | 3 | struct Foo { 4 | int x; // CHECK: {{^ double y;}} 5 | double y; // CHECK-NEXT: {{^ int x;}} 6 | }; 7 | 8 | namespace bar { 9 | struct Foo { 10 | int x; // CHECK: {{^ int x;}} 11 | double y; // CHECK-NEXT: {{^ double y;}} 12 | }; 13 | } // end namespace bar 14 | 15 | int main() { 16 | bar::Foo foo = { 1, 1.7 }; // CHECK: {{^ bar::Foo foo = { 1, 1.7 };}} 17 | return 0; 18 | } 19 | -------------------------------------------------------------------------------- /test/clang-reorder-fields/ClassDifferentFieldsAccesses.cpp: -------------------------------------------------------------------------------- 1 | // RUN: clang-reorder-fields -record-name Foo -fields-order z,y,x %s -- | FileCheck %s 2 | 3 | // The order of fields should not change. 4 | class Foo { 5 | public: 6 | int x; // CHECK: {{^ int x;}} 7 | 8 | private: 9 | int y; // CHECK: {{^ int y;}} 10 | int z; // CHECK-NEXT: {{^ int z;}} 11 | }; 12 | 13 | int main() { 14 | Foo foo; 15 | return 0; 16 | } 17 | -------------------------------------------------------------------------------- /test/clang-reorder-fields/PlainCStructFieldsOrder.c: -------------------------------------------------------------------------------- 1 | // RUN: clang-reorder-fields -record-name Foo -fields-order z,w,y,x %s -- | FileCheck %s 2 | 3 | struct Foo { 4 | const int* x; // CHECK: {{^ double z;}} 5 | int y; // CHECK-NEXT: {{^ int w;}} 6 | double z; // CHECK-NEXT: {{^ int y;}} 7 | int w; // CHECK-NEXT: {{^ const int\* x}} 8 | }; 9 | 10 | int main() { 11 | const int x = 13; 12 | struct Foo foo = { &x, 0, 1.29, 17 }; // CHECK: {{^ struct Foo foo = { 1.29, 17, 0, &x };}} 13 | return 0; 14 | } 15 | -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/Headers/a.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/Headers/a.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/Headers/b.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/Headers/b.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/Headers/clang-c/c.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/Headers/clang-c/c.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/Headers/clang/b.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/Headers/clang/b.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/Headers/cross-file-a.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/Headers/cross-file-a.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/Headers/cross-file-b.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/Headers/cross-file-b.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/Headers/cross-file-c.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | // The line number of the following include should match the location of the 40 | // corresponding comment in llvm-include-order.cpp 41 | #include "cross-file-b.h" 42 | -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/Headers/gtest/foo.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/Headers/gtest/foo.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/Headers/i.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/Headers/i.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/Headers/j.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/Headers/j.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/Headers/llvm-c/d.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/Headers/llvm-c/d.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/Headers/llvm/a.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/Headers/llvm/a.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/Headers/s.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/Headers/s.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/absl/external-file.h: -------------------------------------------------------------------------------- 1 | namespace absl { 2 | namespace base_internal { 3 | void InternalFunction() {} 4 | } // namespace base_internal 5 | } //namespace absl 6 | void DirectAccess2() { absl::base_internal::InternalFunction(); } 7 | -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/absl/flags/internal-file.h: -------------------------------------------------------------------------------- 1 | #define USE_INTERNAL(x) absl::strings_internal::Internal##x() 2 | -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/fuchsia-restrict-system-includes/a.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/fuchsia-restrict-system-includes/a.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/fuchsia-restrict-system-includes/system/cstdarg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/fuchsia-restrict-system-includes/system/cstdarg.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/fuchsia-restrict-system-includes/system/cstdlib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/fuchsia-restrict-system-includes/system/cstdlib.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/fuchsia-restrict-system-includes/system/j.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/fuchsia-restrict-system-includes/system/j.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/fuchsia-restrict-system-includes/system/r.h: -------------------------------------------------------------------------------- 1 | void f() {} 2 | -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/fuchsia-restrict-system-includes/system/s.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/fuchsia-restrict-system-includes/system/s.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/fuchsia-restrict-system-includes/system/t.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/fuchsia-restrict-system-includes/system/t.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/fuchsia-restrict-system-includes/system/transitive.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/fuchsia-restrict-system-includes/transitive2.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/google-namespaces.h: -------------------------------------------------------------------------------- 1 | namespace { 2 | int x; 3 | } 4 | 5 | namespace spaaaace { 6 | class core; 7 | } 8 | -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/assert.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/assert.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/complex.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/complex.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/ctype.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/ctype.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/errno.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/errno.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/fenv.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/fenv.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/float.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/float.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/inttypes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/inttypes.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/iso646.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/iso646.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/limits.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/limits.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/locale.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/locale.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/math.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/math.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/setjmp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/setjmp.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/signal.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/signal.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/stdalign.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/stdalign.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/stdarg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/stdarg.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/stdbool.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/stdbool.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/stddef.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/stddef.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/stdint.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/stdint.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/stdio.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/stdio.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/stdlib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/stdlib.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/string.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/string.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/tgmath.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/tgmath.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/time.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/time.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/uchar.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/uchar.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/wchar.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/wchar.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/wctype.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llvm-mirror/clang-tools-extra/5c40544fa40bfb85ec888b6a03421b3905e4a4e7/test/clang-tidy/checkers/Inputs/modernize-deprecated-headers/wctype.h -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-pass-by-value/header-with-fix.h: -------------------------------------------------------------------------------- 1 | struct S { 2 | S(S&&); 3 | S(const S&); 4 | }; 5 | struct Foo { 6 | Foo(const S &s); 7 | S s; 8 | }; 9 | -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/modernize-pass-by-value/header.h: -------------------------------------------------------------------------------- 1 | class ThreadId { 2 | public: 3 | ThreadId(const ThreadId &) {} 4 | ThreadId(ThreadId &&) {} 5 | }; 6 | 7 | struct A { 8 | A(const ThreadId &tid) : threadid(tid) {} 9 | ThreadId threadid; 10 | }; 11 | -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/performance-unnecessary-value-param/header-fixed.h: -------------------------------------------------------------------------------- 1 | // struct ABC is expensive to copy and should be 2 | // passed as a const referece. 3 | struct ABC { 4 | ABC(const ABC&); 5 | int get(int) const; 6 | }; 7 | 8 | 9 | int f1(int n, const ABC& v1, const ABC& v2); // line 9 10 | 11 | int f1(int n, ABC v1); // line 11 12 | 13 | 14 | 15 | int f2( int n, const ABC& v2); // line 15 16 | -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/performance-unnecessary-value-param/header.h: -------------------------------------------------------------------------------- 1 | // struct ABC is expensive to copy and should be 2 | // passed as a const referece. 3 | struct ABC { 4 | ABC(const ABC&); 5 | int get(int) const; 6 | }; 7 | 8 | 9 | int f1(int n, ABC v1, ABC v2); // line 9 10 | 11 | int f1(int n, ABC v1); // line 11 12 | 13 | 14 | 15 | int f2( int n, ABC v2); // line 15 16 | -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/readability-identifier-naming/system/system-header.h: -------------------------------------------------------------------------------- 1 | #ifndef SYSTEM_HEADER_H 2 | #define SYSTEM_HEADER_H 3 | 4 | #define SYSTEM_MACRO(m) int m = 0 5 | 6 | namespace SYSTEM_NS { 7 | class structure { 8 | int member; 9 | }; 10 | 11 | float global; 12 | 13 | void function() { 14 | } 15 | } 16 | 17 | #endif // SYSTEM_HEADER_H 18 | -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/readability-identifier-naming/user-header.h: -------------------------------------------------------------------------------- 1 | #ifndef USER_HEADER_H 2 | #define USER_HEADER_H 3 | 4 | #define USER_MACRO(m) int m = 0 5 | 6 | namespace USER_NS { 7 | class object { 8 | int member; 9 | }; 10 | 11 | float global; 12 | 13 | void function() { 14 | } 15 | } 16 | 17 | #endif // USER_HEADER_H 18 | -------------------------------------------------------------------------------- /test/clang-tidy/checkers/Inputs/unused-using-decls.h: -------------------------------------------------------------------------------- 1 | class MyClass { 2 | public: 3 | template