[www-releases] r368047 - Add 8.0.1 clang-tools-extra docs
Tom Stellard via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 6 07:50:33 PDT 2019
Author: tstellar
Date: Tue Aug 6 07:50:31 2019
New Revision: 368047
URL: http://llvm.org/viewvc/llvm-project?rev=368047&view=rev
Log:
Add 8.0.1 clang-tools-extra docs
Added:
www-releases/trunk/8.0.1/tools/clang/tools/
www-releases/trunk/8.0.1/tools/clang/tools/extra/
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/ModularizeUsage.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/ReleaseNotes.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/ApplyFixInVSCode.gif (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInEmacsCompanyMode.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInSublimeText.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInVSCode.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInYCM.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInsertsNamespaceQualifiersInVSCode.gif (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/DiagnosticsInEmacsEglot.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/ErrorsInVSCode.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/FindAllReferencesInVSCode.gif (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/FormatSelectionInVSCode.gif (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/GoToDefinitionInVSCode.gif (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/NavigationWithBreadcrumbsInVSCode.gif (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/OutlineInVSCode.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/SignatureHelpInVSCode.gif (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/ModularizeUsage.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/ReleaseNotes.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-doc.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-modernize.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-rename.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/Contributing.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/Integrations.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-comparison.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-division.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-factory-float.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-factory-scale.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-subtraction.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-faster-strsplit-delimiter.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-no-internal-dependencies.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-no-namespace.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-redundant-strcat-calls.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-str-cat-append.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-string-find-startswith.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-upgrade-duration-conversions.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-accept.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-accept4.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-creat.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-dup.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-epoll-create.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-epoll-create1.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-fopen.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-inotify-init.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-inotify-init1.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-memfd-create.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-open.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-socket.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-comparison-in-temp-failure-retry.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/boost-use-to-string.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-argument-comment.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-assert-side-effect.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-bool-pointer-implicit-conversion.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-copy-constructor-init.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-dangling-handle.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-exception-escape.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-fold-init-type.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-forward-declaration-namespace.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-forwarding-reference-overload.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-inaccurate-erase.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-incorrect-roundings.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-integer-division.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-lambda-function-name.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-macro-parentheses.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-macro-repeated-side-effects.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-misplaced-operator-in-strlen-in-alloc.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-misplaced-widening-cast.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-move-forwarding-reference.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-multiple-statement-macro.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-parent-virtual-call.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-sizeof-container.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-sizeof-expression.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-string-constructor.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-string-integer-assignment.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-string-literal-with-embedded-nul.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-enum-usage.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-memset-usage.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-missing-comma.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-semicolon.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-string-compare.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-swapped-arguments.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-terminating-continue.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-throw-keyword-missing.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-too-small-loop-variable.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-undefined-memory-manipulation.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-undelegated-constructor.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-unused-raii.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-unused-return-value.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-use-after-move.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-virtual-near-miss.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl03-c.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl16-c.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl21-cpp.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl50-cpp.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl54-cpp.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl58-cpp.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl59-cpp.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-env33-c.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err09-cpp.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err34-c.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err52-cpp.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err58-cpp.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err60-cpp.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err61-cpp.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-fio38-c.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-flp30-c.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc30-c.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc32-c.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc50-cpp.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc51-cpp.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-oop11-cpp.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-avoid-c-arrays.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-avoid-goto.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-avoid-magic-numbers.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-interfaces-global-init.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-macro-usage.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-narrowing-conversions.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-no-malloc.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-non-private-member-variables-in-classes.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-owning-memory.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-bounds-array-to-pointer-decay.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-bounds-pointer-arithmetic.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-const-cast.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-cstyle-cast.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-member-init.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-reinterpret-cast.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-static-cast-downcast.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-union-access.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-vararg.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-slicing.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-special-member-functions.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-default-arguments.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-header-anon-namespaces.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-multiple-inheritance.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-overloaded-operator.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-restrict-system-includes.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-statically-constructed-objects.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-trailing-return.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-virtual-inheritance.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-build-explicit-make-pair.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-build-namespaces.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-build-using-namespace.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-default-arguments.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-explicit-constructor.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-global-names-in-headers.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-objc-avoid-throwing-exception.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-objc-function-naming.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-objc-global-variable-declaration.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-braces-around-statements.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-casting.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-function-size.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-namespace-comments.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-todo.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-runtime-int.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-runtime-operator.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-runtime-references.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-avoid-c-arrays.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-avoid-goto.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-braces-around-statements.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-deprecated-headers.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-exception-baseclass.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-explicit-conversions.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-function-size.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-invalid-access-moved.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-member-init.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-move-const-arg.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-multiway-paths-covered.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-named-parameter.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-new-delete-operators.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-no-array-decay.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-no-assembler.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-no-malloc.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-noexcept-move.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-signed-bitwise.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-special-member-functions.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-static-assert.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-undelegated-constructor.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-uppercase-literal-suffix.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-auto.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-emplace.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-equals-default.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-equals-delete.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-noexcept.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-nullptr.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-override.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-vararg.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/list.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-header-guard.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-include-order.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-namespace-comment.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-twine-local.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-definitions-in-headers.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-misplaced-const.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-new-delete-overloads.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-non-copyable-objects.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-non-private-member-variables-in-classes.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-redundant-expression.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-static-assert.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-throw-by-value-catch-by-reference.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unconventional-assign-operator.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-uniqueptr-reset-release.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unused-alias-decls.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unused-parameters.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unused-using-decls.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-avoid-bind.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-avoid-c-arrays.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-concat-nested-namespaces.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-deprecated-headers.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-deprecated-ios-base-aliases.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-loop-convert.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-make-shared.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-make-unique.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-pass-by-value.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-raw-string-literal.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-redundant-void-arg.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-replace-auto-ptr.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-replace-random-shuffle.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-return-braced-init-list.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-shrink-to-fit.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-unary-static-assert.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-auto.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-bool-literals.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-default-member-init.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-default.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-emplace.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-equals-default.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-equals-delete.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-nodiscard.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-noexcept.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-nullptr.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-override.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-transparent-functors.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-uncaught-exceptions.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-using.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/mpi-buffer-deref.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/mpi-type-mismatch.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-avoid-nserror-init.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-avoid-spinlock.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-forbidden-subclassing.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-property-declaration.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-faster-string-find.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-for-range-copy.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-implicit-cast-in-loop.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-implicit-conversion-in-loop.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-inefficient-algorithm.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-inefficient-string-concatenation.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-inefficient-vector-operation.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-move-const-arg.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-move-constructor-init.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-noexcept-move-constructor.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-type-promotion-in-math-fn.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-unnecessary-copy-initialization.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-unnecessary-value-param.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/portability-simd-intrinsics.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-avoid-const-params-in-decls.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-braces-around-statements.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-const-return-type.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-container-size-empty.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-delete-null-pointer.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-deleted-default.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-else-after-return.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-function-size.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-identifier-naming.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-implicit-bool-cast.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-implicit-bool-conversion.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-inconsistent-declaration-parameter-name.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-isolate-declaration.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-magic-numbers.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-misleading-indentation.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-misplaced-array-index.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-named-parameter.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-non-const-parameter.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-control-flow.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-declaration.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-function-ptr-dereference.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-member-init.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-preprocessor.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-smartptr-get.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-string-cstr.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-string-init.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-simplify-boolean-expr.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-simplify-subscript-expr.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-static-accessed-through-instance.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-string-compare.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-uniqueptr-delete-release.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-uppercase-literal-suffix.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/zircon-temporary-objects.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/index.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/DeveloperDocumentation.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/Extensions.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/Features.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/Installation.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/index.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/cpp11-migrate.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/include-fixer.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/index.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/modularize.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/pp-trace.rst.txt
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/ajax-loader.gif (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/alert_info_32.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/alert_warning_32.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/basic.css
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/bg-page.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/bullet_orange.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/clang-tools-extra-styles.css
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/comment-bright.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/comment-close.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/comment.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/doctools.js
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/documentation_options.js
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/down-pressed.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/down.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/file.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/haiku.css
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/jquery-3.2.1.js
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/jquery.js
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/minus.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/plus.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/pygments.css
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/searchtools.js
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/underscore-1.3.1.js
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/underscore.js
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/up-pressed.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/up.png (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/websupport.js
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-doc.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-modernize.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-rename.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/Contributing.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/Integrations.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/abseil-duration-comparison.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/abseil-duration-division.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/abseil-duration-factory-float.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/abseil-duration-factory-scale.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/abseil-duration-subtraction.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/abseil-faster-strsplit-delimiter.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/abseil-no-internal-dependencies.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/abseil-no-namespace.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/abseil-redundant-strcat-calls.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/abseil-str-cat-append.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/abseil-string-find-startswith.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/abseil-upgrade-duration-conversions.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android-cloexec-accept.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android-cloexec-accept4.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android-cloexec-creat.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android-cloexec-dup.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android-cloexec-epoll-create.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android-cloexec-epoll-create1.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android-cloexec-fopen.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android-cloexec-inotify-init.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android-cloexec-inotify-init1.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android-cloexec-memfd-create.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android-cloexec-open.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android-cloexec-socket.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android-comparison-in-temp-failure-retry.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/boost-use-to-string.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-argument-comment.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-assert-side-effect.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-bool-pointer-implicit-conversion.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-copy-constructor-init.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-dangling-handle.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-exception-escape.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-fold-init-type.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-forward-declaration-namespace.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-forwarding-reference-overload.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-inaccurate-erase.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-incorrect-roundings.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-integer-division.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-lambda-function-name.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-macro-parentheses.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-macro-repeated-side-effects.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-misplaced-operator-in-strlen-in-alloc.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-misplaced-widening-cast.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-move-forwarding-reference.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-multiple-statement-macro.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-parent-virtual-call.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-sizeof-container.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-sizeof-expression.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-string-constructor.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-string-integer-assignment.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-string-literal-with-embedded-nul.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-suspicious-enum-usage.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-suspicious-memset-usage.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-suspicious-missing-comma.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-suspicious-semicolon.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-suspicious-string-compare.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-swapped-arguments.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-terminating-continue.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-throw-keyword-missing.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-too-small-loop-variable.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-undefined-memory-manipulation.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-undelegated-constructor.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-unused-raii.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-unused-return-value.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-use-after-move.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone-virtual-near-miss.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-dcl03-c.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-dcl16-c.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-dcl21-cpp.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-dcl50-cpp.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-dcl54-cpp.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-dcl58-cpp.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-dcl59-cpp.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-env33-c.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-err09-cpp.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-err34-c.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-err52-cpp.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-err58-cpp.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-err60-cpp.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-err61-cpp.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-fio38-c.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-flp30-c.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-msc30-c.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-msc32-c.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-msc50-cpp.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-msc51-cpp.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert-oop11-cpp.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-avoid-c-arrays.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-avoid-goto.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-avoid-magic-numbers.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-interfaces-global-init.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-macro-usage.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-narrowing-conversions.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-no-malloc.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-non-private-member-variables-in-classes.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-owning-memory.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-pro-bounds-array-to-pointer-decay.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-pro-bounds-pointer-arithmetic.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-pro-type-const-cast.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-pro-type-cstyle-cast.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-pro-type-member-init.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-pro-type-reinterpret-cast.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-pro-type-static-cast-downcast.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-pro-type-union-access.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-pro-type-vararg.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-slicing.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines-special-member-functions.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/fuchsia-default-arguments.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/fuchsia-header-anon-namespaces.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/fuchsia-multiple-inheritance.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/fuchsia-overloaded-operator.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/fuchsia-restrict-system-includes.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/fuchsia-statically-constructed-objects.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/fuchsia-trailing-return.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/fuchsia-virtual-inheritance.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-build-explicit-make-pair.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-build-namespaces.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-build-using-namespace.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-default-arguments.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-explicit-constructor.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-global-names-in-headers.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-objc-avoid-throwing-exception.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-objc-function-naming.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-objc-global-variable-declaration.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-braces-around-statements.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-casting.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-function-size.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-namespace-comments.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-readability-todo.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-int.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-operator.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google-runtime-references.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-avoid-c-arrays.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-avoid-goto.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-braces-around-statements.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-deprecated-headers.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-exception-baseclass.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-explicit-conversions.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-function-size.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-invalid-access-moved.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-member-init.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-move-const-arg.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-multiway-paths-covered.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-named-parameter.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-new-delete-operators.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-no-array-decay.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-no-assembler.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-no-malloc.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-noexcept-move.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-signed-bitwise.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-special-member-functions.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-static-assert.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-undelegated-constructor.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-uppercase-literal-suffix.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-use-auto.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-use-emplace.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-use-equals-default.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-use-equals-delete.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-use-noexcept.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-use-nullptr.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-use-override.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp-vararg.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/list.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-header-guard.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-include-order.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-namespace-comment.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/llvm-twine-local.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc-definitions-in-headers.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc-misplaced-const.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc-new-delete-overloads.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc-non-copyable-objects.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc-non-private-member-variables-in-classes.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc-redundant-expression.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc-static-assert.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc-throw-by-value-catch-by-reference.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unconventional-assign-operator.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc-uniqueptr-reset-release.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-alias-decls.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-parameters.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc-unused-using-decls.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-avoid-bind.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-avoid-c-arrays.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-concat-nested-namespaces.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-deprecated-headers.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-deprecated-ios-base-aliases.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-loop-convert.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-make-shared.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-make-unique.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-pass-by-value.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-raw-string-literal.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-redundant-void-arg.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-replace-auto-ptr.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-replace-random-shuffle.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-return-braced-init-list.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-shrink-to-fit.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-unary-static-assert.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-auto.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-bool-literals.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-default-member-init.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-default.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-emplace.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-equals-default.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-equals-delete.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-nodiscard.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-noexcept.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-nullptr.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-override.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-transparent-functors.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-uncaught-exceptions.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-use-using.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/mpi-buffer-deref.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/mpi-type-mismatch.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/objc-avoid-nserror-init.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/objc-avoid-spinlock.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/objc-forbidden-subclassing.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/objc-property-declaration.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance-faster-string-find.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance-for-range-copy.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance-implicit-cast-in-loop.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance-implicit-conversion-in-loop.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance-inefficient-algorithm.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance-inefficient-string-concatenation.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance-inefficient-vector-operation.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance-move-const-arg.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance-move-constructor-init.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance-noexcept-move-constructor.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance-type-promotion-in-math-fn.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-copy-initialization.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance-unnecessary-value-param.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/portability-simd-intrinsics.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-avoid-const-params-in-decls.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-braces-around-statements.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-const-return-type.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-container-size-empty.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-delete-null-pointer.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-deleted-default.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-else-after-return.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-function-size.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-identifier-naming.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-implicit-bool-cast.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-implicit-bool-conversion.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-inconsistent-declaration-parameter-name.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-isolate-declaration.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-magic-numbers.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-misleading-indentation.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-misplaced-array-index.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-named-parameter.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-non-const-parameter.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-control-flow.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-declaration.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-function-ptr-dereference.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-member-init.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-preprocessor.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-smartptr-get.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-cstr.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-redundant-string-init.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-boolean-expr.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-simplify-subscript-expr.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-accessed-through-instance.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-string-compare.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uniqueptr-delete-release.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uppercase-literal-suffix.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/zircon-temporary-objects.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clang-tidy/index.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clangd/
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clangd.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clangd/DeveloperDocumentation.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clangd/Extensions.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clangd/Features.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clangd/Installation.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/clangd/index.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/cpp11-migrate.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/genindex.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/include-fixer.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/index.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/modularize.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/objects.inv (with props)
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/pp-trace.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/search.html
www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/searchindex.js
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/ModularizeUsage.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/ModularizeUsage.html?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/ModularizeUsage.html (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/ModularizeUsage.html Tue Aug 6 07:50:31 2019
@@ -0,0 +1,169 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>Modularize Usage — Extra Clang Tools 8 documentation</title>
+ <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" href="_static/clang-tools-extra-styles.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/underscore.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+ <link rel="index" title="Index" href="genindex.html" />
+ <link rel="search" title="Search" href="search.html" />
+ <link rel="next" title="pp-trace Userâs Manual" href="pp-trace.html" />
+ <link rel="prev" title="Modularize Userâs Manual" href="modularize.html" />
+ </head><body>
+ <div class="header" role="banner"><h1 class="heading"><a href="index.html">
+ <span>Extra Clang Tools 8 documentation</span></a></h1>
+ <h2 class="heading"><span>Modularize Usage</span></h2>
+ </div>
+ <div class="topnav" role="navigation" aria-label="top navigation">
+
+ <p>
+ « <a href="modularize.html">Modularize Userâs Manual</a>
+ ::
+ <a class="uplink" href="index.html">Contents</a>
+ ::
+ <a href="pp-trace.html">pp-trace Userâs Manual</a> »
+ </p>
+
+ </div>
+ <div class="content">
+
+
+ <div class="section" id="modularize-usage">
+<h1>Modularize Usage<a class="headerlink" href="#modularize-usage" title="Permalink to this headline">¶</a></h1>
+<p><code class="docutils literal notranslate"><span class="pre">modularize</span> <span class="pre">[<modularize-options>]</span> <span class="pre">[<module-map>|<include-files-list>]*</span>
+<span class="pre">[<front-end-options>...]</span></code></p>
+<p><code class="docutils literal notranslate"><span class="pre"><modularize-options></span></code> is a place-holder for options
+specific to modularize, which are described below in
+<cite>Modularize Command Line Options</cite>.</p>
+<p><code class="docutils literal notranslate"><span class="pre"><module-map></span></code> specifies the path of a file name for an
+existing module map. The module map must be well-formed in
+terms of syntax. Modularize will extract the header file names
+from the map. Only normal headers are checked, assuming headers
+marked âprivateâ, âtextualâ, or âexcludeâ are not to be checked
+as a top-level include, assuming they either are included by
+other headers which are checked, or they are not suitable for
+modules.</p>
+<p><code class="docutils literal notranslate"><span class="pre"><include-files-list></span></code> specifies the path of a file name for a
+file containing the newline-separated list of headers to check
+with respect to each other. Lines beginning with â#â and empty
+lines are ignored. Header file names followed by a colon and
+other space-separated file names will include those extra files
+as dependencies. The file names can be relative or full paths,
+but must be on the same line. For example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">header1</span><span class="o">.</span><span class="n">h</span>
+<span class="n">header2</span><span class="o">.</span><span class="n">h</span>
+<span class="n">header3</span><span class="o">.</span><span class="n">h</span><span class="p">:</span> <span class="n">header1</span><span class="o">.</span><span class="n">h</span> <span class="n">header2</span><span class="o">.</span><span class="n">h</span>
+</pre></div>
+</div>
+<p>Note that unless a <code class="docutils literal notranslate"><span class="pre">-prefix</span> <span class="pre">(header</span> <span class="pre">path)</span></code> option is specified,
+non-absolute file paths in the header list file will be relative
+to the header list file directory. Use -prefix to specify a different
+directory.</p>
+<p><code class="docutils literal notranslate"><span class="pre"><front-end-options></span></code> is a place-holder for regular Clang
+front-end arguments, which must follow the <include-files-list>.
+Note that by default, modularize assumes .h files
+contain C++ source, so if you are using a different language,
+you might need to use a <code class="docutils literal notranslate"><span class="pre">-x</span></code> option to tell Clang that the
+header contains another language, i.e.: <code class="docutils literal notranslate"><span class="pre">-x</span> <span class="pre">c</span></code></p>
+<p>Note also that because modularize does not use the clang driver,
+you will likely need to pass in additional compiler front-end
+arguments to match those passed in by default by the driver.</p>
+<div class="section" id="modularize-command-line-options">
+<h2>Modularize Command Line Options<a class="headerlink" href="#modularize-command-line-options" title="Permalink to this headline">¶</a></h2>
+<dl class="option">
+<dt id="cmdoption-prefix">
+<code class="descname">-prefix</code><code class="descclassname">=<header-path></code><a class="headerlink" href="#cmdoption-prefix" title="Permalink to this definition">¶</a></dt>
+<dd><p>Prepend the given path to non-absolute file paths in the header list file.
+By default, headers are assumed to be relative to the header list file
+directory. Use <code class="docutils literal notranslate"><span class="pre">-prefix</span></code> to specify a different directory.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-module-map-path">
+<code class="descname">-module-map-path</code><code class="descclassname">=<module-map-path></code><a class="headerlink" href="#cmdoption-module-map-path" title="Permalink to this definition">¶</a></dt>
+<dd><p>Generate a module map and output it to the given file. See the description
+in <a class="reference internal" href="modularize.html#module-map-generation"><span class="std std-ref">Module Map Generation</span></a>.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-problem-files-list">
+<code class="descname">-problem-files-list</code><code class="descclassname">=<problem-files-list-file-name></code><a class="headerlink" href="#cmdoption-problem-files-list" title="Permalink to this definition">¶</a></dt>
+<dd><p>For use only with module map assistant. Input list of files that
+have problems with respect to modules. These will still be
+included in the generated module map, but will be marked as
+âexcludedâ headers.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-root-module">
+<code class="descname">-root-module</code><code class="descclassname">=<root-name></code><a class="headerlink" href="#cmdoption-root-module" title="Permalink to this definition">¶</a></dt>
+<dd><p>Put modules generated by the -module-map-path option in an enclosing
+module with the given name. See the description in <a class="reference internal" href="modularize.html#module-map-generation"><span class="std std-ref">Module Map Generation</span></a>.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-block-check-header-list-only">
+<code class="descname">-block-check-header-list-only</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-block-check-header-list-only" title="Permalink to this definition">¶</a></dt>
+<dd><p>Limit the #include-inside-extern-or-namespace-block
+check to only those headers explicitly listed in the header list.
+This is a work-around for avoiding error messages for private includes that
+purposefully get included inside blocks.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-no-coverage-check">
+<code class="descname">-no-coverage-check</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-no-coverage-check" title="Permalink to this definition">¶</a></dt>
+<dd><p>Donât do the coverage check for a module map.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-coverage-check-only">
+<code class="descname">-coverage-check-only</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-coverage-check-only" title="Permalink to this definition">¶</a></dt>
+<dd><p>Only do the coverage check for a module map.</p>
+</dd></dl>
+
+<dl class="option">
+<dt id="cmdoption-display-file-lists">
+<code class="descname">-display-file-lists</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-display-file-lists" title="Permalink to this definition">¶</a></dt>
+<dd><p>Display lists of good files (no compile errors), problem files,
+and a combined list with problem files preceded by a â#â.
+This can be used to quickly determine which files have problems.
+The latter combined list might be useful in starting to modularize
+a set of headers. You can start with a full list of headers,
+use -display-file-lists option, and then use the combined list as
+your intermediate list, uncommenting-out headers as you fix them.</p>
+</dd></dl>
+
+</div>
+</div>
+
+
+ </div>
+ <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+
+ <p>
+ « <a href="modularize.html">Modularize Userâs Manual</a>
+ ::
+ <a class="uplink" href="index.html">Contents</a>
+ ::
+ <a href="pp-trace.html">pp-trace Userâs Manual</a> »
+ </p>
+
+ </div>
+
+ <div class="footer" role="contentinfo">
+ © Copyright 2007-2019, The Clang Team.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.7.6.
+ </div>
+ </body>
+</html>
\ No newline at end of file
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/ReleaseNotes.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/ReleaseNotes.html?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/ReleaseNotes.html (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/ReleaseNotes.html Tue Aug 6 07:50:31 2019
@@ -0,0 +1,324 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>Extra Clang Tools 8.0.0 Release Notes — Extra Clang Tools 8 documentation</title>
+ <link rel="stylesheet" href="_static/haiku.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" href="_static/clang-tools-extra-styles.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/underscore.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+ <link rel="index" title="Index" href="genindex.html" />
+ <link rel="search" title="Search" href="search.html" />
+ <link rel="next" title="Clang-Tidy" href="clang-tidy/index.html" />
+ <link rel="prev" title="Introduction" href="index.html" />
+ </head><body>
+ <div class="header" role="banner"><h1 class="heading"><a href="index.html">
+ <span>Extra Clang Tools 8 documentation</span></a></h1>
+ <h2 class="heading"><span>Extra Clang Tools 8.0.0 Release Notes</span></h2>
+ </div>
+ <div class="topnav" role="navigation" aria-label="top navigation">
+
+ <p>
+ « <a href="index.html">Introduction</a>
+ ::
+ <a class="uplink" href="index.html">Contents</a>
+ ::
+ <a href="clang-tidy/index.html">Clang-Tidy</a> »
+ </p>
+
+ </div>
+ <div class="content">
+
+
+ <div class="section" id="extra-clang-tools-8-0-0-release-notes">
+<h1>Extra Clang Tools 8.0.0 Release Notes<a class="headerlink" href="#extra-clang-tools-8-0-0-release-notes" title="Permalink to this headline">¶</a></h1>
+<div class="contents local topic" id="contents">
+<ul class="simple">
+<li><a class="reference internal" href="#introduction" id="id1">Introduction</a></li>
+<li><a class="reference internal" href="#what-s-new-in-extra-clang-tools-8-0-0" id="id2">Whatâs New in Extra Clang Tools 8.0.0?</a><ul>
+<li><a class="reference internal" href="#improvements-to-clangd" id="id3">Improvements to clangd</a></li>
+<li><a class="reference internal" href="#improvements-to-clang-query" id="id4">Improvements to clang-query</a></li>
+<li><a class="reference internal" href="#improvements-to-clang-tidy" id="id5">Improvements to clang-tidy</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<p>Written by the <a class="reference external" href="https://llvm.org/">LLVM Team</a></p>
+<div class="section" id="introduction">
+<h2><a class="toc-backref" href="#id1">Introduction</a><a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2>
+<p>This document contains the release notes for the Extra Clang Tools, part of the
+Clang release 8.0.0. Here we describe the status of the Extra Clang Tools in
+some detail, including major improvements from the previous release and new
+feature work. All LLVM releases may be downloaded
+from the <a class="reference external" href="https://releases.llvm.org/">LLVM releases web site</a>.</p>
+<p>For more information about Clang or LLVM, including information about
+the latest release, please see the <a class="reference external" href="https://clang.llvm.org">Clang Web Site</a> or
+the <a class="reference external" href="https://llvm.org">LLVM Web Site</a>.</p>
+</div>
+<div class="section" id="what-s-new-in-extra-clang-tools-8-0-0">
+<h2><a class="toc-backref" href="#id2">Whatâs New in Extra Clang Tools 8.0.0?</a><a class="headerlink" href="#what-s-new-in-extra-clang-tools-8-0-0" title="Permalink to this headline">¶</a></h2>
+<p>Some of the major new features and improvements to Extra Clang Tools are listed
+here. Generic improvements to Extra Clang Tools as a whole or to its underlying
+infrastructure are described first, followed by tool-specific sections.</p>
+<div class="section" id="improvements-to-clangd">
+<h3><a class="toc-backref" href="#id3">Improvements to clangd</a><a class="headerlink" href="#improvements-to-clangd" title="Permalink to this headline">¶</a></h3>
+<ul>
+<li><p class="first">clangd now adds namespace qualifiers in code completion, for example, if you
+type â<code class="docutils literal notranslate"><span class="pre">vec</span></code>â, the list of completions will include â<code class="docutils literal notranslate"><span class="pre">std::vector</span></code>â.</p>
+<p>See also: <a class="reference external" href="https://reviews.llvm.org/rL343248">r343248</a>.</p>
+</li>
+<li><p class="first">When a <a class="reference internal" href="clangd/Installation.html#project-wide-index"><span class="std std-ref">global index</span></a> is available, clangd will use it to augment the
+results of âgo to definitionâ and âfind referencesâ queries. Global index
+also enables global code completion, which suggests symbols that are not
+imported in the current file and automatically inserts the missing
+<code class="docutils literal notranslate"><span class="pre">#include</span></code> directives.</p>
+</li>
+<li><p class="first">clangd stores the symbol index on disk in a new compact binary serialization
+format. It is 10x more compact than YAML and 40% more compact than gzipped
+YAML.</p>
+<p>See also: <a class="reference external" href="https://reviews.llvm.org/rL341375">r341375</a>.</p>
+</li>
+<li><p class="first">clangd has a new efficient symbol index suitable for complex and fuzzy
+queries and large code bases (e.g., LLVM, Chromium). This index is used for
+code completion, go to definition, and cross-references. The architecture of
+the index allows for complex and fuzzy retrieval criteria and sophisticated
+scoring.</p>
+<p>See also: <a class="reference external" href="http://lists.llvm.org/pipermail/cfe-dev/2018-July/058487.html">discussion on the mailing list</a>, <a class="reference external" href="https://docs.google.com/document/d/1C-A6PGT6TynyaX4PXyExNMiGmJ2jL1UwV91Kyx11gOI/edit">design
+doc</a>.</p>
+</li>
+<li><p class="first">clangd has a new LSP extension that communicates information about activity
+on clangdâs per-file worker thread. This information can be displayed to
+users to let them know that the language server is busy with something. For
+example, in clangd, building the AST blocks many other operations.</p>
+<p>More info: <a class="reference internal" href="clangd/Extensions.html#lsp-extension-file-status"><span class="std std-ref">File status</span></a>.</p>
+</li>
+<li><p class="first">clangd has a new LSP extension that allows the client to supply the
+compilation commands over LSP, instead of finding compile_commands.json on
+disk.</p>
+<p>More info: <a class="reference internal" href="clangd/Extensions.html#lsp-extension-compilation-commands"><span class="std std-ref">Compilation commands</span></a>.</p>
+</li>
+<li><p class="first">clangd has a new LSP extension that allows the client to request fixes to be
+sent together with diagnostics, instead of asynchronously.</p>
+<p>More info: <a class="reference internal" href="clangd/Extensions.html#lsp-extension-code-actions-in-diagnostics"><span class="std std-ref">Inline fixes for diagnostics</span></a>.</p>
+</li>
+<li><p class="first">clangd has a new LSP extension that allows the client to resolve a symbol in
+a light-weight manner, without retrieving further information (like
+definition location, which may require consulting an index).</p>
+<p>More info: <a class="reference internal" href="clangd/Extensions.html#lsp-extension-symbol-info"><span class="std std-ref">Symbol info request</span></a>.</p>
+</li>
+</ul>
+</div>
+<div class="section" id="improvements-to-clang-query">
+<h3><a class="toc-backref" href="#id4">Improvements to clang-query</a><a class="headerlink" href="#improvements-to-clang-query" title="Permalink to this headline">¶</a></h3>
+<ul>
+<li><p class="first">A new command line parameter <code class="docutils literal notranslate"><span class="pre">--preload</span></code> was added to
+run commands from a file and then start the interactive interpreter.</p>
+</li>
+<li><p class="first">The command <code class="docutils literal notranslate"><span class="pre">q</span></code> can was added as an alias for <code class="docutils literal notranslate"><span class="pre">quit</span></code> to exit the
+<code class="docutils literal notranslate"><span class="pre">clang-query</span></code> interpreter.</p>
+</li>
+<li><p class="first">It is now possible to bind to named values (the result of <code class="docutils literal notranslate"><span class="pre">let</span></code>
+expressions). For example:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>let fn functionDecl()
+match fn.bind("foo")
+</pre></div>
+</div>
+</li>
+<li><p class="first">It is now possible to write comments in <code class="docutils literal notranslate"><span class="pre">clang-query</span></code> code. This
+is primarily useful when using script-mode. Comments are all content
+following the <code class="docutils literal notranslate"><span class="pre">#</span></code> character on a line:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span># This is a comment
+match fn.bind("foo") # This is a trailing comment
+</pre></div>
+</div>
+</li>
+<li><p class="first">The new <code class="docutils literal notranslate"><span class="pre">set</span> <span class="pre">print-matcher</span> <span class="pre">true</span></code> command now causes <code class="docutils literal notranslate"><span class="pre">clang-query</span></code> to
+print the evaluated matcher together with the resulting bindings.</p>
+</li>
+<li><p class="first">A new output mode <code class="docutils literal notranslate"><span class="pre">detailed-ast</span></code> was added to <code class="docutils literal notranslate"><span class="pre">clang-query</span></code>. The
+existing <code class="docutils literal notranslate"><span class="pre">dump</span></code> output mode is now a deprecated alias
+for <code class="docutils literal notranslate"><span class="pre">detailed-ast</span></code></p>
+</li>
+<li><p class="first">Output modes can now be enabled or disabled non-exclusively. For example,</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span># Enable detailed-ast without disabling other output, such as diag
+enable output detailed-ast
+m functionDecl()
+
+# Disable detailed-ast only
+disable output detailed-ast
+m functionDecl()
+</pre></div>
+</div>
+</li>
+</ul>
+</div>
+<div class="section" id="improvements-to-clang-tidy">
+<h3><a class="toc-backref" href="#id5">Improvements to clang-tidy</a><a class="headerlink" href="#improvements-to-clang-tidy" title="Permalink to this headline">¶</a></h3>
+<ul>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/abseil-duration-comparison.html"><span class="doc">abseil-duration-comparison</span></a> check.</p>
+<p>Checks for comparisons which should be done in the <code class="docutils literal notranslate"><span class="pre">absl::Duration</span></code> domain
+instead of the float of integer domains.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/abseil-duration-division.html"><span class="doc">abseil-duration-division</span></a> check.</p>
+<p>Checks for uses of <code class="docutils literal notranslate"><span class="pre">absl::Duration</span></code> division that is done in a
+floating-point context, and recommends the use of a function that
+returns a floating-point value.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/abseil-duration-factory-float.html"><span class="doc">abseil-duration-factory-float</span></a> check.</p>
+<p>Checks for cases where the floating-point overloads of various
+<code class="docutils literal notranslate"><span class="pre">absl::Duration</span></code> factory functions are called when the more-efficient
+integer versions could be used instead.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/abseil-duration-factory-scale.html"><span class="doc">abseil-duration-factory-scale</span></a> check.</p>
+<p>Checks for cases where arguments to <code class="docutils literal notranslate"><span class="pre">absl::Duration</span></code> factory functions are
+scaled internally and could be changed to a different factory function.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/abseil-duration-subtraction.html"><span class="doc">abseil-duration-subtraction</span></a> check.</p>
+<p>Checks for cases where subtraction should be performed in the
+<code class="docutils literal notranslate"><span class="pre">absl::Duration</span></code> domain.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/abseil-faster-strsplit-delimiter.html"><span class="doc">abseil-faster-strsplit-delimiter</span></a> check.</p>
+<p>Finds instances of <code class="docutils literal notranslate"><span class="pre">absl::StrSplit()</span></code> or <code class="docutils literal notranslate"><span class="pre">absl::MaxSplits()</span></code> where the
+delimiter is a single character string literal and replaces with a character.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/abseil-no-internal-dependencies.html"><span class="doc">abseil-no-internal-dependencies</span></a> check.</p>
+<p>Gives a warning if code using Abseil depends on internal details.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/abseil-no-namespace.html"><span class="doc">abseil-no-namespace</span></a> check.</p>
+<p>Ensures code does not open <code class="docutils literal notranslate"><span class="pre">namespace</span> <span class="pre">absl</span></code> as that violates Abseilâs
+compatibility guidelines.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/abseil-redundant-strcat-calls.html"><span class="doc">abseil-redundant-strcat-calls</span></a> check.</p>
+<p>Suggests removal of unnecessary calls to <code class="docutils literal notranslate"><span class="pre">absl::StrCat</span></code> when the result is
+being passed to another <code class="docutils literal notranslate"><span class="pre">absl::StrCat</span></code> or <code class="docutils literal notranslate"><span class="pre">absl::StrAppend</span></code>.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/abseil-str-cat-append.html"><span class="doc">abseil-str-cat-append</span></a> check.</p>
+<p>Flags uses of <code class="docutils literal notranslate"><span class="pre">absl::StrCat()</span></code> to append to a <code class="docutils literal notranslate"><span class="pre">std::string</span></code>. Suggests
+<code class="docutils literal notranslate"><span class="pre">absl::StrAppend()</span></code> should be used instead.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/abseil-upgrade-duration-conversions.html"><span class="doc">abseil-upgrade-duration-conversions</span></a> check.</p>
+<p>Finds calls to <code class="docutils literal notranslate"><span class="pre">absl::Duration</span></code> arithmetic operators and factories whose
+argument needs an explicit cast to continue compiling after upcoming API
+changes.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/bugprone-too-small-loop-variable.html"><span class="doc">bugprone-too-small-loop-variable</span></a> check.</p>
+<p>Detects those <code class="docutils literal notranslate"><span class="pre">for</span></code> loops that have a loop variable with a âtoo smallâ type
+which means this type canât represent all values which are part of the
+iteration range.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/cppcoreguidelines-macro-usage.html"><span class="doc">cppcoreguidelines-macro-usage</span></a> check.</p>
+<p>Finds macro usage that is considered problematic because better language
+constructs exist for the task.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/google-objc-function-naming.html"><span class="doc">google-objc-function-naming</span></a> check.</p>
+<p>Checks that function names in function declarations comply with the naming
+conventions described in the Google Objective-C Style Guide.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/misc-non-private-member-variables-in-classes.html"><span class="doc">misc-non-private-member-variables-in-classes</span></a> check.</p>
+<p>Finds classes that not only contain the data (non-static member variables),
+but also have logic (non-static member functions), and diagnoses all member
+variables that have any other scope other than <code class="docutils literal notranslate"><span class="pre">private</span></code>.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/modernize-avoid-c-arrays.html"><span class="doc">modernize-avoid-c-arrays</span></a> check.</p>
+<p>Finds C-style array types and recommend to use <code class="docutils literal notranslate"><span class="pre">std::array<></span></code> /
+<code class="docutils literal notranslate"><span class="pre">std::vector<></span></code>.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/modernize-concat-nested-namespaces.html"><span class="doc">modernize-concat-nested-namespaces</span></a> check.</p>
+<p>Checks for uses of nested namespaces in the form of
+<code class="docutils literal notranslate"><span class="pre">namespace</span> <span class="pre">a</span> <span class="pre">{</span> <span class="pre">namespace</span> <span class="pre">b</span> <span class="pre">{</span> <span class="pre">...</span> <span class="pre">}}</span></code> and offers change to
+syntax introduced in C++17 standard: <code class="docutils literal notranslate"><span class="pre">namespace</span> <span class="pre">a::b</span> <span class="pre">{</span> <span class="pre">...</span> <span class="pre">}</span></code>.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/modernize-deprecated-ios-base-aliases.html"><span class="doc">modernize-deprecated-ios-base-aliases</span></a> check.</p>
+<p>Detects usage of the deprecated member types of <code class="docutils literal notranslate"><span class="pre">std::ios_base</span></code> and replaces
+those that have a non-deprecated equivalent.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/modernize-use-nodiscard.html"><span class="doc">modernize-use-nodiscard</span></a> check.</p>
+<p>Adds <code class="docutils literal notranslate"><span class="pre">[[nodiscard]]</span></code> attributes (introduced in C++17) to member functions
+to highlight at compile time which return values should not be ignored.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/readability-const-return-type.html"><span class="doc">readability-const-return-type</span></a> check.</p>
+<p>Checks for functions with a <code class="docutils literal notranslate"><span class="pre">const</span></code>-qualified return type and recommends
+removal of the <code class="docutils literal notranslate"><span class="pre">const</span></code> keyword.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/readability-isolate-declaration.html"><span class="doc">readability-isolate-decl</span></a> check.</p>
+<p>Detects local variable declarations declaring more than one variable and
+tries to refactor the code to one statement per declaration.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/readability-magic-numbers.html"><span class="doc">readability-magic-numbers</span></a> check.</p>
+<p>Detects usage of magic numbers, numbers that are used as literals instead of
+introduced via constants or symbols.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/readability-redundant-preprocessor.html"><span class="doc">readability-redundant-preprocessor</span></a> check.</p>
+<p>Finds potentially redundant preprocessor directives.</p>
+</li>
+<li><p class="first">New <a class="reference internal" href="clang-tidy/checks/readability-uppercase-literal-suffix.html"><span class="doc">readability-uppercase-literal-suffix</span></a> check.</p>
+<p>Detects when the integral literal or floating point literal has non-uppercase
+suffix, and suggests to make the suffix uppercase. The list of destination
+suffixes can be optionally provided.</p>
+</li>
+<li><p class="first">New alias <a class="reference internal" href="clang-tidy/checks/cert-dcl16-c.html"><span class="doc">cert-dcl16-c</span></a> to <a class="reference internal" href="clang-tidy/checks/readability-uppercase-literal-suffix.html"><span class="doc">readability-uppercase-literal-suffix</span></a>
+added.</p>
+</li>
+<li><p class="first">New alias <a class="reference internal" href="clang-tidy/checks/cppcoreguidelines-avoid-c-arrays.html"><span class="doc">cppcoreguidelines-avoid-c-arrays</span></a>
+to <a class="reference internal" href="clang-tidy/checks/modernize-avoid-c-arrays.html"><span class="doc">modernize-avoid-c-arrays</span></a> added.</p>
+</li>
+<li><p class="first">New alias <a class="reference internal" href="clang-tidy/checks/cppcoreguidelines-non-private-member-variables-in-classes.html"><span class="doc">cppcoreguidelines-non-private-member-variables-in-classes</span></a>
+to <a class="reference internal" href="clang-tidy/checks/misc-non-private-member-variables-in-classes.html"><span class="doc">misc-non-private-member-variables-in-classes</span></a>
+added.</p>
+</li>
+<li><p class="first">New alias <a class="reference internal" href="clang-tidy/checks/hicpp-avoid-c-arrays.html"><span class="doc">hicpp-avoid-c-arrays</span></a>
+to <a class="reference internal" href="clang-tidy/checks/modernize-avoid-c-arrays.html"><span class="doc">modernize-avoid-c-arrays</span></a> added.</p>
+</li>
+<li><p class="first">New alias <a class="reference internal" href="clang-tidy/checks/hicpp-uppercase-literal-suffix.html"><span class="doc">hicpp-uppercase-literal-suffix</span></a> to
+<a class="reference internal" href="clang-tidy/checks/readability-uppercase-literal-suffix.html"><span class="doc">readability-uppercase-literal-suffix</span></a>
+added.</p>
+</li>
+<li><p class="first">The <a class="reference internal" href="clang-tidy/checks/cppcoreguidelines-narrowing-conversions.html"><span class="doc">cppcoreguidelines-narrowing-conversions</span></a> check now
+detects more narrowing conversions:
+- integer to narrower signed integer (this is compiler implementation defined),
+- integer - floating point narrowing conversions,
+- floating point - integer narrowing conversions,
+- constants with narrowing conversions (even in ternary operator).</p>
+</li>
+<li><p class="first">The <a class="reference internal" href="clang-tidy/checks/objc-property-declaration.html"><span class="doc">objc-property-declaration</span></a> check now ignores the
+<cite>Acronyms</cite> and <cite>IncludeDefaultAcronyms</cite> options.</p>
+</li>
+<li><p class="first">The <a class="reference internal" href="clang-tidy/checks/readability-redundant-smartptr-get.html"><span class="doc">readability-redundant-smartptr-get</span></a> check does not warn
+about calls inside macros anymore by default.</p>
+</li>
+<li><p class="first">The <a class="reference internal" href="clang-tidy/checks/readability-uppercase-literal-suffix.html"><span class="doc">readability-uppercase-literal-suffix</span></a> check does not warn
+about literal suffixes inside macros anymore by default.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+
+
+ </div>
+ <div class="bottomnav" role="navigation" aria-label="bottom navigation">
+
+ <p>
+ « <a href="index.html">Introduction</a>
+ ::
+ <a class="uplink" href="index.html">Contents</a>
+ ::
+ <a href="clang-tidy/index.html">Clang-Tidy</a> »
+ </p>
+
+ </div>
+
+ <div class="footer" role="contentinfo">
+ © Copyright 2007-2019, The Clang Team.
+ Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.7.6.
+ </div>
+ </body>
+</html>
\ No newline at end of file
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/ApplyFixInVSCode.gif
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/ApplyFixInVSCode.gif?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/ApplyFixInVSCode.gif
------------------------------------------------------------------------------
svn:mime-type = image/gif
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInEmacsCompanyMode.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInEmacsCompanyMode.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInEmacsCompanyMode.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInSublimeText.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInSublimeText.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInSublimeText.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInVSCode.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInVSCode.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInVSCode.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInYCM.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInYCM.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInYCM.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInsertsNamespaceQualifiersInVSCode.gif
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInsertsNamespaceQualifiersInVSCode.gif?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/CodeCompletionInsertsNamespaceQualifiersInVSCode.gif
------------------------------------------------------------------------------
svn:mime-type = image/gif
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/DiagnosticsInEmacsEglot.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/DiagnosticsInEmacsEglot.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/DiagnosticsInEmacsEglot.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/ErrorsInVSCode.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/ErrorsInVSCode.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/ErrorsInVSCode.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/FindAllReferencesInVSCode.gif
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/FindAllReferencesInVSCode.gif?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/FindAllReferencesInVSCode.gif
------------------------------------------------------------------------------
svn:mime-type = image/gif
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/FormatSelectionInVSCode.gif
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/FormatSelectionInVSCode.gif?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/FormatSelectionInVSCode.gif
------------------------------------------------------------------------------
svn:mime-type = image/gif
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/GoToDefinitionInVSCode.gif
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/GoToDefinitionInVSCode.gif?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/GoToDefinitionInVSCode.gif
------------------------------------------------------------------------------
svn:mime-type = image/gif
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/NavigationWithBreadcrumbsInVSCode.gif
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/NavigationWithBreadcrumbsInVSCode.gif?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/NavigationWithBreadcrumbsInVSCode.gif
------------------------------------------------------------------------------
svn:mime-type = image/gif
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/OutlineInVSCode.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/OutlineInVSCode.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/OutlineInVSCode.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/SignatureHelpInVSCode.gif
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/SignatureHelpInVSCode.gif?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_images/SignatureHelpInVSCode.gif
------------------------------------------------------------------------------
svn:mime-type = image/gif
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/ModularizeUsage.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/ModularizeUsage.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/ModularizeUsage.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/ModularizeUsage.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,98 @@
+================
+Modularize Usage
+================
+
+``modularize [<modularize-options>] [<module-map>|<include-files-list>]*
+[<front-end-options>...]``
+
+``<modularize-options>`` is a place-holder for options
+specific to modularize, which are described below in
+`Modularize Command Line Options`.
+
+``<module-map>`` specifies the path of a file name for an
+existing module map. The module map must be well-formed in
+terms of syntax. Modularize will extract the header file names
+from the map. Only normal headers are checked, assuming headers
+marked "private", "textual", or "exclude" are not to be checked
+as a top-level include, assuming they either are included by
+other headers which are checked, or they are not suitable for
+modules.
+
+``<include-files-list>`` specifies the path of a file name for a
+file containing the newline-separated list of headers to check
+with respect to each other. Lines beginning with '#' and empty
+lines are ignored. Header file names followed by a colon and
+other space-separated file names will include those extra files
+as dependencies. The file names can be relative or full paths,
+but must be on the same line. For example::
+
+ header1.h
+ header2.h
+ header3.h: header1.h header2.h
+
+Note that unless a ``-prefix (header path)`` option is specified,
+non-absolute file paths in the header list file will be relative
+to the header list file directory. Use -prefix to specify a different
+directory.
+
+``<front-end-options>`` is a place-holder for regular Clang
+front-end arguments, which must follow the <include-files-list>.
+Note that by default, modularize assumes .h files
+contain C++ source, so if you are using a different language,
+you might need to use a ``-x`` option to tell Clang that the
+header contains another language, i.e.: ``-x c``
+
+Note also that because modularize does not use the clang driver,
+you will likely need to pass in additional compiler front-end
+arguments to match those passed in by default by the driver.
+
+Modularize Command Line Options
+===============================
+
+.. option:: -prefix=<header-path>
+
+ Prepend the given path to non-absolute file paths in the header list file.
+ By default, headers are assumed to be relative to the header list file
+ directory. Use ``-prefix`` to specify a different directory.
+
+.. option:: -module-map-path=<module-map-path>
+
+ Generate a module map and output it to the given file. See the description
+ in :ref:`module-map-generation`.
+
+.. option:: -problem-files-list=<problem-files-list-file-name>
+
+ For use only with module map assistant. Input list of files that
+ have problems with respect to modules. These will still be
+ included in the generated module map, but will be marked as
+ "excluded" headers.
+
+.. option:: -root-module=<root-name>
+
+ Put modules generated by the -module-map-path option in an enclosing
+ module with the given name. See the description in :ref:`module-map-generation`.
+
+.. option:: -block-check-header-list-only
+
+ Limit the #include-inside-extern-or-namespace-block
+ check to only those headers explicitly listed in the header list.
+ This is a work-around for avoiding error messages for private includes that
+ purposefully get included inside blocks.
+
+.. option:: -no-coverage-check
+
+ Don't do the coverage check for a module map.
+
+.. option:: -coverage-check-only
+
+ Only do the coverage check for a module map.
+
+.. option:: -display-file-lists
+
+ Display lists of good files (no compile errors), problem files,
+ and a combined list with problem files preceded by a '#'.
+ This can be used to quickly determine which files have problems.
+ The latter combined list might be useful in starting to modularize
+ a set of headers. You can start with a full list of headers,
+ use -display-file-lists option, and then use the combined list as
+ your intermediate list, uncommenting-out headers as you fix them.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/ReleaseNotes.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/ReleaseNotes.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/ReleaseNotes.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/ReleaseNotes.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,330 @@
+=====================================
+Extra Clang Tools 8.0.0 Release Notes
+=====================================
+
+.. contents::
+ :local:
+ :depth: 3
+
+Written by the `LLVM Team <https://llvm.org/>`_
+
+Introduction
+============
+
+This document contains the release notes for the Extra Clang Tools, part of the
+Clang release 8.0.0. Here we describe the status of the Extra Clang Tools in
+some detail, including major improvements from the previous release and new
+feature work. All LLVM releases may be downloaded
+from the `LLVM releases web site <https://releases.llvm.org/>`_.
+
+For more information about Clang or LLVM, including information about
+the latest release, please see the `Clang Web Site <https://clang.llvm.org>`_ or
+the `LLVM Web Site <https://llvm.org>`_.
+
+What's New in Extra Clang Tools 8.0.0?
+======================================
+
+Some of the major new features and improvements to Extra Clang Tools are listed
+here. Generic improvements to Extra Clang Tools as a whole or to its underlying
+infrastructure are described first, followed by tool-specific sections.
+
+
+Improvements to clangd
+----------------------
+
+- clangd now adds namespace qualifiers in code completion, for example, if you
+ type "``vec``", the list of completions will include "``std::vector``".
+
+ See also: `r343248 <https://reviews.llvm.org/rL343248>`__.
+
+- When a :ref:`global index <project-wide-index>` is available, clangd will use it to augment the
+ results of "go to definition" and "find references" queries. Global index
+ also enables global code completion, which suggests symbols that are not
+ imported in the current file and automatically inserts the missing
+ ``#include`` directives.
+
+- clangd stores the symbol index on disk in a new compact binary serialization
+ format. It is 10x more compact than YAML and 40% more compact than gzipped
+ YAML.
+
+ See also: `r341375 <https://reviews.llvm.org/rL341375>`__.
+
+- clangd has a new efficient symbol index suitable for complex and fuzzy
+ queries and large code bases (e.g., LLVM, Chromium). This index is used for
+ code completion, go to definition, and cross-references. The architecture of
+ the index allows for complex and fuzzy retrieval criteria and sophisticated
+ scoring.
+
+ See also: `discussion on the mailing list
+ <http://lists.llvm.org/pipermail/cfe-dev/2018-July/058487.html>`__, `design
+ doc
+ <https://docs.google.com/document/d/1C-A6PGT6TynyaX4PXyExNMiGmJ2jL1UwV91Kyx11gOI/edit>`__.
+
+- clangd has a new LSP extension that communicates information about activity
+ on clangd's per-file worker thread. This information can be displayed to
+ users to let them know that the language server is busy with something. For
+ example, in clangd, building the AST blocks many other operations.
+
+ More info: :ref:`lsp-extension-file-status`.
+
+- clangd has a new LSP extension that allows the client to supply the
+ compilation commands over LSP, instead of finding compile_commands.json on
+ disk.
+
+ More info: :ref:`lsp-extension-compilation-commands`.
+
+- clangd has a new LSP extension that allows the client to request fixes to be
+ sent together with diagnostics, instead of asynchronously.
+
+ More info: :ref:`lsp-extension-code-actions-in-diagnostics`.
+
+- clangd has a new LSP extension that allows the client to resolve a symbol in
+ a light-weight manner, without retrieving further information (like
+ definition location, which may require consulting an index).
+
+ More info: :ref:`lsp-extension-symbol-info`.
+
+
+Improvements to clang-query
+---------------------------
+
+- A new command line parameter ``--preload`` was added to
+ run commands from a file and then start the interactive interpreter.
+
+- The command ``q`` can was added as an alias for ``quit`` to exit the
+ ``clang-query`` interpreter.
+
+- It is now possible to bind to named values (the result of ``let``
+ expressions). For example:
+
+ .. code-block:: none
+
+ let fn functionDecl()
+ match fn.bind("foo")
+
+- It is now possible to write comments in ``clang-query`` code. This
+ is primarily useful when using script-mode. Comments are all content
+ following the ``#`` character on a line:
+
+ .. code-block:: none
+
+ # This is a comment
+ match fn.bind("foo") # This is a trailing comment
+
+- The new ``set print-matcher true`` command now causes ``clang-query`` to
+ print the evaluated matcher together with the resulting bindings.
+
+- A new output mode ``detailed-ast`` was added to ``clang-query``. The
+ existing ``dump`` output mode is now a deprecated alias
+ for ``detailed-ast``
+
+- Output modes can now be enabled or disabled non-exclusively. For example,
+
+ .. code-block:: none
+
+ # Enable detailed-ast without disabling other output, such as diag
+ enable output detailed-ast
+ m functionDecl()
+
+ # Disable detailed-ast only
+ disable output detailed-ast
+ m functionDecl()
+
+Improvements to clang-tidy
+--------------------------
+
+- New :doc:`abseil-duration-comparison
+ <clang-tidy/checks/abseil-duration-comparison>` check.
+
+ Checks for comparisons which should be done in the ``absl::Duration`` domain
+ instead of the float of integer domains.
+
+- New :doc:`abseil-duration-division
+ <clang-tidy/checks/abseil-duration-division>` check.
+
+ Checks for uses of ``absl::Duration`` division that is done in a
+ floating-point context, and recommends the use of a function that
+ returns a floating-point value.
+
+- New :doc:`abseil-duration-factory-float
+ <clang-tidy/checks/abseil-duration-factory-float>` check.
+
+ Checks for cases where the floating-point overloads of various
+ ``absl::Duration`` factory functions are called when the more-efficient
+ integer versions could be used instead.
+
+- New :doc:`abseil-duration-factory-scale
+ <clang-tidy/checks/abseil-duration-factory-scale>` check.
+
+ Checks for cases where arguments to ``absl::Duration`` factory functions are
+ scaled internally and could be changed to a different factory function.
+
+- New :doc:`abseil-duration-subtraction
+ <clang-tidy/checks/abseil-duration-subtraction>` check.
+
+ Checks for cases where subtraction should be performed in the
+ ``absl::Duration`` domain.
+
+- New :doc:`abseil-faster-strsplit-delimiter
+ <clang-tidy/checks/abseil-faster-strsplit-delimiter>` check.
+
+ Finds instances of ``absl::StrSplit()`` or ``absl::MaxSplits()`` where the
+ delimiter is a single character string literal and replaces with a character.
+
+- New :doc:`abseil-no-internal-dependencies
+ <clang-tidy/checks/abseil-no-internal-dependencies>` check.
+
+ Gives a warning if code using Abseil depends on internal details.
+
+- New :doc:`abseil-no-namespace
+ <clang-tidy/checks/abseil-no-namespace>` check.
+
+ Ensures code does not open ``namespace absl`` as that violates Abseil's
+ compatibility guidelines.
+
+- New :doc:`abseil-redundant-strcat-calls
+ <clang-tidy/checks/abseil-redundant-strcat-calls>` check.
+
+ Suggests removal of unnecessary calls to ``absl::StrCat`` when the result is
+ being passed to another ``absl::StrCat`` or ``absl::StrAppend``.
+
+- New :doc:`abseil-str-cat-append
+ <clang-tidy/checks/abseil-str-cat-append>` check.
+
+ Flags uses of ``absl::StrCat()`` to append to a ``std::string``. Suggests
+ ``absl::StrAppend()`` should be used instead.
+
+- New :doc:`abseil-upgrade-duration-conversions
+ <clang-tidy/checks/abseil-upgrade-duration-conversions>` check.
+
+ Finds calls to ``absl::Duration`` arithmetic operators and factories whose
+ argument needs an explicit cast to continue compiling after upcoming API
+ changes.
+
+- New :doc:`bugprone-too-small-loop-variable
+ <clang-tidy/checks/bugprone-too-small-loop-variable>` check.
+
+ Detects those ``for`` loops that have a loop variable with a "too small" type
+ which means this type can't represent all values which are part of the
+ iteration range.
+
+- New :doc:`cppcoreguidelines-macro-usage
+ <clang-tidy/checks/cppcoreguidelines-macro-usage>` check.
+
+ Finds macro usage that is considered problematic because better language
+ constructs exist for the task.
+
+- New :doc:`google-objc-function-naming
+ <clang-tidy/checks/google-objc-function-naming>` check.
+
+ Checks that function names in function declarations comply with the naming
+ conventions described in the Google Objective-C Style Guide.
+
+- New :doc:`misc-non-private-member-variables-in-classes
+ <clang-tidy/checks/misc-non-private-member-variables-in-classes>` check.
+
+ Finds classes that not only contain the data (non-static member variables),
+ but also have logic (non-static member functions), and diagnoses all member
+ variables that have any other scope other than ``private``.
+
+- New :doc:`modernize-avoid-c-arrays
+ <clang-tidy/checks/modernize-avoid-c-arrays>` check.
+
+ Finds C-style array types and recommend to use ``std::array<>`` /
+ ``std::vector<>``.
+
+- New :doc:`modernize-concat-nested-namespaces
+ <clang-tidy/checks/modernize-concat-nested-namespaces>` check.
+
+ Checks for uses of nested namespaces in the form of
+ ``namespace a { namespace b { ... }}`` and offers change to
+ syntax introduced in C++17 standard: ``namespace a::b { ... }``.
+
+- New :doc:`modernize-deprecated-ios-base-aliases
+ <clang-tidy/checks/modernize-deprecated-ios-base-aliases>` check.
+
+ Detects usage of the deprecated member types of ``std::ios_base`` and replaces
+ those that have a non-deprecated equivalent.
+
+- New :doc:`modernize-use-nodiscard
+ <clang-tidy/checks/modernize-use-nodiscard>` check.
+
+ Adds ``[[nodiscard]]`` attributes (introduced in C++17) to member functions
+ to highlight at compile time which return values should not be ignored.
+
+- New :doc:`readability-const-return-type
+ <clang-tidy/checks/readability-const-return-type>` check.
+
+ Checks for functions with a ``const``-qualified return type and recommends
+ removal of the ``const`` keyword.
+
+- New :doc:`readability-isolate-decl
+ <clang-tidy/checks/readability-isolate-declaration>` check.
+
+ Detects local variable declarations declaring more than one variable and
+ tries to refactor the code to one statement per declaration.
+
+- New :doc:`readability-magic-numbers
+ <clang-tidy/checks/readability-magic-numbers>` check.
+
+ Detects usage of magic numbers, numbers that are used as literals instead of
+ introduced via constants or symbols.
+
+- New :doc:`readability-redundant-preprocessor
+ <clang-tidy/checks/readability-redundant-preprocessor>` check.
+
+ Finds potentially redundant preprocessor directives.
+
+- New :doc:`readability-uppercase-literal-suffix
+ <clang-tidy/checks/readability-uppercase-literal-suffix>` check.
+
+ Detects when the integral literal or floating point literal has non-uppercase
+ suffix, and suggests to make the suffix uppercase. The list of destination
+ suffixes can be optionally provided.
+
+- New alias :doc:`cert-dcl16-c
+ <clang-tidy/checks/cert-dcl16-c>` to :doc:`readability-uppercase-literal-suffix
+ <clang-tidy/checks/readability-uppercase-literal-suffix>`
+ added.
+
+- New alias :doc:`cppcoreguidelines-avoid-c-arrays
+ <clang-tidy/checks/cppcoreguidelines-avoid-c-arrays>`
+ to :doc:`modernize-avoid-c-arrays
+ <clang-tidy/checks/modernize-avoid-c-arrays>` added.
+
+- New alias :doc:`cppcoreguidelines-non-private-member-variables-in-classes
+ <clang-tidy/checks/cppcoreguidelines-non-private-member-variables-in-classes>`
+ to :doc:`misc-non-private-member-variables-in-classes
+ <clang-tidy/checks/misc-non-private-member-variables-in-classes>`
+ added.
+
+- New alias :doc:`hicpp-avoid-c-arrays
+ <clang-tidy/checks/hicpp-avoid-c-arrays>`
+ to :doc:`modernize-avoid-c-arrays
+ <clang-tidy/checks/modernize-avoid-c-arrays>` added.
+
+- New alias :doc:`hicpp-uppercase-literal-suffix
+ <clang-tidy/checks/hicpp-uppercase-literal-suffix>` to
+ :doc:`readability-uppercase-literal-suffix
+ <clang-tidy/checks/readability-uppercase-literal-suffix>`
+ added.
+
+- The :doc:`cppcoreguidelines-narrowing-conversions
+ <clang-tidy/checks/cppcoreguidelines-narrowing-conversions>` check now
+ detects more narrowing conversions:
+ - integer to narrower signed integer (this is compiler implementation defined),
+ - integer - floating point narrowing conversions,
+ - floating point - integer narrowing conversions,
+ - constants with narrowing conversions (even in ternary operator).
+
+- The :doc:`objc-property-declaration
+ <clang-tidy/checks/objc-property-declaration>` check now ignores the
+ `Acronyms` and `IncludeDefaultAcronyms` options.
+
+- The :doc:`readability-redundant-smartptr-get
+ <clang-tidy/checks/readability-redundant-smartptr-get>` check does not warn
+ about calls inside macros anymore by default.
+
+- The :doc:`readability-uppercase-literal-suffix
+ <clang-tidy/checks/readability-uppercase-literal-suffix>` check does not warn
+ about literal suffixes inside macros anymore by default.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-doc.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-doc.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-doc.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-doc.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,65 @@
+===================
+Clang-Doc
+===================
+
+.. contents::
+
+.. toctree::
+ :maxdepth: 1
+
+:program:`clang-doc` is a tool for generating C and C++ documenation from
+source code and comments.
+
+The tool is in a very early development stage, so you might encounter bugs and
+crashes. Submitting reports with information about how to reproduce the issue
+to `the LLVM bugtracker <https://llvm.org/bugs>`_ will definitely help the
+project. If you have any ideas or suggestions, please to put a feature request
+there.
+
+Use
+=====
+
+:program:`clang-doc` is a `LibTooling
+<http://clang.llvm.org/docs/LibTooling.html>`_-based tool, and so requires a
+compile command database for your project (for an example of how to do this
+see `How To Setup Tooling For LLVM
+<http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html>`_).
+
+The tool can be used on a single file or multiple files as defined in
+the compile commands database:
+
+.. code-block:: console
+
+ $ clang-doc /path/to/file.cpp -p /path/to/compile/commands
+
+This generates an intermediate representation of the declarations and their
+associated information in the specified TUs, serialized to LLVM bitcode.
+
+As currently implemented, the tool is only able to parse TUs that can be
+stored in-memory. Future additions will extend the current framework to use
+map-reduce frameworks to allow for use with large codebases.
+
+:program:`clang-doc` offers the following options:
+
+.. code-block:: console
+
+ $ clang-doc --help
+ USAGE: clang-doc [options] <source0> [... <sourceN>]
+
+ OPTIONS:
+
+ Generic Options:
+
+ -help - Display available options (-help-hidden for more)
+ -help-list - Display list of available options (-help-list-hidden for more)
+ -version - Display the version of this program
+
+ clang-doc options:
+
+ -doxygen - Use only doxygen-style comments to generate docs.
+ -dump - Dump intermediate results to bitcode file.
+ -extra-arg=<string> - Additional argument to append to the compiler command line
+ -extra-arg-before=<string> - Additional argument to prepend to the compiler command line
+ -omit-filenames - Omit filenames in output.
+ -output=<string> - Directory for outputting generated files.
+ -p=<string> - Build path
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-modernize.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-modernize.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-modernize.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-modernize.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,4 @@
+:orphan:
+
+All :program:`clang-modernize` transforms have moved to :doc:`clang-tidy/index`
+(see the ``modernize`` module).
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-rename.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-rename.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-rename.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-rename.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,166 @@
+============
+Clang-Rename
+============
+
+.. contents::
+
+See also:
+
+.. toctree::
+ :maxdepth: 1
+
+
+:program:`clang-rename` is a C++ refactoring tool. Its purpose is to perform
+efficient renaming actions in large-scale projects such as renaming classes,
+functions, variables, arguments, namespaces etc.
+
+The tool is in a very early development stage, so you might encounter bugs and
+crashes. Submitting reports with information about how to reproduce the issue
+to `the LLVM bugtracker <https://llvm.org/bugs>`_ will definitely help the
+project. If you have any ideas or suggestions, you might want to put a feature
+request there.
+
+Using Clang-Rename
+==================
+
+:program:`clang-rename` is a `LibTooling
+<http://clang.llvm.org/docs/LibTooling.html>`_-based tool, and it's easier to
+work with if you set up a compile command database for your project (for an
+example of how to do this see `How To Setup Tooling For LLVM
+<http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html>`_). You can also
+specify compilation options on the command line after `--`:
+
+.. code-block:: console
+
+ $ clang-rename -offset=42 -new-name=foo test.cpp -- -Imy_project/include -DMY_DEFINES ...
+
+
+To get an offset of a symbol in a file run
+
+.. code-block:: console
+
+ $ grep -FUbo 'foo' file.cpp
+
+
+The tool currently supports renaming actions inside a single translation unit
+only. It is planned to extend the tool's functionality to support multi-TU
+renaming actions in the future.
+
+:program:`clang-rename` also aims to be easily integrated into popular text
+editors, such as Vim and Emacs, and improve the workflow of users.
+
+Although a command line interface exists, it is highly recommended to use the
+text editor interface instead for better experience.
+
+You can also identify one or more symbols to be renamed by giving the fully
+qualified name:
+
+.. code-block:: console
+
+ $ clang-rename -qualified-name=foo -new-name=bar test.cpp
+
+Renaming multiple symbols at once is supported, too. However,
+:program:`clang-rename` doesn't accept both `-offset` and `-qualified-name` at
+the same time. So, you can either specify multiple `-offset` or
+`-qualified-name`.
+
+.. code-block:: console
+
+ $ clang-rename -offset=42 -new-name=bar1 -offset=150 -new-name=bar2 test.cpp
+
+or
+
+.. code-block:: console
+
+ $ clang-rename -qualified-name=foo1 -new-name=bar1 -qualified-name=foo2 -new-name=bar2 test.cpp
+
+
+Alternatively, {offset | qualified-name} / new-name pairs can be put into a YAML
+file:
+
+.. code-block:: yaml
+
+ ---
+ - Offset: 42
+ NewName: bar1
+ - Offset: 150
+ NewName: bar2
+ ...
+
+or
+
+.. code-block:: yaml
+
+ ---
+ - QualifiedName: foo1
+ NewName: bar1
+ - QualifiedName: foo2
+ NewName: bar2
+ ...
+
+That way you can avoid spelling out all the names as command line arguments:
+
+.. code-block:: console
+
+ $ clang-rename -input=test.yaml test.cpp
+
+:program:`clang-rename` offers the following options:
+
+.. code-block:: console
+
+ $ clang-rename --help
+ USAGE: clang-rename [subcommand] [options] <source0> [... <sourceN>]
+
+ OPTIONS:
+
+ Generic Options:
+
+ -help - Display available options (-help-hidden for more)
+ -help-list - Display list of available options (-help-list-hidden for more)
+ -version - Display the version of this program
+
+ clang-rename common options:
+
+ -export-fixes=<filename> - YAML file to store suggested fixes in.
+ -extra-arg=<string> - Additional argument to append to the compiler command line
+ -extra-arg-before=<string> - Additional argument to prepend to the compiler command line
+ -force - Ignore nonexistent qualified names.
+ -i - Overwrite edited <file>s.
+ -input=<string> - YAML file to load oldname-newname pairs from.
+ -new-name=<string> - The new name to change the symbol to.
+ -offset=<uint> - Locates the symbol by offset as opposed to <line>:<column>.
+ -p=<string> - Build path
+ -pl - Print the locations affected by renaming to stderr.
+ -pn - Print the found symbol's name prior to renaming to stderr.
+ -qualified-name=<string> - The fully qualified name of the symbol.
+
+Vim Integration
+===============
+
+You can call :program:`clang-rename` directly from Vim! To set up
+:program:`clang-rename` integration for Vim see
+`clang-rename/tool/clang-rename.py
+<http://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-rename/tool/clang-rename.py>`_.
+
+Please note that **you have to save all buffers, in which the replacement will
+happen before running the tool**.
+
+Once installed, you can point your cursor to symbols you want to rename, press
+`<leader>cr` and type new desired name. The `<leader> key
+<http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_3)#Map_leader>`_
+is a reference to a specific key defined by the mapleader variable and is bound
+to backslash by default.
+
+Emacs Integration
+=================
+
+You can also use :program:`clang-rename` while using Emacs! To set up
+:program:`clang-rename` integration for Emacs see
+`clang-rename/tool/clang-rename.el
+<http://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-rename/tool/clang-rename.el>`_.
+
+Once installed, you can point your cursor to symbols you want to rename, press
+`M-X`, type `clang-rename` and new desired name.
+
+Please note that **you have to save all buffers, in which the replacement will
+happen before running the tool**.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,6 @@
+:orphan:
+
+.. meta::
+ :http-equiv=refresh: 0;URL='clang-tidy/'
+
+clang-tidy documentation has moved here: http://clang.llvm.org/extra/clang-tidy/
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/Contributing.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/Contributing.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/Contributing.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/Contributing.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,512 @@
+================
+Getting Involved
+================
+
+:program:`clang-tidy` has several own checks and can run Clang static analyzer
+checks, but its power is in the ability to easily write custom checks.
+
+Checks are organized in modules, which can be linked into :program:`clang-tidy`
+with minimal or no code changes in :program:`clang-tidy`.
+
+Checks can plug into the analysis on the preprocessor level using `PPCallbacks`_
+or on the AST level using `AST Matchers`_. When an error is found, checks can
+report them in a way similar to how Clang diagnostics work. A fix-it hint can be
+attached to a diagnostic message.
+
+The interface provided by :program:`clang-tidy` makes it easy to write useful
+and precise checks in just a few lines of code. If you have an idea for a good
+check, the rest of this document explains how to do this.
+
+There are a few tools particularly useful when developing clang-tidy checks:
+ * ``add_new_check.py`` is a script to automate the process of adding a new
+ check, it will create the check, update the CMake file and create a test;
+ * ``rename_check.py`` does what the script name suggests, renames an existing
+ check;
+ * :program:`clang-query` is invaluable for interactive prototyping of AST
+ matchers and exploration of the Clang AST;
+ * `clang-check`_ with the ``-ast-dump`` (and optionally ``-ast-dump-filter``)
+ provides a convenient way to dump AST of a C++ program.
+
+If CMake is configured with ``CLANG_ENABLE_STATIC_ANALYZER``,
+:program:`clang-tidy` will not be built with support for the
+``clang-analyzer-*`` checks or the ``mpi-*`` checks.
+
+
+.. _AST Matchers: https://clang.llvm.org/docs/LibASTMatchers.html
+.. _PPCallbacks: https://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html
+.. _clang-check: https://clang.llvm.org/docs/ClangCheck.html
+
+
+Choosing the Right Place for your Check
+---------------------------------------
+
+If you have an idea of a check, you should decide whether it should be
+implemented as a:
+
++ *Clang diagnostic*: if the check is generic enough, targets code patterns that
+ most probably are bugs (rather than style or readability issues), can be
+ implemented effectively and with extremely low false positive rate, it may
+ make a good Clang diagnostic.
+
++ *Clang static analyzer check*: if the check requires some sort of control flow
+ analysis, it should probably be implemented as a static analyzer check.
+
++ *clang-tidy check* is a good choice for linter-style checks, checks that are
+ related to a certain coding style, checks that address code readability, etc.
+
+
+Preparing your Workspace
+------------------------
+
+If you are new to LLVM development, you should read the `Getting Started with
+the LLVM System`_, `Using Clang Tools`_ and `How To Setup Clang Tooling For
+LLVM`_ documents to check out and build LLVM, Clang and Clang Extra Tools with
+CMake.
+
+Once you are done, change to the ``llvm/tools/clang/tools/extra`` directory, and
+let's start!
+
+.. _Getting Started with the LLVM System: https://llvm.org/docs/GettingStarted.html
+.. _Using Clang Tools: https://clang.llvm.org/docs/ClangTools.html
+.. _How To Setup Clang Tooling For LLVM: https://clang.llvm.org/docs/HowToSetupToolingForLLVM.html
+
+
+The Directory Structure
+-----------------------
+
+:program:`clang-tidy` source code resides in the
+``llvm/tools/clang/tools/extra`` directory and is structured as follows:
+
+::
+
+ clang-tidy/ # Clang-tidy core.
+ |-- ClangTidy.h # Interfaces for users and checks.
+ |-- ClangTidyModule.h # Interface for clang-tidy modules.
+ |-- ClangTidyModuleRegistry.h # Interface for registering of modules.
+ ...
+ |-- google/ # Google clang-tidy module.
+ |-+
+ |-- GoogleTidyModule.cpp
+ |-- GoogleTidyModule.h
+ ...
+ |-- llvm/ # LLVM clang-tidy module.
+ |-+
+ |-- LLVMTidyModule.cpp
+ |-- LLVMTidyModule.h
+ ...
+ |-- objc/ # Objective-C clang-tidy module.
+ |-+
+ |-- ObjCTidyModule.cpp
+ |-- ObjCTidyModule.h
+ ...
+ |-- tool/ # Sources of the clang-tidy binary.
+ ...
+ test/clang-tidy/ # Integration tests.
+ ...
+ unittests/clang-tidy/ # Unit tests.
+ |-- ClangTidyTest.h
+ |-- GoogleModuleTest.cpp
+ |-- LLVMModuleTest.cpp
+ |-- ObjCModuleTest.cpp
+ ...
+
+
+Writing a clang-tidy Check
+--------------------------
+
+So you have an idea of a useful check for :program:`clang-tidy`.
+
+First, if you're not familiar with LLVM development, read through the `Getting
+Started with LLVM`_ document for instructions on setting up your workflow and
+the `LLVM Coding Standards`_ document to familiarize yourself with the coding
+style used in the project. For code reviews we mostly use `LLVM Phabricator`_.
+
+.. _Getting Started with LLVM: https://llvm.org/docs/GettingStarted.html
+.. _LLVM Coding Standards: https://llvm.org/docs/CodingStandards.html
+.. _LLVM Phabricator: https://llvm.org/docs/Phabricator.html
+
+Next, you need to decide which module the check belongs to. Modules
+are located in subdirectories of `clang-tidy/
+<https://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-tidy/>`_
+and contain checks targeting a certain aspect of code quality (performance,
+readability, etc.), certain coding style or standard (Google, LLVM, CERT, etc.)
+or a widely used API (e.g. MPI). Their names are same as user-facing check
+groups names described :ref:`above <checks-groups-table>`.
+
+After choosing the module and the name for the check, run the
+``clang-tidy/add_new_check.py`` script to create the skeleton of the check and
+plug it to :program:`clang-tidy`. It's the recommended way of adding new checks.
+
+If we want to create a `readability-awesome-function-names`, we would run:
+
+.. code-block:: console
+
+ $ clang-tidy/add_new_check.py readability awesome-function-names
+
+
+The ``add_new_check.py`` script will:
+ * create the class for your check inside the specified module's directory and
+ register it in the module and in the build system;
+ * create a lit test file in the ``test/clang-tidy/`` directory;
+ * create a documentation file and include it into the
+ ``docs/clang-tidy/checks/list.rst``.
+
+Let's see in more detail at the check class definition:
+
+.. code-block:: c++
+
+ ...
+
+ #include "../ClangTidy.h"
+
+ namespace clang {
+ namespace tidy {
+ namespace readability {
+
+ ...
+ class AwesomeFunctionNamesCheck : public ClangTidyCheck {
+ public:
+ AwesomeFunctionNamesCheck(StringRef Name, ClangTidyContext *Context)
+ : ClangTidyCheck(Name, Context) {}
+ void registerMatchers(ast_matchers::MatchFinder *Finder) override;
+ void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
+ };
+
+ } // namespace readability
+ } // namespace tidy
+ } // namespace clang
+
+ ...
+
+Constructor of the check receives the ``Name`` and ``Context`` parameters, and
+must forward them to the ``ClangTidyCheck`` constructor.
+
+In our case the check needs to operate on the AST level and it overrides the
+``registerMatchers`` and ``check`` methods. If we wanted to analyze code on the
+preprocessor level, we'd need instead to override the ``registerPPCallbacks``
+method.
+
+In the ``registerMatchers`` method we create an AST Matcher (see `AST Matchers`_
+for more information) that will find the pattern in the AST that we want to
+inspect. The results of the matching are passed to the ``check`` method, which
+can further inspect them and report diagnostics.
+
+.. code-block:: c++
+
+ using namespace ast_matchers;
+
+ void AwesomeFunctionNamesCheck::registerMatchers(MatchFinder *Finder) {
+ Finder->addMatcher(functionDecl().bind("x"), this);
+ }
+
+ void AwesomeFunctionNamesCheck::check(const MatchFinder::MatchResult &Result) {
+ const auto *MatchedDecl = Result.Nodes.getNodeAs<FunctionDecl>("x");
+ if (MatchedDecl->getName().startswith("awesome_"))
+ return;
+ diag(MatchedDecl->getLocation(), "function %0 is insufficiently awesome")
+ << MatchedDecl
+ << FixItHint::CreateInsertion(MatchedDecl->getLocation(), "awesome_");
+ }
+
+(If you want to see an example of a useful check, look at
+`clang-tidy/google/ExplicitConstructorCheck.h
+<https://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-tidy/google/ExplicitConstructorCheck.h>`_
+and `clang-tidy/google/ExplicitConstructorCheck.cpp
+<https://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/clang-tidy/google/ExplicitConstructorCheck.cpp>`_).
+
+
+Registering your Check
+----------------------
+
+(The ``add_new_check.py`` takes care of registering the check in an existing
+module. If you want to create a new module or know the details, read on.)
+
+The check should be registered in the corresponding module with a distinct name:
+
+.. code-block:: c++
+
+ class MyModule : public ClangTidyModule {
+ public:
+ void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
+ CheckFactories.registerCheck<ExplicitConstructorCheck>(
+ "my-explicit-constructor");
+ }
+ };
+
+Now we need to register the module in the ``ClangTidyModuleRegistry`` using a
+statically initialized variable:
+
+.. code-block:: c++
+
+ static ClangTidyModuleRegistry::Add<MyModule> X("my-module",
+ "Adds my lint checks.");
+
+
+When using LLVM build system, we need to use the following hack to ensure the
+module is linked into the :program:`clang-tidy` binary:
+
+Add this near the ``ClangTidyModuleRegistry::Add<MyModule>`` variable:
+
+.. code-block:: c++
+
+ // This anchor is used to force the linker to link in the generated object file
+ // and thus register the MyModule.
+ volatile int MyModuleAnchorSource = 0;
+
+And this to the main translation unit of the :program:`clang-tidy` binary (or
+the binary you link the ``clang-tidy`` library in)
+``clang-tidy/tool/ClangTidyMain.cpp``:
+
+.. code-block:: c++
+
+ // This anchor is used to force the linker to link the MyModule.
+ extern volatile int MyModuleAnchorSource;
+ static int MyModuleAnchorDestination = MyModuleAnchorSource;
+
+
+Configuring Checks
+------------------
+
+If a check needs configuration options, it can access check-specific options
+using the ``Options.get<Type>("SomeOption", DefaultValue)`` call in the check
+constructor. In this case the check should also override the
+``ClangTidyCheck::storeOptions`` method to make the options provided by the
+check discoverable. This method lets :program:`clang-tidy` know which options
+the check implements and what the current values are (e.g. for the
+``-dump-config`` command line option).
+
+.. code-block:: c++
+
+ class MyCheck : public ClangTidyCheck {
+ const unsigned SomeOption1;
+ const std::string SomeOption2;
+
+ public:
+ MyCheck(StringRef Name, ClangTidyContext *Context)
+ : ClangTidyCheck(Name, Context),
+ SomeOption(Options.get("SomeOption1", -1U)),
+ SomeOption(Options.get("SomeOption2", "some default")) {}
+
+ void storeOptions(ClangTidyOptions::OptionMap &Opts) override {
+ Options.store(Opts, "SomeOption1", SomeOption1);
+ Options.store(Opts, "SomeOption2", SomeOption2);
+ }
+ ...
+
+Assuming the check is registered with the name "my-check", the option can then
+be set in a ``.clang-tidy`` file in the following way:
+
+.. code-block:: yaml
+
+ CheckOptions:
+ - key: my-check.SomeOption1
+ value: 123
+ - key: my-check.SomeOption2
+ value: 'some other value'
+
+If you need to specify check options on a command line, you can use the inline
+YAML format:
+
+.. code-block:: console
+
+ $ clang-tidy -config="{CheckOptions: [{key: a, value: b}, {key: x, value: y}]}" ...
+
+
+Testing Checks
+--------------
+
+To run tests for :program:`clang-tidy` use the command:
+
+.. code-block:: console
+
+ $ ninja check-clang-tools
+
+:program:`clang-tidy` checks can be tested using either unit tests or
+`lit`_ tests. Unit tests may be more convenient to test complex replacements
+with strict checks. `Lit`_ tests allow using partial text matching and regular
+expressions which makes them more suitable for writing compact tests for
+diagnostic messages.
+
+The ``check_clang_tidy.py`` script provides an easy way to test both
+diagnostic messages and fix-its. It filters out ``CHECK`` lines from the test
+file, runs :program:`clang-tidy` and verifies messages and fixes with two
+separate `FileCheck`_ invocations: once with FileCheck's directive
+prefix set to ``CHECK-MESSAGES``, validating the diagnostic messages,
+and once with the directive prefix set to ``CHECK-FIXES``, running
+against the fixed code (i.e., the code after generated fix-its are
+applied). In particular, ``CHECK-FIXES:`` can be used to check
+that code was not modified by fix-its, by checking that it is present
+unchanged in the fixed code. The full set of `FileCheck`_ directives
+is available (e.g., ``CHECK-MESSAGES-SAME:``, ``CHECK-MESSAGES-NOT:``), though
+typically the basic ``CHECK`` forms (``CHECK-MESSAGES`` and ``CHECK-FIXES``)
+are sufficient for clang-tidy tests. Note that the `FileCheck`_
+documentation mostly assumes the default prefix (``CHECK``), and hence
+describes the directive as ``CHECK:``, ``CHECK-SAME:``, ``CHECK-NOT:``, etc.
+Replace ``CHECK`` by either ``CHECK-FIXES`` or ``CHECK-MESSAGES`` for
+clang-tidy tests.
+
+An additional check enabled by ``check_clang_tidy.py`` ensures that
+if `CHECK-MESSAGES:` is used in a file then every warning or error
+must have an associated CHECK in that file. Or, you can use ``CHECK-NOTES:``
+instead, if you want to **also** ensure that all the notes are checked.
+
+To use the ``check_clang_tidy.py`` script, put a .cpp file with the
+appropriate ``RUN`` line in the ``test/clang-tidy`` directory. Use
+``CHECK-MESSAGES:`` and ``CHECK-FIXES:`` lines to write checks against
+diagnostic messages and fixed code.
+
+It's advised to make the checks as specific as possible to avoid checks matching
+to incorrect parts of the input. Use ``[[@LINE+X]]``/``[[@LINE-X]]``
+substitutions and distinct function and variable names in the test code.
+
+Here's an example of a test using the ``check_clang_tidy.py`` script (the full
+source code is at `test/clang-tidy/google-readability-casting.cpp`_):
+
+.. code-block:: c++
+
+ // RUN: %check_clang_tidy %s google-readability-casting %t
+
+ void f(int a) {
+ int b = (int)a;
+ // CHECK-MESSAGES: :[[@LINE-1]]:11: warning: redundant cast to the same type [google-readability-casting]
+ // CHECK-FIXES: int b = a;
+ }
+
+To check more than one scenario in the same test file use
+``-check-suffix=SUFFIX-NAME`` on ``check_clang_tidy.py`` command line or
+``-check-suffixes=SUFFIX-NAME-1,SUFFIX-NAME-2,...``.
+With ``-check-suffix[es]=SUFFIX-NAME`` you need to replace your ``CHECK-*``
+directives with ``CHECK-MESSAGES-SUFFIX-NAME`` and ``CHECK-FIXES-SUFFIX-NAME``.
+
+Here's an example:
+
+.. code-block:: c++
+
+ // RUN: %check_clang_tidy -check-suffix=USING-A %s misc-unused-using-decls %t -- -- -DUSING_A
+ // RUN: %check_clang_tidy -check-suffix=USING-B %s misc-unused-using-decls %t -- -- -DUSING_B
+ // RUN: %check_clang_tidy %s misc-unused-using-decls %t
+ ...
+ // CHECK-MESSAGES-USING-A: :[[@LINE-8]]:10: warning: using decl 'A' {{.*}}
+ // CHECK-MESSAGES-USING-B: :[[@LINE-7]]:10: warning: using decl 'B' {{.*}}
+ // CHECK-MESSAGES: :[[@LINE-6]]:10: warning: using decl 'C' {{.*}}
+ // CHECK-FIXES-USING-A-NOT: using a::A;$
+ // CHECK-FIXES-USING-B-NOT: using a::B;$
+ // CHECK-FIXES-NOT: using a::C;$
+
+
+There are many dark corners in the C++ language, and it may be difficult to make
+your check work perfectly in all cases, especially if it issues fix-it hints. The
+most frequent pitfalls are macros and templates:
+
+1. code written in a macro body/template definition may have a different meaning
+ depending on the macro expansion/template instantiation;
+2. multiple macro expansions/template instantiations may result in the same code
+ being inspected by the check multiple times (possibly, with different
+ meanings, see 1), and the same warning (or a slightly different one) may be
+ issued by the check multiple times; :program:`clang-tidy` will deduplicate
+ _identical_ warnings, but if the warnings are slightly different, all of them
+ will be shown to the user (and used for applying fixes, if any);
+3. making replacements to a macro body/template definition may be fine for some
+ macro expansions/template instantiations, but easily break some other
+ expansions/instantiations.
+
+.. _lit: https://llvm.org/docs/CommandGuide/lit.html
+.. _FileCheck: https://llvm.org/docs/CommandGuide/FileCheck.html
+.. _test/clang-tidy/google-readability-casting.cpp: https://reviews.llvm.org/diffusion/L/browse/clang-tools-extra/trunk/test/clang-tidy/google-readability-casting.cpp
+
+
+Running clang-tidy on LLVM
+--------------------------
+
+To test a check it's best to try it out on a larger code base. LLVM and Clang
+are the natural targets as you already have the source code around. The most
+convenient way to run :program:`clang-tidy` is with a compile command database;
+CMake can automatically generate one, for a description of how to enable it see
+`How To Setup Clang Tooling For LLVM`_. Once ``compile_commands.json`` is in
+place and a working version of :program:`clang-tidy` is in ``PATH`` the entire
+code base can be analyzed with ``clang-tidy/tool/run-clang-tidy.py``. The script
+executes :program:`clang-tidy` with the default set of checks on every
+translation unit in the compile command database and displays the resulting
+warnings and errors. The script provides multiple configuration flags.
+
+.. _How To Setup Clang Tooling For LLVM: https://clang.llvm.org/docs/HowToSetupToolingForLLVM.html
+
+
+* The default set of checks can be overridden using the ``-checks`` argument,
+ taking the identical format as :program:`clang-tidy` does. For example
+ ``-checks=-*,modernize-use-override`` will run the ``modernize-use-override``
+ check only.
+
+* To restrict the files examined you can provide one or more regex arguments
+ that the file names are matched against.
+ ``run-clang-tidy.py clang-tidy/.*Check\.cpp`` will only analyze clang-tidy
+ checks. It may also be necessary to restrict the header files warnings are
+ displayed from using the ``-header-filter`` flag. It has the same behavior
+ as the corresponding :program:`clang-tidy` flag.
+
+* To apply suggested fixes ``-fix`` can be passed as an argument. This gathers
+ all changes in a temporary directory and applies them. Passing ``-format``
+ will run clang-format over changed lines.
+
+
+On checks profiling
+-------------------
+
+:program:`clang-tidy` can collect per-check profiling info, and output it
+for each processed source file (translation unit).
+
+To enable profiling info collection, use the ``-enable-check-profile`` argument.
+The timings will be output to ``stderr`` as a table. Example output:
+
+.. code-block:: console
+
+ $ clang-tidy -enable-check-profile -checks=-*,readability-function-size source.cpp
+ ===-------------------------------------------------------------------------===
+ clang-tidy checks profiling
+ ===-------------------------------------------------------------------------===
+ Total Execution Time: 1.0282 seconds (1.0258 wall clock)
+
+ ---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
+ 0.9136 (100.0%) 0.1146 (100.0%) 1.0282 (100.0%) 1.0258 (100.0%) readability-function-size
+ 0.9136 (100.0%) 0.1146 (100.0%) 1.0282 (100.0%) 1.0258 (100.0%) Total
+
+It can also store that data as JSON files for further processing. Example output:
+
+.. code-block:: console
+
+ $ clang-tidy -enable-check-profile -store-check-profile=. -checks=-*,readability-function-size source.cpp
+ $ # Note that there won't be timings table printed to the console.
+ $ ls /tmp/out/
+ 20180516161318717446360-source.cpp.json
+ $ cat 20180516161318717446360-source.cpp.json
+ {
+ "file": "/path/to/source.cpp",
+ "timestamp": "2018-05-16 16:13:18.717446360",
+ "profile": {
+ "time.clang-tidy.readability-function-size.wall": 1.0421266555786133e+00,
+ "time.clang-tidy.readability-function-size.user": 9.2088400000005421e-01,
+ "time.clang-tidy.readability-function-size.sys": 1.2418899999999974e-01
+ }
+ }
+
+There is only one argument that controls profile storage:
+
+* ``-store-check-profile=<prefix>``
+
+ By default reports are printed in tabulated format to stderr. When this option
+ is passed, these per-TU profiles are instead stored as JSON.
+ If the prefix is not an absolute path, it is considered to be relative to the
+ directory from where you have run :program:`clang-tidy`. All ``.`` and ``..``
+ patterns in the path are collapsed, and symlinks are resolved.
+
+ Example:
+ Let's suppose you have a source file named ``example.cpp``, located in the
+ ``/source`` directory. Only the input filename is used, not the full path
+ to the source file. Additionally, it is prefixed with the current timestamp.
+
+ * If you specify ``-store-check-profile=/tmp``, then the profile will be saved
+ to ``/tmp/<ISO8601-like timestamp>-example.cpp.json``
+
+ * If you run :program:`clang-tidy` from within ``/foo`` directory, and specify
+ ``-store-check-profile=.``, then the profile will still be saved to
+ ``/foo/<ISO8601-like timestamp>-example.cpp.json``
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/Integrations.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/Integrations.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/Integrations.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/Integrations.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,117 @@
+==================================
+Clang-tidy IDE/Editor Integrations
+==================================
+
+.. _Clangd: https://clang.llvm.org/extra/clangd.html
+
+Apart from being a standalone tool, :program:`clang-tidy` is integrated into
+various IDEs, code analyzers, and editors. Besides, it is currently being
+integrated into Clangd_. The following table shows the most
+well-known :program:`clang-tidy` integrations in detail.
+
++--------------------------------------+------------------------+---------------------------------+--------------------------+-----------------------------------------+--------------------------+
+| | Feature |
++======================================+========================+=================================+==========================+=========================================+==========================+
+| **Tool** | On-the-fly inspection | Check list configuration (GUI) | Options to checks (GUI) | Configuration via ``.clang-tidy`` files | Custom clang-tidy binary |
++--------------------------------------+------------------------+---------------------------------+--------------------------+-----------------------------------------+--------------------------+
+|A.L.E. for Vim | \+\ | \-\ | \-\ | \-\ | \+\ |
++--------------------------------------+------------------------+---------------------------------+--------------------------+-----------------------------------------+--------------------------+
+|Clang Power Tools for Visual Studio | \-\ | \+\ | \-\ | \+\ | \-\ |
++--------------------------------------+------------------------+---------------------------------+--------------------------+-----------------------------------------+--------------------------+
+|Clangd | \+\ | \-\ | \-\ | \-\ | \-\ |
++--------------------------------------+------------------------+---------------------------------+--------------------------+-----------------------------------------+--------------------------+
+|CLion IDE | \+\ | \+\ | \+\ | \+\ | \+\ |
++--------------------------------------+------------------------+---------------------------------+--------------------------+-----------------------------------------+--------------------------+
+|CodeChecker | \-\ | \-\ | \-\ | \-\ | \+\ |
++--------------------------------------+------------------------+---------------------------------+--------------------------+-----------------------------------------+--------------------------+
+|CPPCheck | \-\ | \-\ | \-\ | \-\ | \-\ |
++--------------------------------------+------------------------+---------------------------------+--------------------------+-----------------------------------------+--------------------------+
+|CPPDepend | \-\ | \-\ | \-\ | \-\ | \-\ |
++--------------------------------------+------------------------+---------------------------------+--------------------------+-----------------------------------------+--------------------------+
+|Flycheck for Emacs | \+\ | \-\ | \-\ | \+\ | \+\ |
++--------------------------------------+------------------------+---------------------------------+--------------------------+-----------------------------------------+--------------------------+
+|KDevelop IDE | \-\ | \+\ | \+\ | \+\ | \+\ |
++--------------------------------------+------------------------+---------------------------------+--------------------------+-----------------------------------------+--------------------------+
+|Qt Creator IDE | \+\ | \+\ | \-\ | \-\ | \+\ |
++--------------------------------------+------------------------+---------------------------------+--------------------------+-----------------------------------------+--------------------------+
+|ReSharper C++ for Visual Studio | \+\ | \+\ | \-\ | \+\ | \-\ |
++--------------------------------------+------------------------+---------------------------------+--------------------------+-----------------------------------------+--------------------------+
+|Syntastic for Vim | \+\ | \-\ | \-\ | \-\ | \+\ |
++--------------------------------------+------------------------+---------------------------------+--------------------------+-----------------------------------------+--------------------------+
+|Visual Assist for Visual Studio | \+\ | \+\ | \-\ | \-\ | \-\ |
++--------------------------------------+------------------------+---------------------------------+--------------------------+-----------------------------------------+--------------------------+
+
+**IDEs**
+
+.. _CLion: https://www.jetbrains.com/clion/
+.. _integrates clang-tidy: https://www.jetbrains.com/help/clion/clang-tidy-checks-support.html
+
+CLion_ 2017.2 and later `integrates clang-tidy`_ as an extension to the
+built-in code analyzer. Starting from 2018.2 EAP, CLion allows using
+:program:`clang-tidy` via Clangd. Inspections and applicable quick-fixes are
+performed on the fly, and checks can be configured in standard command line
+format. In this integration, you can switch to the :program:`clang-tidy`
+binary different from the bundled one, pass the configuration in
+``.clang-tidy`` files instead of using the IDE settings, and configure
+options for particular checks.
+
+.. _KDevelop: https://www.kdevelop.org/
+.. _kdev-clang-tidy: https://github.com/KDE/kdev-clang-tidy/
+
+KDevelop_ with the kdev-clang-tidy_ plugin, starting from version 5.1, performs
+static analysis using :program:`clang-tidy`. The plugin launches the
+:program:`clang-tidy` binary from the specified location and parses its
+output to provide a list of issues.
+
+.. _QtCreator: https://www.qt.io/
+.. _Clang Code Model: http://doc.qt.io/qtcreator/creator-clang-codemodel.html
+
+QtCreator_ 4.6 integrates :program:`clang-tidy` warnings into the editor
+diagnostics under the `Clang Code Model`_. To employ :program:`clang-tidy`
+inspection in QtCreator, you need to create a copy of one of the presets and
+choose the checks to be performed in the Clang Code Model Warnings menu.
+
+.. _MS Visual Studio: https://visualstudio.microsoft.com/
+.. _ReSharper C++: https://www.jetbrains.com/help/resharper/Clang_Tidy_Integration.html
+.. _Visual Assist: https://docs.wholetomato.com/default.asp?W761
+.. _Clang Power Tools: https://marketplace.visualstudio.com/items?itemName=caphyon.ClangPowerTools
+.. _clang-tidy-vs: https://github.com/llvm-mirror/clang-tools-extra/tree/master/clang-tidy-vs
+
+`MS Visual Studio`_ has a native clang-tidy-vs_ plugin and also can integrate
+:program:`clang-tidy` by means of three other tools. The `ReSharper C++`_
+extension, version 2017.3 and later, provides seamless :program:`clang-tidy`
+integration: checks and quick-fixes run alongside native inspections. Apart
+from that, ReSharper C++ incorporates :program:`clang-tidy` as a separate
+step of its code clean-up process. `Visual Assist`_ build 2210 includes a
+subset of :program:`clang-tidy` checklist to inspect the code as you edit.
+Another way to bring :program:`clang-tidy` functionality to Visual Studio is
+the `Clang Power Tools`_ plugin, which includes most of the
+:program:`clang-tidy` checks and runs them during compilation or as a separate
+step of code analysis.
+
+**Editors**
+
+.. _Flycheck: https://github.com/ch1bo/flycheck-clang-tidy
+.. _Syntastic: https://github.com/vim-syntastic/syntastic
+.. _A.L.E.: https://github.com/w0rp/ale
+.. _Emacs24: https://www.gnu.org/s/emacs/
+.. _Vim: https://www.vim.org/
+
+Emacs24_, when expanded with the Flycheck_ plugin, incorporates the
+:program:`clang-tidy` inspection into the syntax analyzer. For Vim_, you can
+use Syntastic_, which includes :program:`clang-tidy`, or `A.L.E.`_,
+a lint engine that applies :program:`clang-tidy` along with other linters.
+
+**Analyzers**
+
+.. _CPPDepend: https://www.cppdepend.com/cppdependv2018
+.. _CPPCheck: https://sourceforge.net/p/cppcheck/news/
+.. _CodeChecker: https://github.com/Ericsson/codechecker
+.. _plugin: https://github.com/Ericsson/CodeCheckerEclipsePlugin
+
+:program:`clang-tidy` is integrated in CPPDepend_ starting from version 2018.1
+and CPPCheck_ 1.82. CPPCheck integration lets you import Visual Studio
+solutions and run the :program:`clang-tidy` inspection on them. The
+CodeChecker_ application of version 5.3 or later, which also comes as a plugin_
+for Eclipse, supports :program:`clang-tidy` as a static analysis instrument and
+allows to use a custom :program:`clang-tidy` binary.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-comparison.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-comparison.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-comparison.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-comparison.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,33 @@
+.. title:: clang-tidy - abseil-duration-comparison
+
+abseil-duration-comparison
+==========================
+
+Checks for comparisons which should be in the ``absl::Duration`` domain instead
+of the floating point or integer domains.
+
+N.B.: In cases where a ``Duration`` was being converted to an integer and then
+compared against a floating-point value, truncation during the ``Duration``
+conversion might yield a different result. In practice this is very rare, and
+still indicates a bug which should be fixed.
+
+Examples:
+
+.. code-block:: c++
+
+ // Original - Comparison in the floating point domain
+ double x;
+ absl::Duration d;
+ if (x < absl::ToDoubleSeconds(d)) ...
+
+ // Suggested - Compare in the absl::Duration domain instead
+ if (absl::Seconds(x) < d) ...
+
+
+ // Original - Comparison in the integer domain
+ int x;
+ absl::Duration d;
+ if (x < absl::ToInt64Microseconds(d)) ...
+
+ // Suggested - Compare in the absl::Duration domain instead
+ if (absl::Microseconds(x) < d) ...
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-division.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-division.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-division.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-division.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,36 @@
+.. title:: clang-tidy - abseil-duration-division
+
+abseil-duration-division
+========================
+
+``absl::Duration`` arithmetic works like it does with integers. That means that
+division of two ``absl::Duration`` objects returns an ``int64`` with any fractional
+component truncated toward 0. See `this link <https://github.com/abseil/abseil-cpp/blob/29ff6d4860070bf8fcbd39c8805d0c32d56628a3/absl/time/time.h#L137>`_ for more information on arithmetic with ``absl::Duration``.
+
+For example:
+
+.. code-block:: c++
+
+ absl::Duration d = absl::Seconds(3.5);
+ int64 sec1 = d / absl::Seconds(1); // Truncates toward 0.
+ int64 sec2 = absl::ToInt64Seconds(d); // Equivalent to division.
+ assert(sec1 == 3 && sec2 == 3);
+
+ double dsec = d / absl::Seconds(1); // WRONG: Still truncates toward 0.
+ assert(dsec == 3.0);
+
+If you want floating-point division, you should use either the
+``absl::FDivDuration()`` function, or one of the unit conversion functions such
+as ``absl::ToDoubleSeconds()``. For example:
+
+.. code-block:: c++
+
+ absl::Duration d = absl::Seconds(3.5);
+ double dsec1 = absl::FDivDuration(d, absl::Seconds(1)); // GOOD: No truncation.
+ double dsec2 = absl::ToDoubleSeconds(d); // GOOD: No truncation.
+ assert(dsec1 == 3.5 && dsec2 == 3.5);
+
+
+This check looks for uses of ``absl::Duration`` division that is done in a
+floating-point context, and recommends the use of a function that returns a
+floating-point value.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-factory-float.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-factory-float.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-factory-float.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-factory-float.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,29 @@
+.. title:: clang-tidy - abseil-duration-factory-float
+
+abseil-duration-factory-float
+=============================
+
+Checks for cases where the floating-point overloads of various
+``absl::Duration`` factory functions are called when the more-efficient
+integer versions could be used instead.
+
+This check will not suggest fixes for literals which contain fractional
+floating point values or non-literals. It will suggest removing
+superfluous casts.
+
+Examples:
+
+.. code-block:: c++
+
+ // Original - Providing a floating-point literal.
+ absl::Duration d = absl::Seconds(10.0);
+
+ // Suggested - Use an integer instead.
+ absl::Duration d = absl::Seconds(10);
+
+
+ // Original - Explicitly casting to a floating-point type.
+ absl::Duration d = absl::Seconds(static_cast<double>(10));
+
+ // Suggested - Remove the explicit cast
+ absl::Duration d = absl::Seconds(10);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-factory-scale.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-factory-scale.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-factory-scale.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-factory-scale.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,35 @@
+.. title:: clang-tidy - abseil-duration-factory-scale
+
+abseil-duration-factory-scale
+=============================
+
+Checks for cases where arguments to ``absl::Duration`` factory functions are
+scaled internally and could be changed to a different factory function. This
+check also looks for arguements with a zero value and suggests using
+``absl::ZeroDuration()`` instead.
+
+Examples:
+
+.. code-block:: c++
+
+ // Original - Internal multiplication.
+ int x;
+ absl::Duration d = absl::Seconds(60 * x);
+
+ // Suggested - Use absl::Minutes instead.
+ absl::Duration d = absl::Minutes(x);
+
+
+ // Original - Internal division.
+ int y;
+ absl::Duration d = absl::Milliseconds(y / 1000.);
+
+ // Suggested - Use absl:::Seconds instead.
+ absl::Duration d = absl::Seconds(y);
+
+
+ // Original - Zero-value argument.
+ absl::Duration d = absl::Hours(0);
+
+ // Suggested = Use absl::ZeroDuration instead
+ absl::Duration d = absl::ZeroDuration();
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-subtraction.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-subtraction.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-subtraction.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-duration-subtraction.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,36 @@
+.. title:: clang-tidy - abseil-duration-subtraction
+
+abseil-duration-subtraction
+===========================
+
+Checks for cases where subtraction should be performed in the
+``absl::Duration`` domain. When subtracting two values, and the first one is
+known to be a conversion from ``absl::Duration``, we can infer that the second
+should also be interpreted as an ``absl::Duration``, and make that inference
+explicit.
+
+Examples:
+
+.. code-block:: c++
+
+ // Original - Subtraction in the double domain
+ double x;
+ absl::Duration d;
+ double result = absl::ToDoubleSeconds(d) - x;
+
+ // Suggestion - Subtraction in the absl::Duration domain instead
+ double result = absl::ToDoubleSeconds(d - absl::Seconds(x));
+
+
+ // Original - Subtraction of two Durations in the double domain
+ absl::Duration d1, d2;
+ double result = absl::ToDoubleSeconds(d1) - absl::ToDoubleSeconds(d2);
+
+ // Suggestion - Subtraction in the absl::Duration domain instead
+ double result = absl::ToDoubleSeconds(d1 - d2);
+
+Note: As with other ``clang-tidy`` checks, it is possible that multiple fixes
+may overlap (as in the case of nested expressions), so not all occurences can
+be transformed in one run. In particular, this may occur for nested subtraction
+expressions. Running ``clang-tidy`` multiple times will find and fix these
+overlaps.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-faster-strsplit-delimiter.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-faster-strsplit-delimiter.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-faster-strsplit-delimiter.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-faster-strsplit-delimiter.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,41 @@
+.. title:: clang-tidy - abseil-faster-strsplit-delimiter
+
+abseil-faster-strsplit-delimiter
+================================
+
+Finds instances of ``absl::StrSplit()`` or ``absl::MaxSplits()`` where the
+delimiter is a single character string literal and replaces with a character.
+The check will offer a suggestion to change the string literal into a character.
+It will also catch code using ``absl::ByAnyChar()`` for just a single character
+and will transform that into a single character as well.
+
+These changes will give the same result, but using characters rather than
+single character string literals is more efficient and readable.
+
+Examples:
+
+.. code-block:: c++
+
+ // Original - the argument is a string literal.
+ for (auto piece : absl::StrSplit(str, "B")) {
+
+ // Suggested - the argument is a character, which causes the more efficient
+ // overload of absl::StrSplit() to be used.
+ for (auto piece : absl::StrSplit(str, 'B')) {
+
+
+ // Original - the argument is a string literal inside absl::ByAnyChar call.
+ for (auto piece : absl::StrSplit(str, absl::ByAnyChar("B"))) {
+
+ // Suggested - the argument is a character, which causes the more efficient
+ // overload of absl::StrSplit() to be used and we do not need absl::ByAnyChar
+ // anymore.
+ for (auto piece : absl::StrSplit(str, 'B')) {
+
+
+ // Original - the argument is a string literal inside absl::MaxSplits call.
+ for (auto piece : absl::StrSplit(str, absl::MaxSplits("B", 1))) {
+
+ // Suggested - the argument is a character, which causes the more efficient
+ // overload of absl::StrSplit() to be used.
+ for (auto piece : absl::StrSplit(str, absl::MaxSplits('B', 1))) {
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-no-internal-dependencies.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-no-internal-dependencies.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-no-internal-dependencies.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-no-internal-dependencies.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,24 @@
+subl.. title:: clang-tidy - abseil-no-internal-dependencies
+
+abseil-no-internal-dependencies
+===============================
+
+Warns if code using Abseil depends on internal details. If something is in a
+namespace that includes the word âinternalâ, code is not allowed to depend upon
+it beaucse itâs an implementation detail. They cannot friend it, include it,
+you mention it or refer to it in any way. Doing so violates Abseil's
+compatibility guidelines and may result in breakage. See
+https://abseil.io/about/compatibility for more information.
+
+The following cases will result in warnings:
+
+.. code-block:: c++
+
+ absl::strings_internal::foo();
+ // warning triggered on this line
+ class foo {
+ friend struct absl::container_internal::faa;
+ // warning triggered on this line
+ };
+ absl::memory_internal::MakeUniqueResult();
+ // warning triggered on this line
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-no-namespace.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-no-namespace.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-no-namespace.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-no-namespace.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,21 @@
+.. title:: clang-tidy - abseil-no-namespace
+
+abseil-no-namespace
+===================
+
+Ensures code does not open ``namespace absl`` as that violates Abseil's
+compatibility guidelines. Code should not open ``namespace absl`` as that
+conflicts with Abseil's compatibility guidelines and may result in breakage.
+
+Any code that uses:
+
+.. code-block:: c++
+
+ namespace absl {
+ ...
+ }
+
+will be prompted with a warning.
+
+See `the full Abseil compatibility guidelines <https://
+abseil.io/about/compatibility>`_ for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-redundant-strcat-calls.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-redundant-strcat-calls.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-redundant-strcat-calls.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-redundant-strcat-calls.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,26 @@
+.. title:: clang-tidy - abseil-redundant-strcat-calls
+
+abseil-redundant-strcat-calls
+=============================
+
+Suggests removal of unnecessary calls to ``absl::StrCat`` when the result is
+being passed to another call to ``absl::StrCat`` or ``absl::StrAppend``.
+
+The extra calls cause unnecessary temporary strings to be constructed. Removing
+them makes the code smaller and faster.
+
+Examples:
+
+.. code-block:: c++
+
+ std::string s = absl::StrCat("A", absl::StrCat("B", absl::StrCat("C", "D")));
+ //before
+
+ std::string s = absl::StrCat("A", "B", "C", "D");
+ //after
+
+ absl::StrAppend(&s, absl::StrCat("E", "F", "G"));
+ //before
+
+ absl::StrAppend(&s, "E", "F", "G");
+ //after
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-str-cat-append.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-str-cat-append.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-str-cat-append.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-str-cat-append.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,17 @@
+.. title:: clang-tidy - abseil-str-cat-append
+
+abseil-str-cat-append
+=====================
+
+Flags uses of ``absl::StrCat()`` to append to a ``std::string``. Suggests
+``absl::StrAppend()`` should be used instead.
+
+The extra calls cause unnecessary temporary strings to be constructed. Removing
+them makes the code smaller and faster.
+
+.. code-block:: c++
+
+ a = absl::StrCat(a, b); // Use absl::StrAppend(&a, b) instead.
+
+Does not diagnose cases where ``absl::StrCat()`` is used as a template
+argument for a functor.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-string-find-startswith.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-string-find-startswith.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-string-find-startswith.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-string-find-startswith.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,41 @@
+.. title:: clang-tidy - abseil-string-find-startswith
+
+abseil-string-find-startswith
+=============================
+
+Checks whether a ``std::string::find()`` result is compared with 0, and
+suggests replacing with ``absl::StartsWith()``. This is both a readability and
+performance issue.
+
+.. code-block:: c++
+
+ string s = "...";
+ if (s.find("Hello World") == 0) { /* do something */ }
+
+becomes
+
+
+.. code-block:: c++
+
+ string s = "...";
+ if (absl::StartsWith(s, "Hello World")) { /* do something */ }
+
+
+Options
+-------
+
+.. option:: StringLikeClasses
+
+ Semicolon-separated list of names of string-like classes. By default only
+ ``std::basic_string`` is considered. The list of methods to considered is
+ fixed.
+
+.. option:: IncludeStyle
+
+ A string specifying which include-style is used, `llvm` or `google`. Default
+ is `llvm`.
+
+.. option:: AbseilStringsMatchHeader
+
+ The location of Abseil's ``strings/match.h``. Defaults to
+ ``absl/strings/match.h``.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-upgrade-duration-conversions.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-upgrade-duration-conversions.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-upgrade-duration-conversions.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/abseil-upgrade-duration-conversions.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,43 @@
+.. title:: clang-tidy - abseil-upgrade-duration-conversions
+
+abseil-upgrade-duration-conversions
+===================================
+
+Finds calls to ``absl::Duration`` arithmetic operators and factories whose
+argument needs an explicit cast to continue compiling after upcoming API
+changes.
+
+The operators ``*=``, ``/=``, ``*``, and ``/`` for ``absl::Duration`` currently
+accept an argument of class type that is convertible to an arithmetic type. Such
+a call currently converts the value to an ``int64_t``, even in a case such as
+``std::atomic<float>`` that would result in lossy conversion.
+
+Additionally, the ``absl::Duration`` factory functions (``absl::Hours``,
+``absl::Minutes``, etc) currently accept an ``int64_t`` or a floating-point
+type. Similar to the arithmetic operators, calls with an argument of class type
+that is convertible to an arithmetic type go through the ``int64_t`` path.
+
+These operators and factories will be changed to only accept arithmetic types to
+prevent unintended behavior. After these changes are released, passing an
+argument of class type will no longer compile, even if the type is implicitly
+convertible to an arithmetic type.
+
+Here are example fixes created by this check:
+
+.. code-block:: c++
+
+ std::atomic<int> a;
+ absl::Duration d = absl::Milliseconds(a);
+ d *= a;
+
+becomes
+
+.. code-block:: c++
+
+ std::atomic<int> a;
+ absl::Duration d = absl::Milliseconds(static_cast<int64_t>(a));
+ d *= static_cast<int64_t>(a);
+
+Note that this check always adds a cast to ``int64_t`` in order to preserve the
+current behavior of user code. It is possible that this uncovers unintended
+behavior due to types implicitly convertible to a floating-point type.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-accept.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-accept.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-accept.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-accept.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,18 @@
+.. title:: clang-tidy - android-cloexec-accept
+
+android-cloexec-accept
+======================
+
+The usage of ``accept()`` is not recommended, it's better to use ``accept4()``.
+Without this flag, an opened sensitive file descriptor would remain open across
+a fork+exec to a lower-privileged SELinux domain.
+
+Examples:
+
+.. code-block:: c++
+
+ accept(sockfd, addr, addrlen);
+
+ // becomes
+
+ accept4(sockfd, addr, addrlen, SOCK_CLOEXEC);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-accept4.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-accept4.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-accept4.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-accept4.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,18 @@
+.. title:: clang-tidy - android-cloexec-accept4
+
+android-cloexec-accept4
+=======================
+
+``accept4()`` should include ``SOCK_CLOEXEC`` in its type argument to avoid the
+file descriptor leakage. Without this flag, an opened sensitive file would
+remain open across a fork+exec to a lower-privileged SELinux domain.
+
+Examples:
+
+.. code-block:: c++
+
+ accept4(sockfd, addr, addrlen, SOCK_NONBLOCK);
+
+ // becomes
+
+ accept4(sockfd, addr, addrlen, SOCK_NONBLOCK | SOCK_CLOEXEC);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-creat.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-creat.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-creat.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-creat.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,16 @@
+.. title:: clang-tidy - android-cloexec-creat
+
+android-cloexec-creat
+=====================
+
+The usage of ``creat()`` is not recommended, it's better to use ``open()``.
+
+Examples:
+
+.. code-block:: c++
+
+ int fd = creat(path, mode);
+
+ // becomes
+
+ int fd = open(path, O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, mode);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-dup.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-dup.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-dup.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-dup.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,18 @@
+.. title:: clang-tidy - android-cloexec-dup
+
+android-cloexec-dup
+===================
+
+The usage of ``dup()`` is not recommended, it's better to use ``fcntl()``,
+which can set the close-on-exec flag. Otherwise, an opened sensitive file would
+remain open across a fork+exec to a lower-privileged SELinux domain.
+
+Examples:
+
+.. code-block:: c++
+
+ int fd = dup(oldfd);
+
+ // becomes
+
+ int fd = fcntl(oldfd, F_DUPFD_CLOEXEC);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-epoll-create.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-epoll-create.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-epoll-create.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-epoll-create.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,17 @@
+.. title:: clang-tidy - android-cloexec-epoll-create
+
+android-cloexec-epoll-create
+============================
+
+The usage of ``epoll_create()`` is not recommended, it's better to use
+``epoll_create1()``, which allows close-on-exec.
+
+Examples:
+
+.. code-block:: c++
+
+ epoll_create(size);
+
+ // becomes
+
+ epoll_create1(EPOLL_CLOEXEC);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-epoll-create1.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-epoll-create1.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-epoll-create1.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-epoll-create1.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,18 @@
+.. title:: clang-tidy - android-cloexec-epoll-create1
+
+android-cloexec-epoll-create1
+=============================
+
+``epoll_create1()`` should include ``EPOLL_CLOEXEC`` in its type argument to
+avoid the file descriptor leakage. Without this flag, an opened sensitive file
+would remain open across a fork+exec to a lower-privileged SELinux domain.
+
+Examples:
+
+.. code-block:: c++
+
+ epoll_create1(0);
+
+ // becomes
+
+ epoll_create1(EPOLL_CLOEXEC);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-fopen.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-fopen.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-fopen.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-fopen.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,18 @@
+.. title:: clang-tidy - android-cloexec-fopen
+
+android-cloexec-fopen
+=====================
+
+``fopen()`` should include ``e`` in their mode string; so ``re`` would be
+valid. This is equivalent to having set ``FD_CLOEXEC on`` that descriptor.
+
+Examples:
+
+.. code-block:: c++
+
+ fopen("fn", "r");
+
+ // becomes
+
+ fopen("fn", "re");
+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-inotify-init.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-inotify-init.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-inotify-init.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-inotify-init.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,17 @@
+.. title:: clang-tidy - android-cloexec-inotify-init
+
+android-cloexec-inotify-init
+============================
+
+The usage of ``inotify_init()`` is not recommended, it's better to use
+``inotify_init1()``.
+
+Examples:
+
+.. code-block:: c++
+
+ inotify_init();
+
+ // becomes
+
+ inotify_init1(IN_CLOEXEC);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-inotify-init1.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-inotify-init1.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-inotify-init1.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-inotify-init1.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,18 @@
+.. title:: clang-tidy - android-cloexec-inotify-init1
+
+android-cloexec-inotify-init1
+=============================
+
+``inotify_init1()`` should include ``IN_CLOEXEC`` in its type argument to avoid the
+file descriptor leakage. Without this flag, an opened sensitive file would
+remain open across a fork+exec to a lower-privileged SELinux domain.
+
+Examples:
+
+.. code-block:: c++
+
+ inotify_init1(IN_NONBLOCK);
+
+ // becomes
+
+ inotify_init1(IN_NONBLOCK | IN_CLOEXEC);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-memfd-create.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-memfd-create.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-memfd-create.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-memfd-create.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,18 @@
+.. title:: clang-tidy - android-cloexec-memfd-create
+
+android-cloexec-memfd-create
+============================
+
+``memfd_create()`` should include ``MFD_CLOEXEC`` in its type argument to avoid
+the file descriptor leakage. Without this flag, an opened sensitive file would
+remain open across a fork+exec to a lower-privileged SELinux domain.
+
+Examples:
+
+.. code-block:: c++
+
+ memfd_create(name, MFD_ALLOW_SEALING);
+
+ // becomes
+
+ memfd_create(name, MFD_ALLOW_SEALING | MFD_CLOEXEC);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-open.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-open.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-open.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-open.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,24 @@
+.. title:: clang-tidy - android-cloexec-open
+
+android-cloexec-open
+====================
+
+A common source of security bugs is code that opens a file without using the
+``O_CLOEXEC`` flag. Without that flag, an opened sensitive file would remain
+open across a fork+exec to a lower-privileged SELinux domain, leaking that
+sensitive data. Open-like functions including ``open()``, ``openat()``, and
+``open64()`` should include ``O_CLOEXEC`` in their flags argument.
+
+Examples:
+
+.. code-block:: c++
+
+ open("filename", O_RDWR);
+ open64("filename", O_RDWR);
+ openat(0, "filename", O_RDWR);
+
+ // becomes
+
+ open("filename", O_RDWR | O_CLOEXEC);
+ open64("filename", O_RDWR | O_CLOEXEC);
+ openat(0, "filename", O_RDWR | O_CLOEXEC);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-socket.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-socket.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-socket.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-cloexec-socket.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,18 @@
+.. title:: clang-tidy - android-cloexec-socket
+
+android-cloexec-socket
+======================
+
+``socket()`` should include ``SOCK_CLOEXEC`` in its type argument to avoid the
+file descriptor leakage. Without this flag, an opened sensitive file would
+remain open across a fork+exec to a lower-privileged SELinux domain.
+
+Examples:
+
+.. code-block:: c++
+
+ socket(domain, type, SOCK_STREAM);
+
+ // becomes
+
+ socket(domain, type, SOCK_STREAM | SOCK_CLOEXEC);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-comparison-in-temp-failure-retry.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-comparison-in-temp-failure-retry.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-comparison-in-temp-failure-retry.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/android-comparison-in-temp-failure-retry.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,36 @@
+.. title:: clang-tidy - android-comparison-in-temp-failure-retry
+
+android-comparison-in-temp-failure-retry
+========================================
+
+Diagnoses comparisons that appear to be incorrectly placed in the argument to
+the ``TEMP_FAILURE_RETRY`` macro. Having such a use is incorrect in the vast
+majority of cases, and will often silently defeat the purpose of the
+``TEMP_FAILURE_RETRY`` macro.
+
+For context, ``TEMP_FAILURE_RETRY`` is `a convenience macro
+<https://www.gnu.org/software/libc/manual/html_node/Interrupted-Primitives.html>`_
+provided by both glibc and Bionic. Its purpose is to repeatedly run a syscall
+until it either succeeds, or fails for reasons other than being interrupted.
+
+Example buggy usage looks like:
+
+.. code-block:: c
+
+ char cs[1];
+ while (TEMP_FAILURE_RETRY(read(STDIN_FILENO, cs, sizeof(cs)) != 0)) {
+ // Do something with cs.
+ }
+
+Because TEMP_FAILURE_RETRY will check for whether the result *of the comparison*
+is ``-1``, and retry if so.
+
+If you encounter this, the fix is simple: lift the comparison out of the
+``TEMP_FAILURE_RETRY`` argument, like so:
+
+.. code-block:: c
+
+ char cs[1];
+ while (TEMP_FAILURE_RETRY(read(STDIN_FILENO, cs, sizeof(cs))) != 0) {
+ // Do something with cs.
+ }
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/boost-use-to-string.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/boost-use-to-string.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/boost-use-to-string.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/boost-use-to-string.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,22 @@
+.. title:: clang-tidy - boost-use-to-string
+
+boost-use-to-string
+===================
+
+This check finds conversion from integer type like ``int`` to ``std::string`` or
+``std::wstring`` using ``boost::lexical_cast``, and replace it with calls to
+``std::to_string`` and ``std::to_wstring``.
+
+It doesn't replace conversion from floating points despite the ``to_string``
+overloads, because it would change the behaviour.
+
+
+.. code-block:: c++
+
+ auto str = boost::lexical_cast<std::string>(42);
+ auto wstr = boost::lexical_cast<std::wstring>(2137LL);
+
+ // Will be changed to
+ auto str = std::to_string(42);
+ auto wstr = std::to_wstring(2137LL);
+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-argument-comment.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-argument-comment.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-argument-comment.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-argument-comment.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,29 @@
+.. title:: clang-tidy - bugprone-argument-comment
+
+bugprone-argument-comment
+=========================
+
+Checks that argument comments match parameter names.
+
+The check understands argument comments in the form ``/*parameter_name=*/``
+that are placed right before the argument.
+
+.. code-block:: c++
+
+ void f(bool foo);
+
+ ...
+
+ f(/*bar=*/true);
+ // warning: argument name 'bar' in comment does not match parameter name 'foo'
+
+The check tries to detect typos and suggest automated fixes for them.
+
+Options
+-------
+
+.. option:: StrictMode
+
+ When zero (default value), the check will ignore leading and trailing
+ underscores and case when comparing names -- otherwise they are taken into
+ account.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-assert-side-effect.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-assert-side-effect.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-assert-side-effect.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-assert-side-effect.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,23 @@
+.. title:: clang-tidy - bugprone-assert-side-effect
+
+bugprone-assert-side-effect
+===========================
+
+Finds ``assert()`` with side effect.
+
+The condition of ``assert()`` is evaluated only in debug builds so a
+condition with side effect can cause different behavior in debug / release
+builds.
+
+Options
+-------
+
+.. option:: AssertMacros
+
+ A comma-separated list of the names of assert macros to be checked.
+
+.. option:: CheckFunctionCalls
+
+ Whether to treat non-const member and non-member functions as they produce
+ side effects. Disabled by default because it can increase the number of false
+ positive warnings.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-bool-pointer-implicit-conversion.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-bool-pointer-implicit-conversion.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-bool-pointer-implicit-conversion.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-bool-pointer-implicit-conversion.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,16 @@
+.. title:: clang-tidy - bugprone-bool-pointer-implicit-conversion
+
+bugprone-bool-pointer-implicit-conversion
+=========================================
+
+Checks for conditions based on implicit conversion from a ``bool`` pointer to
+``bool``.
+
+Example:
+
+.. code-block:: c++
+
+ bool *p;
+ if (p) {
+ // Never used in a pointer-specific way.
+ }
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-copy-constructor-init.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-copy-constructor-init.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-copy-constructor-init.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-copy-constructor-init.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,29 @@
+.. title:: clang-tidy - bugprone-copy-constructor-init
+
+bugprone-copy-constructor-init
+==============================
+
+Finds copy constructors where the constructor doesn't call
+the copy constructor of the base class.
+
+.. code-block:: c++
+
+ class Copyable {
+ public:
+ Copyable() = default;
+ Copyable(const Copyable &) = default;
+ };
+ class X2 : public Copyable {
+ X2(const X2 &other) {} // Copyable(other) is missing
+ };
+
+Also finds copy constructors where the constructor of
+the base class don't have parameter.
+
+.. code-block:: c++
+
+ class X4 : public Copyable {
+ X4(const X4 &other) : Copyable() {} // other is missing
+ };
+
+The check also suggests a fix-its in some cases.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-dangling-handle.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-dangling-handle.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-dangling-handle.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-dangling-handle.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,38 @@
+.. title:: clang-tidy - bugprone-dangling-handle
+
+bugprone-dangling-handle
+========================
+
+Detect dangling references in value handles like
+``std::experimental::string_view``.
+These dangling references can be a result of constructing handles from temporary
+values, where the temporary is destroyed soon after the handle is created.
+
+Examples:
+
+.. code-block:: c++
+
+ string_view View = string(); // View will dangle.
+ string A;
+ View = A + "A"; // still dangle.
+
+ vector<string_view> V;
+ V.push_back(string()); // V[0] is dangling.
+ V.resize(3, string()); // V[1] and V[2] will also dangle.
+
+ string_view f() {
+ // All these return values will dangle.
+ return string();
+ string S;
+ return S;
+ char Array[10]{};
+ return Array;
+ }
+
+Options
+-------
+
+.. option:: HandleClasses
+
+ A semicolon-separated list of class names that should be treated as handles.
+ By default only ``std::experimental::basic_string_view`` is considered.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-exception-escape.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-exception-escape.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-exception-escape.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-exception-escape.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,39 @@
+.. title:: clang-tidy - bugprone-exception-escape
+
+bugprone-exception-escape
+=========================
+
+Finds functions which may throw an exception directly or indirectly, but they
+should not. The functions which should not throw exceptions are the following:
+* Destructors
+* Move constructors
+* Move assignment operators
+* The ``main()`` functions
+* ``swap()`` functions
+* Functions marked with ``throw()`` or ``noexcept``
+* Other functions given as option
+
+A destructor throwing an exception may result in undefined behavior, resource
+leaks or unexpected termination of the program. Throwing move constructor or
+move assignment also may result in undefined behavior or resource leak. The
+``swap()`` operations expected to be non throwing most of the cases and they
+are always possible to implement in a non throwing way. Non throwing ``swap()``
+operations are also used to create move operations. A throwing ``main()``
+function also results in unexpected termination.
+
+WARNING! This check may be expensive on large source files.
+
+Options
+-------
+
+.. option:: FunctionsThatShouldNotThrow
+
+ Comma separated list containing function names which should not throw. An
+ example value for this parameter can be ``WinMain`` which adds function
+ ``WinMain()`` in the Windows API to the list of the funcions which should
+ not throw. Default value is an empty string.
+
+.. option:: IgnoredExceptions
+
+ Comma separated list containing type names which are not counted as thrown
+ exceptions in the check. Default value is an empty string.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-fold-init-type.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-fold-init-type.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-fold-init-type.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-fold-init-type.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,27 @@
+.. title:: clang-tidy - bugprone-fold-init-type
+
+bugprone-fold-init-type
+=======================
+
+The check flags type mismatches in
+`folds <https://en.wikipedia.org/wiki/Fold_(higher-order_function)>`_
+like ``std::accumulate`` that might result in loss of precision.
+``std::accumulate`` folds an input range into an initial value using the type of
+the latter, with ``operator+`` by default. This can cause loss of precision
+through:
+
+- Truncation: The following code uses a floating point range and an int
+ initial value, so trucation wil happen at every application of ``operator+``
+ and the result will be `0`, which might not be what the user expected.
+
+.. code-block:: c++
+
+ auto a = {0.5f, 0.5f, 0.5f, 0.5f};
+ return std::accumulate(std::begin(a), std::end(a), 0);
+
+- Overflow: The following code also returns `0`.
+
+.. code-block:: c++
+
+ auto a = {65536LL * 65536 * 65536};
+ return std::accumulate(std::begin(a), std::end(a), 0);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-forward-declaration-namespace.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-forward-declaration-namespace.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-forward-declaration-namespace.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-forward-declaration-namespace.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,20 @@
+.. title:: clang-tidy - bugprone-forward-declaration-namespace
+
+bugprone-forward-declaration-namespace
+======================================
+
+Checks if an unused forward declaration is in a wrong namespace.
+
+The check inspects all unused forward declarations and checks if there is any
+declaration/definition with the same name existing, which could indicate that
+the forward declaration is in a potentially wrong namespace.
+
+.. code-block:: c++
+
+ namespace na { struct A; }
+ namespace nb { struct A {}; }
+ nb::A a;
+ // warning : no definition found for 'A', but a definition with the same name
+ // 'A' found in another namespace 'nb::'
+
+This check can only generate warnings, but it can't suggest a fix at this point.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-forwarding-reference-overload.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-forwarding-reference-overload.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-forwarding-reference-overload.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-forwarding-reference-overload.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,49 @@
+.. title:: clang-tidy - bugprone-forwarding-reference-overload
+
+bugprone-forwarding-reference-overload
+======================================
+
+The check looks for perfect forwarding constructors that can hide copy or move
+constructors. If a non const lvalue reference is passed to the constructor, the
+forwarding reference parameter will be a better match than the const reference
+parameter of the copy constructor, so the perfect forwarding constructor will be
+called, which can be confusing.
+For detailed description of this issue see: Scott Meyers, Effective Modern C++,
+Item 26.
+
+Consider the following example:
+
+.. code-block:: c++
+
+ class Person {
+ public:
+ // C1: perfect forwarding ctor
+ template<typename T>
+ explicit Person(T&& n) {}
+
+ // C2: perfect forwarding ctor with parameter default value
+ template<typename T>
+ explicit Person(T&& n, int x = 1) {}
+
+ // C3: perfect forwarding ctor guarded with enable_if
+ template<typename T, typename X = enable_if_t<is_special<T>,void>>
+ explicit Person(T&& n) {}
+
+ // (possibly compiler generated) copy ctor
+ Person(const Person& rhs);
+ };
+
+The check warns for constructors C1 and C2, because those can hide copy and move
+constructors. We suppress warnings if the copy and the move constructors are both
+disabled (deleted or private), because there is nothing the perfect forwarding
+constructor could hide in this case. We also suppress warnings for constructors
+like C3 that are guarded with an enable_if, assuming the programmer was aware of
+the possible hiding.
+
+Background
+----------
+
+For deciding whether a constructor is guarded with enable_if, we consider the
+default values of the type parameters and the types of the constructor
+parameters. If any part of these types is std::enable_if or std::enable_if_t, we
+assume the constructor is guarded.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-inaccurate-erase.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-inaccurate-erase.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-inaccurate-erase.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-inaccurate-erase.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,13 @@
+.. title:: clang-tidy - bugprone-inaccurate-erase
+
+bugprone-inaccurate-erase
+=========================
+
+
+Checks for inaccurate use of the ``erase()`` method.
+
+Algorithms like ``remove()`` do not actually remove any element from the
+container but return an iterator to the first redundant element at the end
+of the container. These redundant elements must be removed using the
+``erase()`` method. This check warns when not all of the elements will be
+removed due to using an inappropriate overload.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-incorrect-roundings.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-incorrect-roundings.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-incorrect-roundings.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-incorrect-roundings.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,16 @@
+.. title:: clang-tidy - bugprone-incorrect-roundings
+
+bugprone-incorrect-roundings
+============================
+
+Checks the usage of patterns known to produce incorrect rounding.
+Programmers often use::
+
+ (int)(double_expression + 0.5)
+
+to round the double expression to an integer. The problem with this:
+
+1. It is unnecessarily slow.
+2. It is incorrect. The number 0.499999975 (smallest representable float
+ number below 0.5) rounds to 1.0. Even worse behavior for negative
+ numbers where both -0.5f and -1.4f both round to 0.0.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-integer-division.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-integer-division.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-integer-division.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-integer-division.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,39 @@
+.. title:: clang-tidy - bugprone-integer-division
+
+bugprone-integer-division
+=========================
+
+Finds cases where integer division in a floating point context is likely to
+cause unintended loss of precision.
+
+No reports are made if divisions are part of the following expressions:
+
+- operands of operators expecting integral or bool types,
+- call expressions of integral or bool types, and
+- explicit cast expressions to integral or bool types,
+
+as these are interpreted as signs of deliberateness from the programmer.
+
+Examples:
+
+.. code-block:: c++
+
+ float floatFunc(float);
+ int intFunc(int);
+ double d;
+ int i = 42;
+
+ // Warn, floating-point values expected.
+ d = 32 * 8 / (2 + i);
+ d = 8 * floatFunc(1 + 7 / 2);
+ d = i / (1 << 4);
+
+ // OK, no integer division.
+ d = 32 * 8.0 / (2 + i);
+ d = 8 * floatFunc(1 + 7.0 / 2);
+ d = (double)i / (1 << 4);
+
+ // OK, there are signs of deliberateness.
+ d = 1 << (i / 2);
+ d = 9 + intFunc(6 * i / 32);
+ d = (int)(i / 32) - 8;
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-lambda-function-name.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-lambda-function-name.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-lambda-function-name.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-lambda-function-name.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,27 @@
+.. title:: clang-tidy - bugprone-lambda-function-name
+
+bugprone-lambda-function-name
+=============================
+
+Checks for attempts to get the name of a function from within a lambda
+expression. The name of a lambda is always something like ``operator()``, which
+is almost never what was intended.
+
+Example:
+
+.. code-block:: c++
+
+ void FancyFunction() {
+ [] { printf("Called from %s\n", __func__); }();
+ [] { printf("Now called from %s\n", __FUNCTION__); }();
+ }
+
+Output::
+
+ Called from operator()
+ Now called from operator()
+
+Likely intended output::
+
+ Called from FancyFunction
+ Now called from FancyFunction
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-macro-parentheses.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-macro-parentheses.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-macro-parentheses.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-macro-parentheses.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,19 @@
+.. title:: clang-tidy - bugprone-macro-parentheses
+
+bugprone-macro-parentheses
+==========================
+
+
+Finds macros that can have unexpected behaviour due to missing parentheses.
+
+Macros are expanded by the preprocessor as-is. As a result, there can be
+unexpected behaviour; operators may be evaluated in unexpected order and
+unary operators may become binary operators, etc.
+
+When the replacement list has an expression, it is recommended to surround
+it with parentheses. This ensures that the macro result is evaluated
+completely before it is used.
+
+It is also recommended to surround macro arguments in the replacement list
+with parentheses. This ensures that the argument value is calculated
+properly.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-macro-repeated-side-effects.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-macro-repeated-side-effects.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-macro-repeated-side-effects.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-macro-repeated-side-effects.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,7 @@
+.. title:: clang-tidy - bugprone-macro-repeated-side-effects
+
+bugprone-macro-repeated-side-effects
+====================================
+
+
+Checks for repeated argument with side effects in macros.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-misplaced-operator-in-strlen-in-alloc.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-misplaced-operator-in-strlen-in-alloc.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-misplaced-operator-in-strlen-in-alloc.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-misplaced-operator-in-strlen-in-alloc.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,57 @@
+.. title:: clang-tidy - bugprone-misplaced-operator-in-strlen-in-alloc
+
+bugprone-misplaced-operator-in-strlen-in-alloc
+==============================================
+
+Finds cases where ``1`` is added to the string in the argument to ``strlen()``,
+``strnlen()``, ``strnlen_s()``, ``wcslen()``, ``wcsnlen()``, and ``wcsnlen_s()``
+instead of the result and the value is used as an argument to a memory
+allocation function (``malloc()``, ``calloc()``, ``realloc()``, ``alloca()``) or
+the ``new[]`` operator in `C++`. The check detects error cases even if one of
+these functions (except the ``new[]`` operator) is called by a constant function
+pointer. Cases where ``1`` is added both to the parameter and the result of the
+``strlen()``-like function are ignored, as are cases where the whole addition is
+surrounded by extra parentheses.
+
+`C` example code:
+
+.. code-block:: c
+
+ void bad_malloc(char *str) {
+ char *c = (char*) malloc(strlen(str + 1));
+ }
+
+
+The suggested fix is to add ``1`` to the return value of ``strlen()`` and not
+to its argument. In the example above the fix would be
+
+.. code-block:: c
+
+ char *c = (char*) malloc(strlen(str) + 1);
+
+
+`C++` example code:
+
+.. code-block:: c++
+
+ void bad_new(char *str) {
+ char *c = new char[strlen(str + 1)];
+ }
+
+
+As in the `C` code with the ``malloc()`` function, the suggested fix is to
+add ``1`` to the return value of ``strlen()`` and not to its argument. In the
+example above the fix would be
+
+.. code-block:: c++
+
+ char *c = new char[strlen(str) + 1];
+
+
+Example for silencing the diagnostic:
+
+.. code-block:: c
+
+ void bad_malloc(char *str) {
+ char *c = (char*) malloc(strlen((str + 1)));
+ }
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-misplaced-widening-cast.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-misplaced-widening-cast.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-misplaced-widening-cast.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-misplaced-widening-cast.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,65 @@
+.. title:: clang-tidy - bugprone-misplaced-widening-cast
+
+bugprone-misplaced-widening-cast
+================================
+
+This check will warn when there is a cast of a calculation result to a bigger
+type. If the intention of the cast is to avoid loss of precision then the cast
+is misplaced, and there can be loss of precision. Otherwise the cast is
+ineffective.
+
+Example code:
+
+.. code-block:: c++
+
+ long f(int x) {
+ return (long)(x * 1000);
+ }
+
+The result ``x * 1000`` is first calculated using ``int`` precision. If the
+result exceeds ``int`` precision there is loss of precision. Then the result is
+casted to ``long``.
+
+If there is no loss of precision then the cast can be removed or you can
+explicitly cast to ``int`` instead.
+
+If you want to avoid loss of precision then put the cast in a proper location,
+for instance:
+
+.. code-block:: c++
+
+ long f(int x) {
+ return (long)x * 1000;
+ }
+
+Implicit casts
+--------------
+
+Forgetting to place the cast at all is at least as dangerous and at least as
+common as misplacing it. If :option:`CheckImplicitCasts` is enabled the check
+also detects these cases, for instance:
+
+.. code-block:: c++
+
+ long f(int x) {
+ return x * 1000;
+ }
+
+Floating point
+--------------
+
+Currently warnings are only written for integer conversion. No warning is
+written for this code:
+
+.. code-block:: c++
+
+ double f(float x) {
+ return (double)(x * 10.0f);
+ }
+
+Options
+-------
+
+.. option:: CheckImplicitCasts
+
+ If non-zero, enables detection of implicit casts. Default is non-zero.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-move-forwarding-reference.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-move-forwarding-reference.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-move-forwarding-reference.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-move-forwarding-reference.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,60 @@
+.. title:: clang-tidy - bugprone-move-forwarding-reference
+
+bugprone-move-forwarding-reference
+==================================
+
+Warns if ``std::move`` is called on a forwarding reference, for example:
+
+.. code-block:: c++
+
+ template <typename T>
+ void foo(T&& t) {
+ bar(std::move(t));
+ }
+
+`Forwarding references
+<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4164.pdf>`_ should
+typically be passed to ``std::forward`` instead of ``std::move``, and this is
+the fix that will be suggested.
+
+(A forwarding reference is an rvalue reference of a type that is a deduced
+function template argument.)
+
+In this example, the suggested fix would be
+
+.. code-block:: c++
+
+ bar(std::forward<T>(t));
+
+Background
+----------
+
+Code like the example above is sometimes written with the expectation that
+``T&&`` will always end up being an rvalue reference, no matter what type is
+deduced for ``T``, and that it is therefore not possible to pass an lvalue to
+``foo()``. However, this is not true. Consider this example:
+
+.. code-block:: c++
+
+ std::string s = "Hello, world";
+ foo(s);
+
+This code compiles and, after the call to ``foo()``, ``s`` is left in an
+indeterminate state because it has been moved from. This may be surprising to
+the caller of ``foo()`` because no ``std::move`` was used when calling
+``foo()``.
+
+The reason for this behavior lies in the special rule for template argument
+deduction on function templates like ``foo()`` -- i.e. on function templates
+that take an rvalue reference argument of a type that is a deduced function
+template argument. (See section [temp.deduct.call]/3 in the C++11 standard.)
+
+If ``foo()`` is called on an lvalue (as in the example above), then ``T`` is
+deduced to be an lvalue reference. In the example, ``T`` is deduced to be
+``std::string &``. The type of the argument ``t`` therefore becomes
+``std::string& &&``; by the reference collapsing rules, this collapses to
+``std::string&``.
+
+This means that the ``foo(s)`` call passes ``s`` as an lvalue reference, and
+``foo()`` ends up moving ``s`` and thereby placing it into an indeterminate
+state.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-multiple-statement-macro.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-multiple-statement-macro.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-multiple-statement-macro.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-multiple-statement-macro.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,16 @@
+.. title:: clang-tidy - bugprone-multiple-statement-macro
+
+bugprone-multiple-statement-macro
+=================================
+
+Detect multiple statement macros that are used in unbraced conditionals. Only
+the first statement of the macro will be inside the conditional and the other
+ones will be executed unconditionally.
+
+Example:
+
+.. code-block:: c++
+
+ #define INCREMENT_TWO(x, y) (x)++; (y)++
+ if (do_increment)
+ INCREMENT_TWO(a, b); // (b)++ will be executed unconditionally.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-parent-virtual-call.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-parent-virtual-call.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-parent-virtual-call.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-parent-virtual-call.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,23 @@
+.. title:: clang-tidy - bugprone-parent-virtual-call
+
+bugprone-parent-virtual-call
+============================
+
+Detects and fixes calls to grand-...parent virtual methods instead of calls
+to overridden parent's virtual methods.
+
+.. code-block:: c++
+
+ class A {
+ int virtual foo() {...}
+ };
+
+ class B: public A {
+ int foo() override {...}
+ };
+
+ class C: public B {
+ int foo() override { A::foo(); }
+ // ^^^^^^^^
+ // warning: qualified name A::foo refers to a member overridden in subclass; did you mean 'B'? [bugprone-parent-virtual-call]
+ };
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-sizeof-container.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-sizeof-container.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-sizeof-container.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-sizeof-container.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,26 @@
+.. title:: clang-tidy - bugprone-sizeof-container
+
+bugprone-sizeof-container
+=========================
+
+The check finds usages of ``sizeof`` on expressions of STL container types. Most
+likely the user wanted to use ``.size()`` instead.
+
+All class/struct types declared in namespace ``std::`` having a const ``size()``
+method are considered containers, with the exception of ``std::bitset`` and
+``std::array``.
+
+Examples:
+
+.. code-block:: c++
+
+ std::string s;
+ int a = 47 + sizeof(s); // warning: sizeof() doesn't return the size of the container. Did you mean .size()?
+
+ int b = sizeof(std::string); // no warning, probably intended.
+
+ std::string array_of_strings[10];
+ int c = sizeof(array_of_strings) / sizeof(array_of_strings[0]); // no warning, definitely intended.
+
+ std::array<int, 3> std_array;
+ int d = sizeof(std_array); // no warning, probably intended.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-sizeof-expression.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-sizeof-expression.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-sizeof-expression.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-sizeof-expression.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,189 @@
+.. title:: clang-tidy - bugprone-sizeof-expression
+
+bugprone-sizeof-expression
+==========================
+
+The check finds usages of ``sizeof`` expressions which are most likely errors.
+
+The ``sizeof`` operator yields the size (in bytes) of its operand, which may be
+an expression or the parenthesized name of a type. Misuse of this operator may
+be leading to errors and possible software vulnerabilities.
+
+Suspicious usage of 'sizeof(K)'
+-------------------------------
+
+A common mistake is to query the ``sizeof`` of an integer literal. This is
+equivalent to query the size of its type (probably ``int``). The intent of the
+programmer was probably to simply get the integer and not its size.
+
+.. code-block:: c++
+
+ #define BUFLEN 42
+ char buf[BUFLEN];
+ memset(buf, 0, sizeof(BUFLEN)); // sizeof(42) ==> sizeof(int)
+
+Suspicious usage of 'sizeof(expr)'
+----------------------------------
+
+In cases, where there is an enum or integer to represent a type, a common
+mistake is to query the ``sizeof`` on the integer or enum that represents the
+type that should be used by ``sizeof``. This results in the size of the integer
+and not of the type the integer represents:
+
+.. code-block:: c++
+
+ enum data_type {
+ FLOAT_TYPE,
+ DOUBLE_TYPE
+ };
+
+ struct data {
+ data_type type;
+ void* buffer;
+ data_type get_type() {
+ return type;
+ }
+ };
+
+ void f(data d, int numElements) {
+ // should be sizeof(float) or sizeof(double), depending on d.get_type()
+ int numBytes = numElements * sizeof(d.get_type());
+ ...
+ }
+
+
+Suspicious usage of 'sizeof(this)'
+----------------------------------
+
+The ``this`` keyword is evaluated to a pointer to an object of a given type.
+The expression ``sizeof(this)`` is returning the size of a pointer. The
+programmer most likely wanted the size of the object and not the size of the
+pointer.
+
+.. code-block:: c++
+
+ class Point {
+ [...]
+ size_t size() { return sizeof(this); } // should probably be sizeof(*this)
+ [...]
+ };
+
+Suspicious usage of 'sizeof(char*)'
+-----------------------------------
+
+There is a subtle difference between declaring a string literal with
+``char* A = ""`` and ``char A[] = ""``. The first case has the type ``char*``
+instead of the aggregate type ``char[]``. Using ``sizeof`` on an object declared
+with ``char*`` type is returning the size of a pointer instead of the number of
+characters (bytes) in the string literal.
+
+.. code-block:: c++
+
+ const char* kMessage = "Hello World!"; // const char kMessage[] = "...";
+ void getMessage(char* buf) {
+ memcpy(buf, kMessage, sizeof(kMessage)); // sizeof(char*)
+ }
+
+Suspicious usage of 'sizeof(A*)'
+--------------------------------
+
+A common mistake is to compute the size of a pointer instead of its pointee.
+These cases may occur because of explicit cast or implicit conversion.
+
+.. code-block:: c++
+
+ int A[10];
+ memset(A, 0, sizeof(A + 0));
+
+ struct Point point;
+ memset(point, 0, sizeof(&point));
+
+Suspicious usage of 'sizeof(...)/sizeof(...)'
+---------------------------------------------
+
+Dividing ``sizeof`` expressions is typically used to retrieve the number of
+elements of an aggregate. This check warns on incompatible or suspicious cases.
+
+In the following example, the entity has 10-bytes and is incompatible with the
+type ``int`` which has 4 bytes.
+
+.. code-block:: c++
+
+ char buf[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; // sizeof(buf) => 10
+ void getMessage(char* dst) {
+ memcpy(dst, buf, sizeof(buf) / sizeof(int)); // sizeof(int) => 4 [incompatible sizes]
+ }
+
+In the following example, the expression ``sizeof(Values)`` is returning the
+size of ``char*``. One can easily be fooled by its declaration, but in parameter
+declaration the size '10' is ignored and the function is receiving a ``char*``.
+
+.. code-block:: c++
+
+ char OrderedValues[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
+ return CompareArray(char Values[10]) {
+ return memcmp(OrderedValues, Values, sizeof(Values)) == 0; // sizeof(Values) ==> sizeof(char*) [implicit cast to char*]
+ }
+
+Suspicious 'sizeof' by 'sizeof' expression
+------------------------------------------
+
+Multiplying ``sizeof`` expressions typically makes no sense and is probably a
+logic error. In the following example, the programmer used ``*`` instead of
+``/``.
+
+.. code-block:: c++
+
+ const char kMessage[] = "Hello World!";
+ void getMessage(char* buf) {
+ memcpy(buf, kMessage, sizeof(kMessage) * sizeof(char)); // sizeof(kMessage) / sizeof(char)
+ }
+
+This check may trigger on code using the arraysize macro. The following code is
+working correctly but should be simplified by using only the ``sizeof``
+operator.
+
+.. code-block:: c++
+
+ extern Object objects[100];
+ void InitializeObjects() {
+ memset(objects, 0, arraysize(objects) * sizeof(Object)); // sizeof(objects)
+ }
+
+Suspicious usage of 'sizeof(sizeof(...))'
+-----------------------------------------
+
+Getting the ``sizeof`` of a ``sizeof`` makes no sense and is typically an error
+hidden through macros.
+
+.. code-block:: c++
+
+ #define INT_SZ sizeof(int)
+ int buf[] = { 42 };
+ void getInt(int* dst) {
+ memcpy(dst, buf, sizeof(INT_SZ)); // sizeof(sizeof(int)) is suspicious.
+ }
+
+Options
+-------
+
+.. option:: WarnOnSizeOfConstant
+
+ When non-zero, the check will warn on an expression like
+ ``sizeof(CONSTANT)``. Default is `1`.
+
+.. option:: WarnOnSizeOfIntegerExpression
+
+ When non-zero, the check will warn on an expression like ``sizeof(expr)``
+ where the expression results in an integer. Default is `0`.
+
+.. option:: WarnOnSizeOfThis
+
+ When non-zero, the check will warn on an expression like ``sizeof(this)``.
+ Default is `1`.
+
+.. option:: WarnOnSizeOfCompareToConstant
+
+ When non-zero, the check will warn on an expression like
+ ``sizeof(epxr) <= k`` for a suspicious constant `k` while `k` is `0` or
+ greater than `0x8000`. Default is `1`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-string-constructor.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-string-constructor.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-string-constructor.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-string-constructor.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,44 @@
+.. title:: clang-tidy - bugprone-string-constructor
+
+bugprone-string-constructor
+===========================
+
+Finds string constructors that are suspicious and probably errors.
+
+A common mistake is to swap parameters to the 'fill' string-constructor.
+
+Examples:
+
+.. code-block:: c++
+
+ std::string str('x', 50); // should be str(50, 'x')
+
+Calling the string-literal constructor with a length bigger than the literal is
+suspicious and adds extra random characters to the string.
+
+Examples:
+
+.. code-block:: c++
+
+ std::string("test", 200); // Will include random characters after "test".
+
+Creating an empty string from constructors with parameters is considered
+suspicious. The programmer should use the empty constructor instead.
+
+Examples:
+
+.. code-block:: c++
+
+ std::string("test", 0); // Creation of an empty string.
+
+Options
+-------
+
+.. option:: WarnOnLargeLength
+
+ When non-zero, the check will warn on a string with a length greater than
+ `LargeLengthThreshold`. Default is `1`.
+
+.. option:: LargeLengthThreshold
+
+ An integer specifying the large length threshold. Default is `0x800000`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-string-integer-assignment.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-string-integer-assignment.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-string-integer-assignment.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-string-integer-assignment.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,37 @@
+.. title:: clang-tidy - bugprone-string-integer-assignment
+
+bugprone-string-integer-assignment
+==================================
+
+The check finds assignments of an integer to ``std::basic_string<CharT>``
+(``std::string``, ``std::wstring``, etc.). The source of the problem is the
+following assignment operator of ``std::basic_string<CharT>``:
+
+.. code-block:: c++
+
+ basic_string& operator=( CharT ch );
+
+Numeric types can be implicitly casted to character types.
+
+.. code-block:: c++
+
+ std::string s;
+ int x = 5965;
+ s = 6;
+ s = x;
+
+Use the appropriate conversion functions or character literals.
+
+.. code-block:: c++
+
+ std::string s;
+ int x = 5965;
+ s = '6';
+ s = std::to_string(x);
+
+In order to suppress false positives, use an explicit cast.
+
+.. code-block:: c++
+
+ std::string s;
+ s = static_cast<char>(6);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-string-literal-with-embedded-nul.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-string-literal-with-embedded-nul.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-string-literal-with-embedded-nul.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-string-literal-with-embedded-nul.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,36 @@
+.. title:: clang-tidy - bugprone-string-literal-with-embedded-nul
+
+bugprone-string-literal-with-embedded-nul
+=========================================
+
+Finds occurrences of string literal with embedded NUL character and validates
+their usage.
+
+Invalid escaping
+----------------
+
+Special characters can be escaped within a string literal by using their
+hexadecimal encoding like ``\x42``. A common mistake is to escape them
+like this ``\0x42`` where the ``\0`` stands for the NUL character.
+
+.. code-block:: c++
+
+ const char* Example[] = "Invalid character: \0x12 should be \x12";
+ const char* Bytes[] = "\x03\0x02\0x01\0x00\0xFF\0xFF\0xFF";
+
+Truncated literal
+-----------------
+
+String-like classes can manipulate strings with embedded NUL as they are keeping
+track of the bytes and the length. This is not the case for a ``char*``
+(NUL-terminated) string.
+
+A common mistake is to pass a string-literal with embedded NUL to a string
+constructor expecting a NUL-terminated string. The bytes after the first NUL
+character are truncated.
+
+.. code-block:: c++
+
+ std::string str("abc\0def"); // "def" is truncated
+ str += "\0"; // This statement is doing nothing
+ if (str == "\0abc") return; // This expression is always true
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-enum-usage.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-enum-usage.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-enum-usage.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-enum-usage.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,78 @@
+.. title:: clang-tidy - bugprone-suspicious-enum-usage
+
+bugprone-suspicious-enum-usage
+==============================
+
+The checker detects various cases when an enum is probably misused (as a bitmask
+).
+
+1. When "ADD" or "bitwise OR" is used between two enum which come from different
+ types and these types value ranges are not disjoint.
+
+The following cases will be investigated only using :option:`StrictMode`. We
+regard the enum as a (suspicious)
+bitmask if the three conditions below are true at the same time:
+
+* at most half of the elements of the enum are non pow-of-2 numbers (because of
+ short enumerations)
+* there is another non pow-of-2 number than the enum constant representing all
+ choices (the result "bitwise OR" operation of all enum elements)
+* enum type variable/enumconstant is used as an argument of a `+` or "bitwise OR
+ " operator
+
+So whenever the non pow-of-2 element is used as a bitmask element we diagnose a
+misuse and give a warning.
+
+2. Investigating the right hand side of `+=` and `|=` operator.
+3. Check only the enum value side of a `|` and `+` operator if one of them is not
+ enum val.
+4. Check both side of `|` or `+` operator where the enum values are from the
+ same enum type.
+
+Examples:
+
+.. code-block:: c++
+
+ enum { A, B, C };
+ enum { D, E, F = 5 };
+ enum { G = 10, H = 11, I = 12 };
+
+ unsigned flag;
+ flag =
+ A |
+ H; // OK, disjoint value intervalls in the enum types ->probably good use.
+ flag = B | F; // Warning, have common values so they are probably misused.
+
+ // Case 2:
+ enum Bitmask {
+ A = 0,
+ B = 1,
+ C = 2,
+ D = 4,
+ E = 8,
+ F = 16,
+ G = 31 // OK, real bitmask.
+ };
+
+ enum Almostbitmask {
+ AA = 0,
+ BB = 1,
+ CC = 2,
+ DD = 4,
+ EE = 8,
+ FF = 16,
+ GG // Problem, forgot to initialize.
+ };
+
+ unsigned flag = 0;
+ flag |= E; // OK.
+ flag |=
+ EE; // Warning at the decl, and note that it was used here as a bitmask.
+
+Options
+-------
+.. option:: StrictMode
+
+ Default value: 0.
+ When non-null the suspicious bitmask usage will be investigated additionally
+ to the different enum usage check.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-memset-usage.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-memset-usage.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-memset-usage.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-memset-usage.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,54 @@
+.. title:: clang-tidy - bugprone-suspicious-memset-usage
+
+bugprone-suspicious-memset-usage
+================================
+
+This check finds ``memset()`` calls with potential mistakes in their arguments.
+Considering the function as ``void* memset(void* destination, int fill_value,
+size_t byte_count)``, the following cases are covered:
+
+**Case 1: Fill value is a character ``'0'``**
+
+Filling up a memory area with ASCII code 48 characters is not customary,
+possibly integer zeroes were intended instead.
+The check offers a replacement of ``'0'`` with ``0``. Memsetting character
+pointers with ``'0'`` is allowed.
+
+**Case 2: Fill value is truncated**
+
+Memset converts ``fill_value`` to ``unsigned char`` before using it. If
+``fill_value`` is out of unsigned character range, it gets truncated
+and memory will not contain the desired pattern.
+
+**Case 3: Byte count is zero**
+
+Calling memset with a literal zero in its ``byte_count`` argument is likely
+to be unintended and swapped with ``fill_value``. The check offers to swap
+these two arguments.
+
+Corresponding cpplint.py check name: ``runtime/memset``.
+
+
+Examples:
+
+.. code-block:: c++
+
+ void foo() {
+ int i[5] = {1, 2, 3, 4, 5};
+ int *ip = i;
+ char c = '1';
+ char *cp = &c;
+ int v = 0;
+
+ // Case 1
+ memset(ip, '0', 1); // suspicious
+ memset(cp, '0', 1); // OK
+
+ // Case 2
+ memset(ip, 0xabcd, 1); // fill value gets truncated
+ memset(ip, 0x00, 1); // OK
+
+ // Case 3
+ memset(ip, sizeof(int), v); // zero length, potentially swapped
+ memset(ip, 0, 1); // OK
+ }
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-missing-comma.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-missing-comma.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-missing-comma.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-missing-comma.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,59 @@
+.. title:: clang-tidy - bugprone-suspicious-missing-comma
+
+bugprone-suspicious-missing-comma
+=================================
+
+String literals placed side-by-side are concatenated at translation phase 6
+(after the preprocessor). This feature is used to represent long string
+literal on multiple lines.
+
+For instance, the following declarations are equivalent:
+
+.. code-block:: c++
+
+ const char* A[] = "This is a test";
+ const char* B[] = "This" " is a " "test";
+
+A common mistake done by programmers is to forget a comma between two string
+literals in an array initializer list.
+
+.. code-block:: c++
+
+ const char* Test[] = {
+ "line 1",
+ "line 2" // Missing comma!
+ "line 3",
+ "line 4",
+ "line 5"
+ };
+
+The array contains the string "line 2line3" at offset 1 (i.e. Test[1]). Clang
+won't generate warnings at compile time.
+
+This check may warn incorrectly on cases like:
+
+.. code-block:: c++
+
+ const char* SupportedFormat[] = {
+ "Error %s",
+ "Code " PRIu64, // May warn here.
+ "Warning %s",
+ };
+
+Options
+-------
+
+.. option:: SizeThreshold
+
+ An unsigned integer specifying the minimum size of a string literal to be
+ considered by the check. Default is `5U`.
+
+.. option:: RatioThreshold
+
+ A string specifying the maximum threshold ratio [0, 1.0] of suspicious string
+ literals to be considered. Default is `".2"`.
+
+.. option:: MaxConcatenatedTokens
+
+ An unsigned integer specifying the maximum number of concatenated tokens.
+ Default is `5U`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-semicolon.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-semicolon.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-semicolon.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-semicolon.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,72 @@
+.. title:: clang-tidy - bugprone-suspicious-semicolon
+
+bugprone-suspicious-semicolon
+=============================
+
+Finds most instances of stray semicolons that unexpectedly alter the meaning of
+the code. More specifically, it looks for ``if``, ``while``, ``for`` and
+``for-range`` statements whose body is a single semicolon, and then analyzes the
+context of the code (e.g. indentation) in an attempt to determine whether that
+is intentional.
+
+.. code-block:: c++
+
+ if (x < y);
+ {
+ x++;
+ }
+
+Here the body of the ``if`` statement consists of only the semicolon at the end
+of the first line, and `x` will be incremented regardless of the condition.
+
+
+.. code-block:: c++
+
+ while ((line = readLine(file)) != NULL);
+ processLine(line);
+
+As a result of this code, `processLine()` will only be called once, when the
+``while`` loop with the empty body exits with `line == NULL`. The indentation of
+the code indicates the intention of the programmer.
+
+
+.. code-block:: c++
+
+ if (x >= y);
+ x -= y;
+
+While the indentation does not imply any nesting, there is simply no valid
+reason to have an `if` statement with an empty body (but it can make sense for
+a loop). So this check issues a warning for the code above.
+
+To solve the issue remove the stray semicolon or in case the empty body is
+intentional, reflect this using code indentation or put the semicolon in a new
+line. For example:
+
+.. code-block:: c++
+
+ while (readWhitespace());
+ Token t = readNextToken();
+
+Here the second line is indented in a way that suggests that it is meant to be
+the body of the `while` loop - whose body is in fact empty, because of the
+semicolon at the end of the first line.
+
+Either remove the indentation from the second line:
+
+.. code-block:: c++
+
+ while (readWhitespace());
+ Token t = readNextToken();
+
+... or move the semicolon from the end of the first line to a new line:
+
+.. code-block:: c++
+
+ while (readWhitespace())
+ ;
+
+ Token t = readNextToken();
+
+In this case the check will assume that you know what you are doing, and will
+not raise a warning.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-string-compare.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-string-compare.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-string-compare.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-suspicious-string-compare.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,64 @@
+.. title:: clang-tidy - bugprone-suspicious-string-compare
+
+bugprone-suspicious-string-compare
+==================================
+
+Find suspicious usage of runtime string comparison functions.
+This check is valid in C and C++.
+
+Checks for calls with implicit comparator and proposed to explicitly add it.
+
+.. code-block:: c++
+
+ if (strcmp(...)) // Implicitly compare to zero
+ if (!strcmp(...)) // Won't warn
+ if (strcmp(...) != 0) // Won't warn
+
+Checks that compare function results (i,e, ``strcmp``) are compared to valid
+constant. The resulting value is
+
+.. code::
+
+ < 0 when lower than,
+ > 0 when greater than,
+ == 0 when equals.
+
+A common mistake is to compare the result to `1` or `-1`.
+
+.. code-block:: c++
+
+ if (strcmp(...) == -1) // Incorrect usage of the returned value.
+
+Additionally, the check warns if the results value is implicitly cast to a
+*suspicious* non-integer type. It's happening when the returned value is used in
+a wrong context.
+
+.. code-block:: c++
+
+ if (strcmp(...) < 0.) // Incorrect usage of the returned value.
+
+Options
+-------
+
+.. option:: WarnOnImplicitComparison
+
+ When non-zero, the check will warn on implicit comparison. `1` by default.
+
+.. option:: WarnOnLogicalNotComparison
+
+ When non-zero, the check will warn on logical not comparison. `0` by default.
+
+.. option:: StringCompareLikeFunctions
+
+ A string specifying the comma-separated names of the extra string comparison
+ functions. Default is an empty string.
+ The check will detect the following string comparison functions:
+ `__builtin_memcmp`, `__builtin_strcasecmp`, `__builtin_strcmp`,
+ `__builtin_strncasecmp`, `__builtin_strncmp`, `_mbscmp`, `_mbscmp_l`,
+ `_mbsicmp`, `_mbsicmp_l`, `_mbsnbcmp`, `_mbsnbcmp_l`, `_mbsnbicmp`,
+ `_mbsnbicmp_l`, `_mbsncmp`, `_mbsncmp_l`, `_mbsnicmp`, `_mbsnicmp_l`,
+ `_memicmp`, `_memicmp_l`, `_stricmp`, `_stricmp_l`, `_strnicmp`,
+ `_strnicmp_l`, `_wcsicmp`, `_wcsicmp_l`, `_wcsnicmp`, `_wcsnicmp_l`,
+ `lstrcmp`, `lstrcmpi`, `memcmp`, `memicmp`, `strcasecmp`, `strcmp`,
+ `strcmpi`, `stricmp`, `strncasecmp`, `strncmp`, `strnicmp`, `wcscasecmp`,
+ `wcscmp`, `wcsicmp`, `wcsncmp`, `wcsnicmp`, `wmemcmp`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-swapped-arguments.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-swapped-arguments.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-swapped-arguments.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-swapped-arguments.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,6 @@
+.. title:: clang-tidy - bugprone-swapped-arguments
+
+bugprone-swapped-arguments
+==========================
+
+Finds potentially swapped arguments by looking at implicit conversions.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-terminating-continue.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-terminating-continue.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-terminating-continue.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-terminating-continue.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,17 @@
+.. title:: clang-tidy - bugprone-terminating-continue
+
+bugprone-terminating-continue
+=============================
+
+Detects `do while` loops with a condition always evaluating to false that
+have a `continue` statement, as this `continue` terminates the loop
+effectively.
+
+.. code-block:: c++
+
+ void f() {
+ do {
+ // some code
+ continue; // terminating continue
+ // some other code
+ } while(false);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-throw-keyword-missing.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-throw-keyword-missing.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-throw-keyword-missing.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-throw-keyword-missing.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,21 @@
+.. title:: clang-tidy - bugprone-throw-keyword-missing
+
+bugprone-throw-keyword-missing
+==============================
+
+Warns about a potentially missing ``throw`` keyword. If a temporary object is created, but the
+object's type derives from (or is the same as) a class that has 'EXCEPTION', 'Exception' or
+'exception' in its name, we can assume that the programmer's intention was to throw that object.
+
+Example:
+
+.. code-block:: c++
+
+ void f(int i) {
+ if (i < 0) {
+ // Exception is created but is not thrown.
+ std::runtime_error("Unexpected argument");
+ }
+ }
+
+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-too-small-loop-variable.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-too-small-loop-variable.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-too-small-loop-variable.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-too-small-loop-variable.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,29 @@
+.. title:: clang-tidy - bugprone-too-small-loop-variable
+
+bugprone-too-small-loop-variable
+================================
+
+Detects those ``for`` loops that have a loop variable with a "too small" type
+which means this type can't represent all values which are part of the
+iteration range.
+
+.. code-block:: c++
+
+ int main() {
+ long size = 294967296l;
+ for (short i = 0; i < size; ++i) {}
+ }
+
+This ``for`` loop is an infinite loop because the ``short`` type can't represent
+all values in the ``[0..size]`` interval.
+
+In a real use case size means a container's size which depends on the user input.
+
+.. code-block:: c++
+
+ int doSomething(const std::vector& items) {
+ for (short i = 0; i < items.size(); ++i) {}
+ }
+
+This algorithm works for small amount of objects, but will lead to freeze for a
+a larger user input.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-undefined-memory-manipulation.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-undefined-memory-manipulation.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-undefined-memory-manipulation.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-undefined-memory-manipulation.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,7 @@
+.. title:: clang-tidy - bugprone-undefined-memory-manipulation
+
+bugprone-undefined-memory-manipulation
+======================================
+
+Finds calls of memory manipulation functions ``memset()``, ``memcpy()`` and
+``memmove()`` on not TriviallyCopyable objects resulting in undefined behavior.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-undelegated-constructor.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-undelegated-constructor.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-undelegated-constructor.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-undelegated-constructor.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - bugprone-undelegated-constructor
+
+bugprone-undelegated-constructor
+================================
+
+Finds creation of temporary objects in constructors that look like a
+function call to another constructor of the same class.
+
+The user most likely meant to use a delegating constructor or base class
+initializer.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-unused-raii.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-unused-raii.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-unused-raii.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-unused-raii.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,30 @@
+.. title:: clang-tidy - bugprone-unused-raii
+
+bugprone-unused-raii
+====================
+
+Finds temporaries that look like RAII objects.
+
+The canonical example for this is a scoped lock.
+
+.. code-block:: c++
+
+ {
+ scoped_lock(&global_mutex);
+ critical_section();
+ }
+
+The destructor of the scoped_lock is called before the ``critical_section`` is
+entered, leaving it unprotected.
+
+We apply a number of heuristics to reduce the false positive count of this
+check:
+
+- Ignore code expanded from macros. Testing frameworks make heavy use of this.
+
+- Ignore types with trivial destructors. They are very unlikely to be RAII
+ objects and there's no difference when they are deleted.
+
+- Ignore objects at the end of a compound statement (doesn't change behavior).
+
+- Ignore objects returned from a call.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-unused-return-value.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-unused-return-value.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-unused-return-value.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-unused-return-value.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,31 @@
+.. title:: clang-tidy - bugprone-unused-return-value
+
+bugprone-unused-return-value
+============================
+
+Warns on unused function return values. The checked funtions can be configured.
+
+Options
+-------
+
+.. option:: CheckedFunctions
+
+ Semicolon-separated list of functions to check. Defaults to
+ ``::std::async;::std::launder;::std::remove;::std::remove_if;::std::unique;::std::unique_ptr::release;::std::basic_string::empty;::std::vector::empty``.
+ This means that the calls to following functions are checked by default:
+
+ - ``std::async()``. Not using the return value makes the call synchronous.
+ - ``std::launder()``. Not using the return value usually means that the
+ function interface was misunderstood by the programmer. Only the returned
+ pointer is "laundered", not the argument.
+ - ``std::remove()``, ``std::remove_if()`` and ``std::unique()``. The returned
+ iterator indicates the boundary between elements to keep and elements to be
+ removed. Not using the return value means that the information about which
+ elements to remove is lost.
+ - ``std::unique_ptr::release()``. Not using the return value can lead to
+ resource leaks if the same pointer isn't stored anywhere else. Often,
+ ignoring the ``release()`` return value indicates that the programmer
+ confused the function with ``reset()``.
+ - ``std::basic_string::empty()`` and ``std::vector::empty()``. Not using the
+ return value often indicates that the programmer confused the function with
+ ``clear()``.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-use-after-move.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-use-after-move.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-use-after-move.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-use-after-move.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,206 @@
+.. title:: clang-tidy - bugprone-use-after-move
+
+bugprone-use-after-move
+=======================
+
+Warns if an object is used after it has been moved, for example:
+
+.. code-block:: c++
+
+ std::string str = "Hello, world!\n";
+ std::vector<std::string> messages;
+ messages.emplace_back(std::move(str));
+ std::cout << str;
+
+The last line will trigger a warning that ``str`` is used after it has been
+moved.
+
+The check does not trigger a warning if the object is reinitialized after the
+move and before the use. For example, no warning will be output for this code:
+
+.. code-block:: c++
+
+ messages.emplace_back(std::move(str));
+ str = "Greetings, stranger!\n";
+ std::cout << str;
+
+The check takes control flow into account. A warning is only emitted if the use
+can be reached from the move. This means that the following code does not
+produce a warning:
+
+.. code-block:: c++
+
+ if (condition) {
+ messages.emplace_back(std::move(str));
+ } else {
+ std::cout << str;
+ }
+
+On the other hand, the following code does produce a warning:
+
+.. code-block:: c++
+
+ for (int i = 0; i < 10; ++i) {
+ std::cout << str;
+ messages.emplace_back(std::move(str));
+ }
+
+(The use-after-move happens on the second iteration of the loop.)
+
+In some cases, the check may not be able to detect that two branches are
+mutually exclusive. For example (assuming that ``i`` is an int):
+
+.. code-block:: c++
+
+ if (i == 1) {
+ messages.emplace_back(std::move(str));
+ }
+ if (i == 2) {
+ std::cout << str;
+ }
+
+In this case, the check will erroneously produce a warning, even though it is
+not possible for both the move and the use to be executed.
+
+An erroneous warning can be silenced by reinitializing the object after the
+move:
+
+.. code-block:: c++
+
+ if (i == 1) {
+ messages.emplace_back(std::move(str));
+ str = "";
+ }
+ if (i == 2) {
+ std::cout << str;
+ }
+
+Subsections below explain more precisely what exactly the check considers to be
+a move, use, and reinitialization.
+
+Unsequenced moves, uses, and reinitializations
+----------------------------------------------
+
+In many cases, C++ does not make any guarantees about the order in which
+sub-expressions of a statement are evaluated. This means that in code like the
+following, it is not guaranteed whether the use will happen before or after the
+move:
+
+.. code-block:: c++
+
+ void f(int i, std::vector<int> v);
+ std::vector<int> v = { 1, 2, 3 };
+ f(v[1], std::move(v));
+
+In this kind of situation, the check will note that the use and move are
+unsequenced.
+
+The check will also take sequencing rules into account when reinitializations
+occur in the same statement as moves or uses. A reinitialization is only
+considered to reinitialize a variable if it is guaranteed to be evaluated after
+the move and before the use.
+
+Move
+----
+
+The check currently only considers calls of ``std::move`` on local variables or
+function parameters. It does not check moves of member variables or global
+variables.
+
+Any call of ``std::move`` on a variable is considered to cause a move of that
+variable, even if the result of ``std::move`` is not passed to an rvalue
+reference parameter.
+
+This means that the check will flag a use-after-move even on a type that does
+not define a move constructor or move assignment operator. This is intentional.
+Developers may use ``std::move`` on such a type in the expectation that the type
+will add move semantics in the future. If such a ``std::move`` has the potential
+to cause a use-after-move, we want to warn about it even if the type does not
+implement move semantics yet.
+
+Furthermore, if the result of ``std::move`` *is* passed to an rvalue reference
+parameter, this will always be considered to cause a move, even if the function
+that consumes this parameter does not move from it, or if it does so only
+conditionally. For example, in the following situation, the check will assume
+that a move always takes place:
+
+.. code-block:: c++
+
+ std::vector<std::string> messages;
+ void f(std::string &&str) {
+ // Only remember the message if it isn't empty.
+ if (!str.empty()) {
+ messages.emplace_back(std::move(str));
+ }
+ }
+ std::string str = "";
+ f(std::move(str));
+
+The check will assume that the last line causes a move, even though, in this
+particular case, it does not. Again, this is intentional.
+
+When analyzing the order in which moves, uses and reinitializations happen (see
+section `Unsequenced moves, uses, and reinitializations`_), the move is assumed
+to occur in whichever function the result of the ``std::move`` is passed to.
+
+Use
+---
+
+Any occurrence of the moved variable that is not a reinitialization (see below)
+is considered to be a use.
+
+An exception to this are objects of type ``std::unique_ptr``,
+``std::shared_ptr`` and ``std::weak_ptr``, which have defined move behavior
+(objects of these classes are guaranteed to be empty after they have been moved
+from). Therefore, an object of these classes will only be considered to be used
+if it is dereferenced, i.e. if ``operator*``, ``operator->`` or ``operator[]``
+(in the case of ``std::unique_ptr<T []>``) is called on it.
+
+If multiple uses occur after a move, only the first of these is flagged.
+
+Reinitialization
+----------------
+
+The check considers a variable to be reinitialized in the following cases:
+
+ - The variable occurs on the left-hand side of an assignment.
+
+ - The variable is passed to a function as a non-const pointer or non-const
+ lvalue reference. (It is assumed that the variable may be an out-parameter
+ for the function.)
+
+ - ``clear()`` or ``assign()`` is called on the variable and the variable is of
+ one of the standard container types ``basic_string``, ``vector``, ``deque``,
+ ``forward_list``, ``list``, ``set``, ``map``, ``multiset``, ``multimap``,
+ ``unordered_set``, ``unordered_map``, ``unordered_multiset``,
+ ``unordered_multimap``.
+
+ - ``reset()`` is called on the variable and the variable is of type
+ ``std::unique_ptr``, ``std::shared_ptr`` or ``std::weak_ptr``.
+
+ - A member function marked with the ``[[clang::reinitializes]]`` attribute is
+ called on the variable.
+
+If the variable in question is a struct and an individual member variable of
+that struct is written to, the check does not consider this to be a
+reinitialization -- even if, eventually, all member variables of the struct are
+written to. For example:
+
+.. code-block:: c++
+
+ struct S {
+ std::string str;
+ int i;
+ };
+ S s = { "Hello, world!\n", 42 };
+ S s_other = std::move(s);
+ s.str = "Lorem ipsum";
+ s.i = 99;
+
+The check will not consider ``s`` to be reinitialized after the last line;
+instead, the line that assigns to ``s.str`` will be flagged as a use-after-move.
+This is intentional as this pattern of reinitializing a struct is error-prone.
+For example, if an additional member variable is added to ``S``, it is easy to
+forget to add the reinitialization for this additional member. Instead, it is
+safer to assign to the entire struct in one go, and this will also avoid the
+use-after-move warning.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-virtual-near-miss.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-virtual-near-miss.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-virtual-near-miss.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/bugprone-virtual-near-miss.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,20 @@
+.. title:: clang-tidy - bugprone-virtual-near-miss
+
+bugprone-virtual-near-miss
+==========================
+
+Warn if a function is a near miss (ie. the name is very similar and the function
+signiture is the same) to a virtual function from a base class.
+
+Example:
+
+.. code-block:: c++
+
+ struct Base {
+ virtual void func();
+ };
+
+ struct Derived : Base {
+ virtual funk();
+ // warning: 'Derived::funk' has a similar name and the same signature as virtual method 'Base::func'; did you mean to override it?
+ };
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl03-c.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl03-c.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl03-c.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl03-c.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,9 @@
+.. title:: clang-tidy - cert-dcl03-c
+.. meta::
+ :http-equiv=refresh: 5;URL=misc-static-assert.html
+
+cert-dcl03-c
+============
+
+The cert-dcl03-c check is an alias, please see
+`misc-static-assert <misc-static-assert.html>`_ for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl16-c.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl16-c.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl16-c.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl16-c.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,9 @@
+.. title:: clang-tidy - cert-dcl16-c
+.. meta::
+ :http-equiv=refresh: 5;URL=readability-uppercase-literal-suffix.html
+
+cert-dcl16-c
+============
+
+The cert-dcl16-c check is an alias, please see
+`readability-uppercase-literal-suffix <readability-uppercase-literal-suffix.html>`_ for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl21-cpp.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl21-cpp.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl21-cpp.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl21-cpp.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,12 @@
+.. title:: clang-tidy - cert-dcl21-cpp
+
+cert-dcl21-cpp
+==============
+
+This check flags postfix ``operator++`` and ``operator--`` declarations
+if the return type is not a const object. This also warns if the return type
+is a reference type.
+
+This check corresponds to the CERT C++ Coding Standard recommendation
+`DCL21-CPP. Overloaded postfix increment and decrement operators should return a const object
+<https://www.securecoding.cert.org/confluence/display/cplusplus/DCL21-CPP.+Overloaded+postfix+increment+and+decrement+operators+should+return+a+const+object>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl50-cpp.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl50-cpp.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl50-cpp.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl50-cpp.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+.. title:: clang-tidy - cert-dcl50-cpp
+
+cert-dcl50-cpp
+==============
+
+This check flags all function definitions (but not declarations) of C-style
+variadic functions.
+
+This check corresponds to the CERT C++ Coding Standard rule
+`DCL50-CPP. Do not define a C-style variadic function
+<https://www.securecoding.cert.org/confluence/display/cplusplus/DCL50-CPP.+Do+not+define+a+C-style+variadic+function>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl54-cpp.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl54-cpp.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl54-cpp.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl54-cpp.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - cert-dcl54-cpp
+.. meta::
+ :http-equiv=refresh: 5;URL=misc-new-delete-overloads.html
+
+cert-dcl54-cpp
+==============
+
+The cert-dcl54-cpp check is an alias, please see
+`misc-new-delete-overloads <misc-new-delete-overloads.html>`_ for more
+information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl58-cpp.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl58-cpp.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl58-cpp.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl58-cpp.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,21 @@
+.. title:: clang-tidy - cert-dcl58-cpp
+
+cert-dcl58-cpp
+==============
+
+Modification of the ``std`` or ``posix`` namespace can result in undefined
+behavior.
+This check warns for such modifications.
+
+Examples:
+
+.. code-block:: c++
+
+ namespace std {
+ int x; // May cause undefined behavior.
+ }
+
+
+This check corresponds to the CERT C++ Coding Standard rule
+`DCL58-CPP. Do not modify the standard namespaces
+<https://www.securecoding.cert.org/confluence/display/cplusplus/DCL58-CPP.+Do+not+modify+the+standard+namespaces>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl59-cpp.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl59-cpp.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl59-cpp.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-dcl59-cpp.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,9 @@
+.. title:: clang-tidy - cert-dcl59-cpp
+.. meta::
+ :http-equiv=refresh: 5;URL=google-build-namespaces.html
+
+cert-dcl59-cpp
+==============
+
+The cert-dcl59-cpp check is an alias, please see
+`google-build-namespaces <google-build-namespaces.html>`_ for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-env33-c.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-env33-c.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-env33-c.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-env33-c.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,13 @@
+.. title:: clang-tidy - cert-env33-c
+
+cert-env33-c
+============
+
+This check flags calls to ``system()``, ``popen()``, and ``_popen()``, which
+execute a command processor. It does not flag calls to ``system()`` with a null
+pointer argument, as such a call checks for the presence of a command processor
+but does not actually attempt to execute a command.
+
+This check corresponds to the CERT C Coding Standard rule
+`ENV33-C. Do not call system()
+<https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId=2130132>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err09-cpp.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err09-cpp.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err09-cpp.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err09-cpp.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - cert-err09-cpp
+.. meta::
+ :http-equiv=refresh: 5;URL=misc-throw-by-value-catch-by-reference.html
+
+cert-err09-cpp
+==============
+
+The cert-err09-cpp check is an alias, please see
+`misc-throw-by-value-catch-by-reference <misc-throw-by-value-catch-by-reference.html>`_
+for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err34-c.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err34-c.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err34-c.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err34-c.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,28 @@
+.. title:: clang-tidy - cert-err34-c
+
+cert-err34-c
+============
+
+This check flags calls to string-to-number conversion functions that do not
+verify the validity of the conversion, such as ``atoi()`` or ``scanf()``. It
+does not flag calls to ``strtol()``, or other, related conversion functions that
+do perform better error checking.
+
+.. code-block:: c
+
+ #include <stdlib.h>
+
+ void func(const char *buff) {
+ int si;
+
+ if (buff) {
+ si = atoi(buff); /* 'atoi' used to convert a string to an integer, but function will
+ not report conversion errors; consider using 'strtol' instead. */
+ } else {
+ /* Handle error */
+ }
+ }
+
+This check corresponds to the CERT C Coding Standard rule
+`ERR34-C. Detect errors when converting a string to a number
+<https://www.securecoding.cert.org/confluence/display/c/ERR34-C.+Detect+errors+when+converting+a+string+to+a+number>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err52-cpp.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err52-cpp.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err52-cpp.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err52-cpp.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - cert-err52-cpp
+
+cert-err52-cpp
+==============
+
+This check flags all call expressions involving ``setjmp()`` and ``longjmp()``.
+
+This check corresponds to the CERT C++ Coding Standard rule
+`ERR52-CPP. Do not use setjmp() or longjmp()
+<https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId=1834>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err58-cpp.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err58-cpp.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err58-cpp.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err58-cpp.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+.. title:: clang-tidy - cert-err58-cpp
+
+cert-err58-cpp
+==============
+
+This check flags all ``static`` or ``thread_local`` variable declarations where
+the initializer for the object may throw an exception.
+
+This check corresponds to the CERT C++ Coding Standard rule
+`ERR58-CPP. Handle all exceptions thrown before main() begins executing
+<https://www.securecoding.cert.org/confluence/display/cplusplus/ERR58-CPP.+Handle+all+exceptions+thrown+before+main%28%29+begins+executing>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err60-cpp.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err60-cpp.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err60-cpp.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err60-cpp.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+.. title:: clang-tidy - cert-err60-cpp
+
+cert-err60-cpp
+==============
+
+This check flags all throw expressions where the exception object is not nothrow
+copy constructible.
+
+This check corresponds to the CERT C++ Coding Standard rule
+`ERR60-CPP. Exception objects must be nothrow copy constructible
+<https://www.securecoding.cert.org/confluence/display/cplusplus/ERR60-CPP.+Exception+objects+must+be+nothrow+copy+constructible>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err61-cpp.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err61-cpp.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err61-cpp.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-err61-cpp.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - cert-err61-cpp
+.. meta::
+ :http-equiv=refresh: 5;URL=misc-throw-by-value-catch-by-reference.html
+
+cert-err61-cpp
+==============
+
+The cert-err61-cpp check is an alias, please see
+`misc-throw-by-value-catch-by-reference <misc-throw-by-value-catch-by-reference.html>`_
+for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-fio38-c.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-fio38-c.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-fio38-c.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-fio38-c.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - cert-fio38-c
+.. meta::
+ :http-equiv=refresh: 5;URL=misc-non-copyable-objects.html
+
+cert-fio38-c
+============
+
+The cert-fio38-c check is an alias, please see
+`misc-non-copyable-objects <misc-non-copyable-objects.html>`_ for more
+information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-flp30-c.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-flp30-c.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-flp30-c.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-flp30-c.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+.. title:: clang-tidy - cert-flp30-c
+
+cert-flp30-c
+============
+
+This check flags ``for`` loops where the induction expression has a
+floating-point type.
+
+This check corresponds to the CERT C Coding Standard rule
+`FLP30-C. Do not use floating-point variables as loop counters
+<https://www.securecoding.cert.org/confluence/display/c/FLP30-C.+Do+not+use+floating-point+variables+as+loop+counters>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc30-c.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc30-c.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc30-c.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc30-c.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,9 @@
+.. title:: clang-tidy - cert-msc30-c
+.. meta::
+ :http-equiv=refresh: 5;URL=cert-msc50-cpp.html
+
+cert-msc30-c
+============
+
+The cert-msc30-c check is an alias, please see
+`cert-msc50-cpp <cert-msc50-cpp.html>`_ for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc32-c.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc32-c.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc32-c.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc32-c.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,9 @@
+.. title:: clang-tidy - cert-msc32-c
+.. meta::
+ :http-equiv=refresh: 5;URL=cert-msc51-cpp.html
+
+cert-msc32-c
+============
+
+The cert-msc32-c check is an alias, please see
+`cert-msc51-cpp <cert-msc51-cpp.html>`_ for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc50-cpp.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc50-cpp.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc50-cpp.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc50-cpp.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+.. title:: clang-tidy - cert-msc50-cpp
+
+cert-msc50-cpp
+==============
+
+Pseudorandom number generators use mathematical algorithms to produce a sequence
+of numbers with good statistical properties, but the numbers produced are not
+genuinely random. The ``std::rand()`` function takes a seed (number), runs a
+mathematical operation on it and returns the result. By manipulating the seed
+the result can be predictable. This check warns for the usage of
+``std::rand()``.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc51-cpp.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc51-cpp.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc51-cpp.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-msc51-cpp.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,40 @@
+.. title:: clang-tidy - cert-msc51-cpp
+
+cert-msc51-cpp
+==============
+
+This check flags all pseudo-random number engines, engine adaptor
+instantiations and ``srand()`` when initialized or seeded with default argument,
+constant expression or any user-configurable type. Pseudo-random number
+engines seeded with a predictable value may cause vulnerabilities e.g. in
+security protocols.
+This is a CERT security rule, see
+`MSC51-CPP. Ensure your random number generator is properly seeded
+<https://wiki.sei.cmu.edu/confluence/display/cplusplus/MSC51-CPP.+Ensure+your+random+number+generator+is+properly+seeded>`_ and
+`MSC32-C. Properly seed pseudorandom number generators
+<https://wiki.sei.cmu.edu/confluence/display/c/MSC32-C.+Properly+seed+pseudorandom+number+generators>`_.
+
+Examples:
+
+.. code-block:: c++
+
+ void foo() {
+ std::mt19937 engine1; // Diagnose, always generate the same sequence
+ std::mt19937 engine2(1); // Diagnose
+ engine1.seed(); // Diagnose
+ engine2.seed(1); // Diagnose
+
+ std::time_t t;
+ engine1.seed(std::time(&t)); // Diagnose, system time might be controlled by user
+
+ int x = atoi(argv[1]);
+ std::mt19937 engine3(x); // Will not warn
+ }
+
+Options
+-------
+
+.. option:: DisallowedSeedTypes
+
+ A comma-separated list of the type names which are disallowed.
+ Default values are ``time_t``, ``std::time_t``.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-oop11-cpp.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-oop11-cpp.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-oop11-cpp.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cert-oop11-cpp.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - cert-oop11-cpp
+.. meta::
+ :http-equiv=refresh: 5;URL=performance-move-constructor-init.html
+
+cert-oop11-cpp
+==============
+
+The cert-oop11-cpp check is an alias, please see
+`performance-move-constructor-init <performance-move-constructor-init.html>`_
+for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-avoid-c-arrays.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-avoid-c-arrays.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-avoid-c-arrays.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-avoid-c-arrays.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - cppcoreguidelines-avoid-c-arrays
+.. meta::
+ :http-equiv=refresh: 5;URL=modernize-avoid-c-arrays.html
+
+cppcoreguidelines-avoid-c-arrays
+================================
+
+The cppcoreguidelines-avoid-c-arrays check is an alias, please see
+`modernize-avoid-c-arrays <modernize-avoid-c-arrays.html>`_
+for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-avoid-goto.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-avoid-goto.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-avoid-goto.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-avoid-goto.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,50 @@
+.. title:: clang-tidy - cppcoreguidelines-avoid-goto
+
+cppcoreguidelines-avoid-goto
+============================
+
+The usage of ``goto`` for control flow is error prone and should be replaced
+with looping constructs. Only forward jumps in nested loops are accepted.
+
+This check implements `ES.76 <https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#es76-avoid-goto>`_
+from the CppCoreGuidelines and
+`6.3.1 from High Integrity C++ <http://www.codingstandard.com/rule/6-3-1-ensure-that-the-labels-for-a-jump-statement-or-a-switch-condition-appear-later-in-the-same-or-an-enclosing-block/>`_.
+
+For more information on why to avoid programming
+with ``goto`` you can read the famous paper `A Case against the GO TO Statement. <https://www.cs.utexas.edu/users/EWD/ewd02xx/EWD215.PDF>`_.
+
+The check diagnoses ``goto`` for backward jumps in every language mode. These
+should be replaced with `C/C++` looping constructs.
+
+.. code-block:: c++
+
+ // Bad, handwritten for loop.
+ int i = 0;
+ // Jump label for the loop
+ loop_start:
+ do_some_operation();
+
+ if (i < 100) {
+ ++i;
+ goto loop_start;
+ }
+
+ // Better
+ for(int i = 0; i < 100; ++i)
+ do_some_operation();
+
+Modern C++ needs ``goto`` only to jump out of nested loops.
+
+.. code-block:: c++
+
+ for(int i = 0; i < 100; ++i) {
+ for(int j = 0; j < 100; ++j) {
+ if (i * j > 500)
+ goto early_exit;
+ }
+ }
+
+ early_exit:
+ some_operation();
+
+All other uses of ``goto`` are diagnosed in `C++`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-avoid-magic-numbers.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-avoid-magic-numbers.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-avoid-magic-numbers.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-avoid-magic-numbers.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - cppcoreguidelines-avoid-magic-numbers
+.. meta::
+ :http-equiv=refresh: 5;URL=readability-magic-numbers.html
+
+cppcoreguidelines-avoid-magic-numbers
+=====================================
+
+The cppcoreguidelines-avoid-magic-numbers check is an alias, please see
+`readability-magic-numbers <readability-magic-numbers.html>`_
+for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - cppcoreguidelines-c-copy-assignment-signature
+.. meta::
+ :http-equiv=refresh: 5;URL=misc-unconventional-assign-operator.html
+
+cppcoreguidelines-c-copy-assignment-signature
+=============================================
+
+The cppcoreguidelines-c-copy-assignment-signature check is an alias, please see
+`misc-unconventional-assign-operator <misc-unconventional-assign-operator.html>`_
+for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-interfaces-global-init.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-interfaces-global-init.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-interfaces-global-init.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-interfaces-global-init.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,14 @@
+.. title:: clang-tidy - cppcoreguidelines-interfaces-global-init
+
+cppcoreguidelines-interfaces-global-init
+========================================
+
+This check flags initializers of globals that access extern objects,
+and therefore can lead to order-of-initialization problems.
+
+This rule is part of the "Interfaces" profile of the C++ Core Guidelines, see
+https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Ri-global-init
+
+Note that currently this does not flag calls to non-constexpr functions, and
+therefore globals could still be accessed from functions themselves.
+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-macro-usage.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-macro-usage.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-macro-usage.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-macro-usage.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,33 @@
+.. title:: clang-tidy - cppcoreguidelines-macro-usage
+
+cppcoreguidelines-macro-usage
+=============================
+
+Finds macro usage that is considered problematic because better language
+constructs exist for the task.
+
+The relevant sections in the C++ Core Guidelines are
+`Enum.1 <https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#enum1-prefer-enumerations-over-macros>`_,
+`ES.30 <https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#es30-dont-use-macros-for-program-text-manipulation>`_,
+`ES.31 <https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#es31-dont-use-macros-for-constants-or-functions>`_ and
+`ES.33 <https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#es33-if-you-must-use-macros-give-them-unique-names>`_.
+
+Options
+-------
+
+.. option:: AllowedRegexp
+
+ A regular expression to filter allowed macros. For example
+ `DEBUG*|LIBTORRENT*|TORRENT*|UNI*` could be applied to filter `libtorrent`.
+ Default value is `^DEBUG_*`.
+
+.. option:: CheckCapsOnly
+
+ Boolean flag to warn on all macros except those with CAPS_ONLY names.
+ This option is intended to ease introduction of this check into older
+ code bases. Default value is `0`/`false`.
+
+.. option:: IgnoreCommandLineMacros
+
+ Boolean flag to toggle ignoring command-line-defined macros.
+ Default value is `1`/`true`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-narrowing-conversions.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-narrowing-conversions.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-narrowing-conversions.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-narrowing-conversions.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,64 @@
+.. title:: clang-tidy - cppcoreguidelines-narrowing-conversions
+
+cppcoreguidelines-narrowing-conversions
+=======================================
+
+Checks for silent narrowing conversions, e.g: ``int i = 0; i += 0.1;``. While
+the issue is obvious in this former example, it might not be so in the
+following: ``void MyClass::f(double d) { int_member_ += d; }``.
+
+This rule is part of the "Expressions and statements" profile of the C++ Core
+Guidelines, corresponding to rule ES.46. See
+
+https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#es46-avoid-lossy-narrowing-truncating-arithmetic-conversions.
+
+We enforce only part of the guideline, more specifically, we flag narrowing conversions from:
+ - an integer to a narrower integer (e.g. ``char`` to ``unsigned char``),
+ - an integer to a narrower floating-point (e.g. ``uint64_t`` to ``float``),
+ - a floating-point to an integer (e.g. ``double`` to ``int``),
+ - a floating-point to a narrower floating-point (e.g. ``double`` to ``float``)
+ if WarnOnFloatingPointNarrowingConversion Option is set.
+
+This check will flag:
+ - All narrowing conversions that are not marked by an explicit cast (c-style or
+ ``static_cast``). For example: ``int i = 0; i += 0.1;``,
+ ``void f(int); f(0.1);``,
+ - All applications of binary operators with a narrowing conversions.
+ For example: ``int i; i+= 0.1;``.
+
+
+Options
+-------
+
+.. option:: WarnOnFloatingPointNarrowingConversion
+
+ When non-zero, the check will warn on narrowing floating point conversion
+ (e.g. ``double`` to ``float``). `1` by default.
+
+.. option:: PedanticMode
+
+ When non-zero, the check will warn on assigning a floating point constant
+ to an integer value even if the floating point value is exactly
+ representable in the destination type (e.g. ``int i = 1.0;``).
+ `0` by default.
+
+FAQ
+---
+
+ - What does "narrowing conversion from 'int' to 'float'" mean?
+
+An IEEE754 Floating Point number can represent all integer values in the range
+[-2^PrecisionBits, 2^PrecisionBits] where PrecisionBits is the number of bits in
+the mantissa.
+
+For ``float`` this would be [-2^23, 2^23], where ``int`` can represent values in
+the range [-2^31, 2^31-1].
+
+ - What does "implementation-defined" mean?
+
+You may have encountered messages like "narrowing conversion from 'unsigned int'
+to signed type 'int' is implementation-defined".
+The C/C++ standard does not mandate twoâs complement for signed integers, and so
+the compiler is free to define what the semantics are for converting an unsigned
+integer to signed integer. Clang's implementation uses the twoâs complement
+format.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-no-malloc.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-no-malloc.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-no-malloc.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-no-malloc.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,46 @@
+.. title:: clang-tidy - cppcoreguidelines-no-malloc
+
+cppcoreguidelines-no-malloc
+===========================
+
+This check handles C-Style memory management using ``malloc()``, ``realloc()``,
+``calloc()`` and ``free()``. It warns about its use and tries to suggest the use
+of an appropriate RAII object.
+Furthermore, it can be configured to check against a user-specified list of functions
+that are used for memory management (e.g. ``posix_memalign()``).
+See `C++ Core Guidelines <https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rr-mallocfree>`_.
+
+There is no attempt made to provide fix-it hints, since manual resource
+management isn't easily transformed automatically into RAII.
+
+.. code-block:: c++
+
+ // Warns each of the following lines.
+ // Containers like std::vector or std::string should be used.
+ char* some_string = (char*) malloc(sizeof(char) * 20);
+ char* some_string = (char*) realloc(sizeof(char) * 30);
+ free(some_string);
+
+ int* int_array = (int*) calloc(30, sizeof(int));
+
+ // Rather use a smartpointer or stack variable.
+ struct some_struct* s = (struct some_struct*) malloc(sizeof(struct some_struct));
+
+Options
+-------
+
+.. option:: Allocations
+
+ Semicolon-separated list of fully qualified names of memory allocation functions.
+ Defaults to ``::malloc;::calloc``.
+
+.. option:: Deallocations
+
+ Semicolon-separated list of fully qualified names of memory allocation functions.
+ Defaults to ``::free``.
+
+.. option:: Reallocations
+
+ Semicolon-separated list of fully qualified names of memory allocation functions.
+ Defaults to ``::realloc``.
+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-non-private-member-variables-in-classes.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-non-private-member-variables-in-classes.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-non-private-member-variables-in-classes.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-non-private-member-variables-in-classes.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+.. title:: clang-tidy - cppcoreguidelines-non-private-member-variables-in-classes
+.. meta::
+ :http-equiv=refresh: 5;URL=misc-non-private-member-variables-in-classes.html
+
+cppcoreguidelines-non-private-member-variables-in-classes
+=========================================================
+
+The cppcoreguidelines-non-private-member-variables-in-classes check is an alias,
+please see
+`misc-non-private-member-variables-in-classes <misc-non-private-member-variables-in-classes.html>`_
+for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-owning-memory.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-owning-memory.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-owning-memory.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-owning-memory.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,176 @@
+.. title:: clang-tidy - cppcoreguidelines-owning-memory
+
+cppcoreguidelines-owning-memory
+===============================
+
+This check implements the type-based semantics of ``gsl::owner<T*>``, which allows
+static analysis on code, that uses raw pointers to handle resources like
+dynamic memory, but won't introduce RAII concepts.
+
+The relevant sections in the `C++ Core Guidelines <https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md>`_ are I.11, C.33, R.3 and GSL.Views
+The definition of a ``gsl::owner<T*>`` is straight forward
+
+.. code-block:: c++
+
+ namespace gsl { template <typename T> owner = T; }
+
+It is therefore simple to introduce the owner even without using an implementation of
+the `Guideline Support Library <https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#gsl-guideline-support-library>`_.
+
+All checks are purely type based and not (yet) flow sensitive.
+
+The following examples will demonstrate the correct and incorrect initializations
+of owners, assignment is handled the same way. Note that both ``new`` and
+``malloc()``-like resource functions are considered to produce resources.
+
+.. code-block:: c++
+
+ // Creating an owner with factory functions is checked.
+ gsl::owner<int*> function_that_returns_owner() { return gsl::owner<int*>(new int(42)); }
+
+ // Dynamic memory must be assigned to an owner
+ int* Something = new int(42); // BAD, will be caught
+ gsl::owner<int*> Owner = new int(42); // Good
+ gsl::owner<int*> Owner = new int[42]; // Good as well
+
+ // Returned owner must be assigned to an owner
+ int* Something = function_that_returns_owner(); // Bad, factory function
+ gsl::owner<int*> Owner = function_that_returns_owner(); // Good, result lands in owner
+
+ // Something not a resource or owner should not be assigned to owners
+ int Stack = 42;
+ gsl::owner<int*> Owned = &Stack; // Bad, not a resource assigned
+
+In the case of dynamic memory as resource, only ``gsl::owner<T*>`` variables are allowed
+to be deleted.
+
+.. code-block:: c++
+
+ // Example Bad, non-owner as resource handle, will be caught.
+ int* NonOwner = new int(42); // First warning here, since new must land in an owner
+ delete NonOwner; // Second warning here, since only owners are allowed to be deleted
+
+ // Example Good, Ownership correclty stated
+ gsl::owner<int*> Owner = new int(42); // Good
+ delete Owner; // Good as well, statically enforced, that only owners get deleted
+
+The check will furthermore ensure, that functions, that expect a ``gsl::owner<T*>`` as
+argument get called with either a ``gsl::owner<T*>`` or a newly created resource.
+
+.. code-block:: c++
+
+ void expects_owner(gsl::owner<int*> o) { delete o; }
+
+ // Bad Code
+ int NonOwner = 42;
+ expects_owner(&NonOwner); // Bad, will get caught
+
+ // Good Code
+ gsl::owner<int*> Owner = new int(42);
+ expects_owner(Owner); // Good
+ expects_owner(new int(42)); // Good as well, recognized created resource
+
+ // Port legacy code for better resource-safety
+ gsl::owner<FILE*> File = fopen("my_file.txt", "rw+");
+ FILE* BadFile = fopen("another_file.txt", "w"); // Bad, warned
+
+ // ... use the file
+
+ fclose(File); // Ok, File is annotated as 'owner<>'
+ fclose(BadFile); // BadFile is not an 'owner<>', will be warned
+
+
+Options
+-------
+
+.. option:: LegacyResourceProducers
+
+ Semicolon-separated list of fully qualified names of legacy functions that create
+ resources but cannot introduce ``gsl::owner<>``.
+ Defaults to ``::malloc;::aligned_alloc;::realloc;::calloc;::fopen;::freopen;::tmpfile``.
+
+
+.. option:: LegacyResourceConsumers
+
+ Semicolon-separated list of fully qualified names of legacy functions expecting
+ resource owners as pointer arguments but cannot introduce ``gsl::owner<>``.
+ Defaults to ``::free;::realloc;::freopen;::fclose``.
+
+
+Limitations
+-----------
+
+Using ``gsl::owner<T*>`` in a typedef or alias is not handled correctly.
+
+.. code-block:: c++
+
+ using heap_int = gsl::owner<int*>;
+ heap_int allocated = new int(42); // False positive!
+
+The ``gsl::owner<T*>`` is declared as a templated type alias.
+In template functions and classes, like in the example below, the information
+of the type aliases gets lost. Therefore using ``gsl::owner<T*>`` in a heavy templated
+code base might lead to false positives.
+
+Known code constructs that do not get diagnosed correctly are:
+
+- ``std::exchange``
+- ``std::vector<gsl::owner<T*>>``
+
+.. code-block:: c++
+
+ // This template function works as expected. Type information doesn't get lost.
+ template <typename T>
+ void delete_owner(gsl::owner<T*> owned_object) {
+ delete owned_object; // Everything alright
+ }
+
+ gsl::owner<int*> function_that_returns_owner() { return gsl::owner<int*>(new int(42)); }
+
+ // Type deduction does not work for auto variables.
+ // This is caught by the check and will be noted accordingly.
+ auto OwnedObject = function_that_returns_owner(); // Type of OwnedObject will be int*
+
+ // Problematic function template that looses the typeinformation on owner
+ template <typename T>
+ void bad_template_function(T some_object) {
+ // This line will trigger the warning, that a non-owner is assigned to an owner
+ gsl::owner<T*> new_owner = some_object;
+ }
+
+ // Calling the function with an owner still yields a false positive.
+ bad_template_function(gsl::owner<int*>(new int(42)));
+
+
+ // The same issue occurs with templated classes like the following.
+ template <typename T>
+ class OwnedValue {
+ public:
+ const T getValue() const { return _val; }
+ private:
+ T _val;
+ };
+
+ // Code, that yields a false positive.
+ OwnedValue<gsl::owner<int*>> Owner(new int(42)); // Type deduction yield T -> int *
+ // False positive, getValue returns int* and not gsl::owner<int*>
+ gsl::owner<int*> OwnedInt = Owner.getValue();
+
+Another limitation of the current implementation is only the type based checking.
+Suppose you have code like the following:
+
+.. code-block:: c++
+
+ // Two owners with assigned resources
+ gsl::owner<int*> Owner1 = new int(42);
+ gsl::owner<int*> Owner2 = new int(42);
+
+ Owner2 = Owner1; // Conceptual Leak of initial resource of Owner2!
+ Owner1 = nullptr;
+
+The semantic of a ``gsl::owner<T*>`` is mostly like a ``std::unique_ptr<T>``, therefore
+assignment of two ``gsl::owner<T*>`` is considered a move, which requires that the
+resource ``Owner2`` must have been released before the assignment.
+This kind of condition could be catched in later improvements of this check with
+flowsensitive analysis. Currently, the `Clang Static Analyzer` catches this bug
+for dynamic memory, but not for general types of resources.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-bounds-array-to-pointer-decay.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-bounds-array-to-pointer-decay.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-bounds-array-to-pointer-decay.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-bounds-array-to-pointer-decay.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,12 @@
+.. title:: clang-tidy - cppcoreguidelines-pro-bounds-array-to-pointer-decay
+
+cppcoreguidelines-pro-bounds-array-to-pointer-decay
+===================================================
+
+This check flags all array to pointer decays.
+
+Pointers should not be used as arrays. ``span<T>`` is a bounds-checked, safe
+alternative to using pointers to access arrays.
+
+This rule is part of the "Bounds safety" profile of the C++ Core Guidelines, see
+https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Pro-bounds-decay.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,25 @@
+.. title:: clang-tidy - cppcoreguidelines-pro-bounds-constant-array-index
+
+cppcoreguidelines-pro-bounds-constant-array-index
+=================================================
+
+This check flags all array subscript expressions on static arrays and
+``std::arrays`` that either do not have a constant integer expression index or
+are out of bounds (for ``std::array``). For out-of-bounds checking of static
+arrays, see the `-Warray-bounds` Clang diagnostic.
+
+This rule is part of the "Bounds safety" profile of the C++ Core Guidelines, see
+https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Pro-bounds-arrayindex.
+
+Options
+-------
+
+.. option:: GslHeader
+
+ The check can generate fixes after this option has been set to the name of
+ the include file that contains ``gsl::at()``, e.g. `"gsl/gsl.h"`.
+
+.. option:: IncludeStyle
+
+ A string specifying which include-style is used, `llvm` or `google`. Default
+ is `llvm`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-bounds-pointer-arithmetic.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-bounds-pointer-arithmetic.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-bounds-pointer-arithmetic.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-bounds-pointer-arithmetic.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,14 @@
+.. title:: clang-tidy - cppcoreguidelines-pro-bounds-pointer-arithmetic
+
+cppcoreguidelines-pro-bounds-pointer-arithmetic
+===============================================
+
+This check flags all usage of pointer arithmetic, because it could lead to an
+invalid pointer. Subtraction of two pointers is not flagged by this check.
+
+Pointers should only refer to single objects, and pointer arithmetic is fragile
+and easy to get wrong. ``span<T>`` is a bounds-checked, safe type for accessing
+arrays of data.
+
+This rule is part of the "Bounds safety" profile of the C++ Core Guidelines, see
+https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Pro-bounds-arithmetic.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-const-cast.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-const-cast.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-const-cast.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-const-cast.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,12 @@
+.. title:: clang-tidy - cppcoreguidelines-pro-type-const-cast
+
+cppcoreguidelines-pro-type-const-cast
+=====================================
+
+This check flags all uses of ``const_cast`` in C++ code.
+
+Modifying a variable that was declared const is undefined behavior, even with
+``const_cast``.
+
+This rule is part of the "Type safety" profile of the C++ Core Guidelines, see
+https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Pro-type-constcast.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-cstyle-cast.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-cstyle-cast.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-cstyle-cast.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-cstyle-cast.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,18 @@
+.. title:: clang-tidy - cppcoreguidelines-pro-type-cstyle-cast
+
+cppcoreguidelines-pro-type-cstyle-cast
+======================================
+
+This check flags all use of C-style casts that perform a ``static_cast``
+downcast, ``const_cast``, or ``reinterpret_cast``.
+
+Use of these casts can violate type safety and cause the program to access a
+variable that is actually of type X to be accessed as if it were of an unrelated
+type Z. Note that a C-style ``(T)expression`` cast means to perform the first of
+the following that is possible: a ``const_cast``, a ``static_cast``, a
+``static_cast`` followed by a ``const_cast``, a ``reinterpret_cast``, or a
+``reinterpret_cast`` followed by a ``const_cast``. This rule bans
+``(T)expression`` only when used to perform an unsafe cast.
+
+This rule is part of the "Type safety" profile of the C++ Core Guidelines, see
+https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Pro-type-cstylecast.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-member-init.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-member-init.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-member-init.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-member-init.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,38 @@
+.. title:: clang-tidy - cppcoreguidelines-pro-type-member-init
+
+cppcoreguidelines-pro-type-member-init
+======================================
+
+The check flags user-defined constructor definitions that do not
+initialize all fields that would be left in an undefined state by
+default construction, e.g. builtins, pointers and record types without
+user-provided default constructors containing at least one such
+type. If these fields aren't initialized, the constructor will leave
+some of the memory in an undefined state.
+
+For C++11 it suggests fixes to add in-class field initializers. For
+older versions it inserts the field initializers into the constructor
+initializer list. It will also initialize any direct base classes that
+need to be zeroed in the constructor initializer list.
+
+The check takes assignment of fields in the constructor body into
+account but generates false positives for fields initialized in
+methods invoked in the constructor body.
+
+The check also flags variables with automatic storage duration that have record
+types without a user-provided constructor and are not initialized. The suggested
+fix is to zero initialize the variable via ``{}`` for C++11 and beyond or ``=
+{}`` for older language versions.
+
+Options
+-------
+
+.. option:: IgnoreArrays
+
+ If set to non-zero, the check will not warn about array members that are not
+ zero-initialized during construction. For performance critical code, it may
+ be important to not initialize fixed-size array members. Default is `0`.
+
+This rule is part of the "Type safety" profile of the C++ Core
+Guidelines, corresponding to rule Type.6. See
+https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Pro-type-memberinit.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-reinterpret-cast.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-reinterpret-cast.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-reinterpret-cast.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-reinterpret-cast.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,13 @@
+.. title:: clang-tidy - cppcoreguidelines-pro-type-reinterpret-cast
+
+cppcoreguidelines-pro-type-reinterpret-cast
+===========================================
+
+This check flags all uses of ``reinterpret_cast`` in C++ code.
+
+Use of these casts can violate type safety and cause the program to access a
+variable that is actually of type ``X`` to be accessed as if it were of an
+unrelated type ``Z``.
+
+This rule is part of the "Type safety" profile of the C++ Core Guidelines, see
+https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Pro-type-reinterpretcast.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-static-cast-downcast.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-static-cast-downcast.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-static-cast-downcast.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-static-cast-downcast.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,15 @@
+.. title:: clang-tidy - cppcoreguidelines-pro-type-static-cast-downcast
+
+cppcoreguidelines-pro-type-static-cast-downcast
+===============================================
+
+This check flags all usages of ``static_cast``, where a base class is casted to
+a derived class. In those cases, a fix-it is provided to convert the cast to a
+``dynamic_cast``.
+
+Use of these casts can violate type safety and cause the program to access a
+variable that is actually of type ``X`` to be accessed as if it were of an
+unrelated type ``Z``.
+
+This rule is part of the "Type safety" profile of the C++ Core Guidelines, see
+https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Pro-type-downcast.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-union-access.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-union-access.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-union-access.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-union-access.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,16 @@
+.. title:: clang-tidy - cppcoreguidelines-pro-type-union-access
+
+cppcoreguidelines-pro-type-union-access
+=======================================
+
+This check flags all access to members of unions. Passing unions as a whole is
+not flagged.
+
+Reading from a union member assumes that member was the last one written, and
+writing to a union member assumes another member with a nontrivial destructor
+had its destructor called. This is fragile because it cannot generally be
+enforced to be safe in the language and so relies on programmer discipline to
+get it right.
+
+This rule is part of the "Type safety" profile of the C++ Core Guidelines, see
+https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Pro-type-unions.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-vararg.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-vararg.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-vararg.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-pro-type-vararg.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,17 @@
+.. title:: clang-tidy - cppcoreguidelines-pro-type-vararg
+
+cppcoreguidelines-pro-type-vararg
+=================================
+
+This check flags all calls to c-style vararg functions and all use of
+``va_arg``.
+
+To allow for SFINAE use of vararg functions, a call is not flagged if a literal
+0 is passed as the only vararg argument.
+
+Passing to varargs assumes the correct type will be read. This is fragile
+because it cannot generally be enforced to be safe in the language and so relies
+on programmer discipline to get it right.
+
+This rule is part of the "Type safety" profile of the C++ Core Guidelines, see
+https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Pro-type-varargs.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-slicing.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-slicing.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-slicing.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-slicing.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,25 @@
+.. title:: clang-tidy - cppcoreguidelines-slicing
+
+cppcoreguidelines-slicing
+=========================
+
+Flags slicing of member variables or vtable. Slicing happens when copying a
+derived object into a base object: the members of the derived object (both
+member variables and virtual member functions) will be discarded. This can be
+misleading especially for member function slicing, for example:
+
+.. code-block:: c++
+
+ struct B { int a; virtual int f(); };
+ struct D : B { int b; int f() override; };
+
+ void use(B b) { // Missing reference, intended?
+ b.f(); // Calls B::f.
+ }
+
+ D d;
+ use(d); // Slice.
+
+See the relevant C++ Core Guidelines sections for details:
+https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#es63-dont-slice
+https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c145-access-polymorphic-objects-through-pointers-and-references
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-special-member-functions.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-special-member-functions.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-special-member-functions.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/cppcoreguidelines-special-member-functions.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,49 @@
+.. title:: clang-tidy - cppcoreguidelines-special-member-functions
+
+cppcoreguidelines-special-member-functions
+==========================================
+
+The check finds classes where some but not all of the special member functions
+are defined.
+
+By default the compiler defines a copy constructor, copy assignment operator,
+move constructor, move assignment operator and destructor. The default can be
+suppressed by explicit user-definitions. The relationship between which
+functions will be suppressed by definitions of other functions is complicated
+and it is advised that all five are defaulted or explicitly defined.
+
+Note that defining a function with ``= delete`` is considered to be a
+definition.
+
+This rule is part of the "Constructors, assignments, and destructors" profile of the C++ Core
+Guidelines, corresponding to rule C.21. See
+
+https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c21-if-you-define-or-delete-any-default-operation-define-or-delete-them-all.
+
+Options
+-------
+
+.. option:: AllowSoleDefaultDtor
+
+ When set to `1` (default is `0`), this check doesn't flag classes with a sole, explicitly
+ defaulted destructor. An example for such a class is:
+
+ .. code-block:: c++
+
+ struct A {
+ virtual ~A() = default;
+ };
+
+.. option:: AllowMissingMoveFunctions
+
+ When set to `1` (default is `0`), this check doesn't flag classes which define no move
+ operations at all. It still flags classes which define only one of either
+ move constructor or move assignment operator. With this option enabled, the following class won't be flagged:
+
+ .. code-block:: c++
+
+ struct A {
+ A(const A&);
+ A& operator=(const A&);
+ ~A();
+ }
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-default-arguments.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-default-arguments.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-default-arguments.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-default-arguments.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,24 @@
+.. title:: clang-tidy - fuchsia-default-arguments
+
+fuchsia-default-arguments
+=========================
+
+Warns if a function or method is declared or called with default arguments.
+
+For example, the declaration:
+
+.. code-block:: c++
+
+ int foo(int value = 5) { return value; }
+
+will cause a warning.
+
+A function call expression that uses a default argument will be diagnosed.
+Calling it without defaults will not cause a warning:
+
+.. code-block:: c++
+
+ foo(); // warning
+ foo(0); // no warning
+
+See the features disallowed in Fuchsia at https://fuchsia.googlesource.com/zircon/+/master/docs/cxx.md
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-header-anon-namespaces.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-header-anon-namespaces.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-header-anon-namespaces.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-header-anon-namespaces.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - fuchsia-header-anon-namespaces
+.. meta::
+ :http-equiv=refresh: 5;URL=google-build-namespaces.html
+
+fuchsia-header-anon-namespaces
+==============================
+
+The fuchsia-header-anon-namespaces check is an alias, please see
+`google-build-namespace <google-build-namespaces.html>`_
+for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-multiple-inheritance.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-multiple-inheritance.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-multiple-inheritance.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-multiple-inheritance.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,46 @@
+.. title:: clang-tidy - fuchsia-multiple-inheritance
+
+fuchsia-multiple-inheritance
+============================
+
+Warns if a class inherits from multiple classes that are not pure virtual.
+
+For example, declaring a class that inherits from multiple concrete classes is
+disallowed:
+
+.. code-block:: c++
+
+ class Base_A {
+ public:
+ virtual int foo() { return 0; }
+ };
+
+ class Base_B {
+ public:
+ virtual int bar() { return 0; }
+ };
+
+ // Warning
+ class Bad_Child1 : public Base_A, Base_B {};
+
+A class that inherits from a pure virtual is allowed:
+
+.. code-block:: c++
+
+ class Interface_A {
+ public:
+ virtual int foo() = 0;
+ };
+
+ class Interface_B {
+ public:
+ virtual int bar() = 0;
+ };
+
+ // No warning
+ class Good_Child1 : public Interface_A, Interface_B {
+ virtual int foo() override { return 0; }
+ virtual int bar() override { return 0; }
+ };
+
+See the features disallowed in Fuchsia at https://fuchsia.googlesource.com/zircon/+/master/docs/cxx.md
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-overloaded-operator.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-overloaded-operator.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-overloaded-operator.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-overloaded-operator.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,18 @@
+.. title:: clang-tidy - fuchsia-overloaded-operator
+
+fuchsia-overloaded-operator
+===========================
+
+Warns if an operator is overloaded, except for the assignment (copy and move)
+operators.
+
+For example:
+
+.. code-block:: c++
+
+ int operator+(int); // Warning
+
+ B &operator=(const B &Other); // No warning
+ B &operator=(B &&Other) // No warning
+
+See the features disallowed in Fuchsia at https://fuchsia.googlesource.com/zircon/+/master/docs/cxx.md
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-restrict-system-includes.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-restrict-system-includes.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-restrict-system-includes.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-restrict-system-includes.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,32 @@
+.. title:: clang-tidy - fuchsia-restrict-system-includes
+
+fuchsia-restrict-system-includes
+================================
+
+Checks for allowed system includes and suggests removal of any others.
+
+It is important to note that running this check with fixes may break code, as
+the fix removes headers. Fixes are applied to source and header files, but not
+to system headers.
+
+For example, given the allowed system includes 'a.h,b*':
+
+.. code-block:: c++
+
+ #include <a.h>
+ #include <b.h>
+ #include <bar.h>
+ #include <c.h> // Warning, as c.h is not explicitly allowed
+
+All system includes can be allowed with '*', and all can be disallowed with an
+empty string ('').
+
+Options
+-------
+
+.. option:: Includes
+
+ A string containing a comma separated glob list of allowed include filenames.
+ Similar to the -checks glob list for running clang-tidy itself, the two
+ wildcard characters are '*' and '-', to include and exclude globs,
+ respectively.The default is '*', which allows all includes.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-statically-constructed-objects.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-statically-constructed-objects.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-statically-constructed-objects.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-statically-constructed-objects.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,43 @@
+.. title:: clang-tidy - fuchsia-statically-constructed-objects
+
+fuchsia-statically-constructed-objects
+======================================
+
+Warns if global, non-trivial objects with static storage are constructed, unless
+the object is statically initialized with a ``constexpr`` constructor or has no
+explicit constructor.
+
+For example:
+
+.. code-block:: c++
+
+ class A {};
+
+ class B {
+ public:
+ B(int Val) : Val(Val) {}
+ private:
+ int Val;
+ };
+
+ class C {
+ public:
+ C(int Val) : Val(Val) {}
+ constexpr C() : Val(0) {}
+
+ private:
+ int Val;
+ };
+
+ static A a; // No warning, as there is no explicit constructor
+ static C c(0); // No warning, as constructor is constexpr
+
+ static B b(0); // Warning, as constructor is not constexpr
+ static C c2(0, 1); // Warning, as constructor is not constexpr
+
+ static int i; // No warning, as it is trivial
+
+ extern int get_i();
+ static C(get_i()) // Warning, as the constructor is dynamically initialized
+
+See the features disallowed in Fuchsia at https://fuchsia.googlesource.com/zircon/+/master/docs/cxx.md
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-trailing-return.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-trailing-return.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-trailing-return.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-trailing-return.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,35 @@
+.. title:: clang-tidy - fuchsia-trailing-return
+
+fuchsia-trailing-return
+=======================
+
+Functions that have trailing returns are disallowed, except for those using
+``decltype`` specifiers and lambda with otherwise unutterable return types.
+
+For example:
+
+.. code-block:: c++
+
+ // No warning
+ int add_one(const int arg) { return arg; }
+
+ // Warning
+ auto get_add_one() -> int (*)(const int) {
+ return add_one;
+ }
+
+Exceptions are made for lambdas and ``decltype`` specifiers:
+
+.. code-block:: c++
+
+ // No warning
+ auto lambda = [](double x, double y) -> double {return x + y;};
+
+ // No warning
+ template <typename T1, typename T2>
+ auto fn(const T1 &lhs, const T2 &rhs) -> decltype(lhs + rhs) {
+ return lhs + rhs;
+ }
+
+
+See the features disallowed in Fuchsia at https://fuchsia.googlesource.com/zircon/+/master/docs/cxx.md
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-virtual-inheritance.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-virtual-inheritance.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-virtual-inheritance.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/fuchsia-virtual-inheritance.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,14 @@
+.. title:: clang-tidy - fuchsia-virtual-inheritance
+
+fuchsia-virtual-inheritance
+===========================
+
+Warns if classes are defined with virtual inheritance.
+
+For example, classes should not be defined with virtual inheritance:
+
+.. code-block:: c++
+
+ class B : public virtual A {}; // warning
+
+See the features disallowed in Fuchsia at https://fuchsia.googlesource.com/zircon/+/master/docs/cxx.md
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-build-explicit-make-pair.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-build-explicit-make-pair.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-build-explicit-make-pair.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-build-explicit-make-pair.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+.. title:: clang-tidy - google-build-explicit-make-pair
+
+google-build-explicit-make-pair
+===============================
+
+Check that ``make_pair``'s template arguments are deduced.
+
+G++ 4.6 in C++11 mode fails badly if ``make_pair``'s template arguments are
+specified explicitly, and such use isn't intended in any case.
+
+Corresponding cpplint.py check name: `build/explicit_make_pair`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-build-namespaces.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-build-namespaces.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-build-namespaces.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-build-namespaces.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,24 @@
+.. title:: clang-tidy - google-build-namespaces
+
+google-build-namespaces
+=======================
+
+`cert-dcl59-cpp` redirects here as an alias for this check.
+`fuchsia-header-anon-namespaces` redirects here as an alias for this check.
+
+Finds anonymous namespaces in headers.
+
+https://google.github.io/styleguide/cppguide.html#Namespaces
+
+Corresponding cpplint.py check name: `build/namespaces`.
+
+Options
+-------
+
+.. option:: HeaderFileExtensions
+
+ A comma-separated list of filename extensions of header files (the filename
+ extensions should not include "." prefix). Default is "h,hh,hpp,hxx".
+ For header files without an extension, use an empty string (if there are no
+ other desired extensions) or leave an empty element in the list. e.g.,
+ "h,hh,hpp,hxx," (note the trailing comma).
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-build-using-namespace.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-build-using-namespace.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-build-using-namespace.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-build-using-namespace.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,19 @@
+.. title:: clang-tidy - google-build-using-namespace
+
+google-build-using-namespace
+============================
+
+Finds ``using namespace`` directives.
+
+The check implements the following rule of the
+`Google C++ Style Guide <https://google.github.io/styleguide/cppguide.html#Namespaces>`_:
+
+ You may not use a using-directive to make all names from a namespace
+ available.
+
+.. code-block:: c++
+
+ // Forbidden -- This pollutes the namespace.
+ using namespace foo;
+
+Corresponding cpplint.py check name: `build/namespaces`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-default-arguments.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-default-arguments.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-default-arguments.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-default-arguments.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,8 @@
+.. title:: clang-tidy - google-default-arguments
+
+google-default-arguments
+========================
+
+Checks that default arguments are not given for virtual methods.
+
+See https://google.github.io/styleguide/cppguide.html#Default_Arguments
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-explicit-constructor.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-explicit-constructor.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-explicit-constructor.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-explicit-constructor.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,56 @@
+.. title:: clang-tidy - google-explicit-constructor
+
+google-explicit-constructor
+===========================
+
+
+Checks that constructors callable with a single argument and conversion
+operators are marked explicit to avoid the risk of unintentional implicit
+conversions.
+
+Consider this example:
+
+.. code-block:: c++
+
+ struct S {
+ int x;
+ operator bool() const { return true; }
+ };
+
+ bool f() {
+ S a{1};
+ S b{2};
+ return a == b;
+ }
+
+The function will return ``true``, since the objects are implicitly converted to
+``bool`` before comparison, which is unlikely to be the intent.
+
+The check will suggest inserting ``explicit`` before the constructor or
+conversion operator declaration. However, copy and move constructors should not
+be explicit, as well as constructors taking a single ``initializer_list``
+argument.
+
+This code:
+
+.. code-block:: c++
+
+ struct S {
+ S(int a);
+ explicit S(const S&);
+ operator bool() const;
+ ...
+
+will become
+
+.. code-block:: c++
+
+ struct S {
+ explicit S(int a);
+ S(const S&);
+ explicit operator bool() const;
+ ...
+
+
+
+See https://google.github.io/styleguide/cppguide.html#Explicit_Constructors
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-global-names-in-headers.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-global-names-in-headers.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-global-names-in-headers.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-global-names-in-headers.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,21 @@
+.. title:: clang-tidy - google-global-names-in-headers
+
+google-global-names-in-headers
+==============================
+
+Flag global namespace pollution in header files. Right now it only triggers on
+``using`` declarations and directives.
+
+The relevant style guide section is
+https://google.github.io/styleguide/cppguide.html#Namespaces.
+
+Options
+-------
+
+.. option:: HeaderFileExtensions
+
+ A comma-separated list of filename extensions of header files (the filename
+ extensions should not contain "." prefix). Default is "h".
+ For header files without an extension, use an empty string (if there are no
+ other desired extensions) or leave an empty element in the list. e.g.,
+ "h,hh,hpp,hxx," (note the trailing comma).
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-objc-avoid-throwing-exception.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-objc-avoid-throwing-exception.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-objc-avoid-throwing-exception.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-objc-avoid-throwing-exception.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,39 @@
+.. title:: clang-tidy - google-objc-avoid-throwing-exception
+
+google-objc-avoid-throwing-exception
+====================================
+
+Finds uses of throwing exceptions usages in Objective-C files.
+
+For the same reason as the Google C++ style guide, we prefer not throwing
+exceptions from Objective-C code.
+
+The corresponding C++ style guide rule:
+https://google.github.io/styleguide/cppguide.html#Exceptions
+
+Instead, prefer passing in ``NSError **`` and return ``BOOL`` to indicate success or failure.
+
+A counterexample:
+
+.. code-block:: objc
+
+ - (void)readFile {
+ if ([self isError]) {
+ @throw [NSException exceptionWithName:...];
+ }
+ }
+
+Instead, returning an error via ``NSError **`` is preferred:
+
+.. code-block:: objc
+
+ - (BOOL)readFileWithError:(NSError **)error {
+ if ([self isError]) {
+ *error = [NSError errorWithDomain:...];
+ return NO;
+ }
+ return YES;
+ }
+
+The corresponding style guide rule:
+http://google.github.io/styleguide/objcguide.html#avoid-throwing-exceptions
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-objc-function-naming.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-objc-function-naming.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-objc-function-naming.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-objc-function-naming.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,27 @@
+.. title:: clang-tidy - google-objc-function-naming
+
+google-objc-function-naming
+===========================
+
+Finds function declarations in Objective-C files that do not follow the pattern
+described in the Google Objective-C Style Guide.
+
+The corresponding style guide rule can be found here:
+https://google.github.io/styleguide/objcguide.html#function-names
+
+All function names should be in Pascal case. Functions whose storage class is
+not static should have an appropriate prefix.
+
+The following code sample does not follow this pattern:
+
+.. code-block:: objc
+
+ static bool is_positive(int i) { return i > 0; }
+ bool IsNegative(int i) { return i < 0; }
+
+The sample above might be corrected to the following code:
+
+.. code-block:: objc
+
+ static bool IsPositive(int i) { return i > 0; }
+ bool *ABCIsNegative(int i) { return i < 0; }
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-objc-global-variable-declaration.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-objc-global-variable-declaration.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-objc-global-variable-declaration.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-objc-global-variable-declaration.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,47 @@
+.. title:: clang-tidy - google-objc-global-variable-declaration
+
+google-objc-global-variable-declaration
+=======================================
+
+Finds global variable declarations in Objective-C files that do not follow the
+pattern of variable names in Google's Objective-C Style Guide.
+
+The corresponding style guide rule:
+http://google.github.io/styleguide/objcguide.html#variable-names
+
+All the global variables should follow the pattern of `g[A-Z].*` (variables) or
+`k[A-Z].*` (constants). The check will suggest a variable name that follows the
+pattern if it can be inferred from the original name.
+
+For code:
+
+.. code-block:: objc
+
+ static NSString* myString = @"hello";
+
+The fix will be:
+
+.. code-block:: objc
+
+ static NSString* gMyString = @"hello";
+
+Another example of constant:
+
+.. code-block:: objc
+
+ static NSString* const myConstString = @"hello";
+
+The fix will be:
+
+.. code-block:: objc
+
+ static NSString* const kMyConstString = @"hello";
+
+However for code that prefixed with non-alphabetical characters like:
+
+.. code-block:: objc
+
+ static NSString* __anotherString = @"world";
+
+The check will give a warning message but will not be able to suggest a fix. The
+user need to fix it on his own.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-braces-around-statements.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-braces-around-statements.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-braces-around-statements.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-braces-around-statements.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - google-readability-braces-around-statements
+.. meta::
+ :http-equiv=refresh: 5;URL=readability-braces-around-statements.html
+
+google-readability-braces-around-statements
+===========================================
+
+The google-readability-braces-around-statements check is an alias, please see
+`readability-braces-around-statements <readability-braces-around-statements.html>`_
+for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-casting.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-casting.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-casting.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-casting.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,14 @@
+.. title:: clang-tidy - google-readability-casting
+
+google-readability-casting
+==========================
+
+Finds usages of C-style casts.
+
+https://google.github.io/styleguide/cppguide.html#Casting
+
+Corresponding cpplint.py check name: `readability/casting`.
+
+This check is similar to `-Wold-style-cast`, but it suggests automated fixes
+in some cases. The reported locations should not be different from the
+ones generated by `-Wold-style-cast`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-function-size.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-function-size.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-function-size.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-function-size.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - google-readability-function-size
+.. meta::
+ :http-equiv=refresh: 5;URL=readability-function-size.html
+
+google-readability-function-size
+================================
+
+The google-readability-function-size check is an alias, please see
+`readability-function-size <readability-function-size.html>`_ for more
+information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-namespace-comments.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-namespace-comments.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-namespace-comments.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-namespace-comments.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,9 @@
+.. title:: clang-tidy - google-readability-namespace-comments
+.. meta::
+ :http-equiv=refresh: 5;URL=llvm-namespace-comment.html
+
+google-readability-namespace-comments
+=====================================
+
+The google-readability-namespace-comments check is an alias, please see
+`llvm-namespace-comment <llvm-namespace-comment.html>`_ for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-todo.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-todo.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-todo.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-readability-todo.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+.. title:: clang-tidy - google-readability-todo
+
+google-readability-todo
+=======================
+
+Finds TODO comments without a username or bug number.
+
+The relevant style guide section is
+https://google.github.io/styleguide/cppguide.html#TODO_Comments.
+
+Corresponding cpplint.py check: `readability/todo`
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-runtime-int.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-runtime-int.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-runtime-int.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-runtime-int.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,27 @@
+.. title:: clang-tidy - google-runtime-int
+
+google-runtime-int
+==================
+
+Finds uses of ``short``, ``long`` and ``long long`` and suggest replacing them
+with ``u?intXX(_t)?``.
+
+The corresponding style guide rule:
+https://google.github.io/styleguide/cppguide.html#Integer_Types.
+
+Correspondig cpplint.py check: `runtime/int`.
+
+Options
+-------
+
+.. option:: UnsignedTypePrefix
+
+ A string specifying the unsigned type prefix. Default is `uint`.
+
+.. option:: SignedTypePrefix
+
+ A string specifying the signed type prefix. Default is `int`.
+
+.. option:: TypeSuffix
+
+ A string specifying the type suffix. Default is an empty string.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-runtime-operator.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-runtime-operator.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-runtime-operator.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-runtime-operator.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - google-runtime-operator
+
+google-runtime-operator
+=======================
+
+Finds overloads of unary ``operator &``.
+
+https://google.github.io/styleguide/cppguide.html#Operator_Overloading
+
+Corresponding cpplint.py check name: `runtime/operator`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-runtime-references.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-runtime-references.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-runtime-references.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/google-runtime-references.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,17 @@
+.. title:: clang-tidy - google-runtime-references
+
+google-runtime-references
+=========================
+
+Checks the usage of non-constant references in function parameters.
+
+The corresponding style guide rule:
+https://google.github.io/styleguide/cppguide.html#Reference_Arguments
+
+
+Options
+-------
+
+.. option:: WhiteListTypes
+
+ A semicolon-separated list of names of whitelist types. Default is empty.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-avoid-c-arrays.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-avoid-c-arrays.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-avoid-c-arrays.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-avoid-c-arrays.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - hicpp-avoid-c-arrays
+.. meta::
+ :http-equiv=refresh: 5;URL=modernize-avoid-c-arrays.html
+
+hicpp-avoid-c-arrays
+====================
+
+The hicpp-avoid-c-arrays check is an alias, please see
+`modernize-avoid-c-arrays <modernize-avoid-c-arrays.html>`_
+for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-avoid-goto.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-avoid-goto.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-avoid-goto.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-avoid-goto.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,12 @@
+.. title:: clang-tidy - hicpp-avoid-goto
+
+hicpp-avoid-goto
+================
+
+The `hicpp-avoid-goto` check is an alias to
+`cppcoreguidelines-avoid-goto <cppcoreguidelines-avoid-goto.html>`_.
+Rule `6.3.1 High Integrity C++ <http://www.codingstandard.com/rule/6-3-1-ensure-that-the-labels-for-a-jump-statement-or-a-switch-condition-appear-later-in-the-same-or-an-enclosing-block/>`_
+requires that ``goto`` only skips parts of a block and is not used for other
+reasons.
+
+Both coding guidelines implement the same exception to the usage of ``goto``.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-braces-around-statements.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-braces-around-statements.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-braces-around-statements.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-braces-around-statements.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+.. title:: clang-tidy - hicpp-braces-around-statements
+.. meta::
+ :http-equiv=refresh: 5;URL=readability-braces-around-statements.html
+
+hicpp-braces-around-statements
+==============================
+
+The `hicpp-braces-around-statements` check is an alias, please see
+`readability-braces-around-statements <readability-braces-around-statements.html>`_
+for more information.
+It enforces the `rule 6.1.1 <http://www.codingstandard.com/rule/6-1-1-enclose-the-body-of-a-selection-or-an-iteration-statement-in-a-compound-statement/>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-deprecated-headers.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-deprecated-headers.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-deprecated-headers.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-deprecated-headers.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+.. title:: clang-tidy - hicpp-deprecated-headers
+.. meta::
+ :http-equiv=refresh: 5;URL=modernize-deprecated-headers.html
+
+hicpp-deprecated-headers
+========================
+
+The `hicpp-deprecated-headers` check is an alias, please see
+`modernize-deprecated-headers <modernize-deprecated-headers.html>`_
+for more information.
+It enforces the `rule 1.3.3 <http://www.codingstandard.com/rule/1-3-3-do-not-use-the-c-standard-library-h-headers/>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-exception-baseclass.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-exception-baseclass.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-exception-baseclass.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-exception-baseclass.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,30 @@
+.. title:: clang-tidy - hicpp-exception-baseclass
+
+hicpp-exception-baseclass
+=========================
+
+Ensure that every value that in a ``throw`` expression is an instance of
+``std::exception``.
+
+This enforces `rule 15.1 <http://www.codingstandard.com/section/15-1-throwing-an-exception/>`_
+of the High Integrity C++ Coding Standard.
+
+.. code-block:: c++
+
+ class custom_exception {};
+
+ void throwing() noexcept(false) {
+ // Problematic throw expressions.
+ throw int(42);
+ throw custom_exception();
+ }
+
+ class mathematical_error : public std::exception {};
+
+ void throwing2() noexcept(false) {
+ // These kind of throws are ok.
+ throw mathematical_error();
+ throw std::runtime_error();
+ throw std::exception();
+ }
+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-explicit-conversions.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-explicit-conversions.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-explicit-conversions.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-explicit-conversions.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,17 @@
+.. title:: clang-tidy - hicpp-explicit-conversions
+.. meta::
+ :http-equiv=refresh: 5;URL=google-explicit-constructor.html
+
+hicpp-explicit-conversions
+==========================
+
+This check is an alias for `google-explicit-constructor <google-explicit-constructor.html>`_.
+Used to enforce parts of `rule 5.4.1 <http://www.codingstandard.com/rule/5-4-1-only-use-casting-forms-static_cast-excl-void-dynamic_cast-or-explicit-constructor-call/>`_.
+This check will enforce that constructors and conversion operators are marked `explicit`.
+Other forms of casting checks are implemented in other places.
+The following checks can be used to check for more forms of casting:
+
+- `cppcoreguidelines-pro-type-static-cast-downcast <cppcoreguidelines-pro-type-static-cast-downcast.html>`_
+- `cppcoreguidelines-pro-type-reinterpret-cast <cppcoreguidelines-pro-type-reinterpret-cast.html>`_
+- `cppcoreguidelines-pro-type-const-cast <cppcoreguidelines-pro-type-const-cast.html>`_
+- `cppcoreguidelines-pro-type-cstyle-cast <cppcoreguidelines-pro-type-cstyle-cast.html>`_
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-function-size.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-function-size.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-function-size.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-function-size.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,13 @@
+.. title:: clang-tidy - hicpp-function-size
+.. meta::
+ :http-equiv=refresh: 5;URL=readability-function-size.html
+
+hicpp-function-size
+===================
+
+This check is an alias for `readability-function-size <readability-function-size.html>`_.
+Useful to enforce multiple sections on function complexity.
+
+- `rule 8.2.2 <http://www.codingstandard.com/rule/8-2-2-do-not-declare-functions-with-an-excessive-number-of-parameters/>`_
+- `rule 8.3.1 <http://www.codingstandard.com/rule/8-3-1-do-not-write-functions-with-an-excessive-mccabe-cyclomatic-complexity/>`_
+- `rule 8.3.2 <http://www.codingstandard.com/rule/8-3-2-do-not-write-functions-with-a-high-static-program-path-count/>`_
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-invalid-access-moved.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-invalid-access-moved.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-invalid-access-moved.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-invalid-access-moved.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - hicpp-invalid-access-moved
+.. meta::
+ :http-equiv=refresh: 5;URL=bugprone-use-after-move.html
+
+hicpp-invalid-access-moved
+==========================
+
+This check is an alias for `bugprone-use-after-move <bugprone-use-after-move.html>`_.
+
+Implements parts of the `rule 8.4.1 <http://www.codingstandard.com/rule/8-4-1-do-not-access-an-invalid-object-or-an-object-with-indeterminate-value/>`_ to check if moved-from objects are accessed.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-member-init.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-member-init.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-member-init.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-member-init.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+.. title:: clang-tidy - hicpp-member-init
+.. meta::
+ :http-equiv=refresh: 5;URL=cppcoreguidelines-pro-type-member-init.html
+
+hicpp-member-init
+=================
+
+This check is an alias for `cppcoreguidelines-pro-type-member-init <cppcoreguidelines-pro-type-member-init.html>`_.
+Implements the check for
+`rule 12.4.2 <http://www.codingstandard.com/rule/12-4-2-ensure-that-a-constructor-initializes-explicitly-all-base-classes-and-non-static-data-members/>`_
+to initialize class members in the right order.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-move-const-arg.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-move-const-arg.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-move-const-arg.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-move-const-arg.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - hicpp-move-const-arg
+.. meta::
+ :http-equiv=refresh: 5;URL=performance-move-const-arg.html
+
+hicpp-move-const-arg
+====================
+
+The `hicpp-move-const-arg` check is an alias, please see
+`performance-move-const-arg <performance-move-const-arg.html>`_ for more information.
+It enforces the `rule 17.3.1 <http://www.codingstandard.com/rule/17-3-1-do-not-use-stdmove-on-objects-declared-with-const-or-const-type/>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-multiway-paths-covered.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-multiway-paths-covered.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-multiway-paths-covered.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-multiway-paths-covered.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,96 @@
+.. title:: clang-tidy - hicpp-multiway-paths-covered
+
+hicpp-multiway-paths-covered
+============================
+
+This check discovers situations where code paths are not fully-covered.
+It furthermore suggests using ``if`` instead of ``switch`` if the code will be more clear.
+The `rule 6.1.2 <http://www.codingstandard.com/rule/6-1-2-explicitly-cover-all-paths-through-multi-way-selection-statements/>`_
+and `rule 6.1.4 <http://www.codingstandard.com/rule/6-1-4-ensure-that-a-switch-statement-has-at-least-two-case-labels-distinct-from-the-default-label/>`_
+of the High Integrity C++ Coding Standard are enforced.
+
+``if-else if`` chains that miss a final ``else`` branch might lead to unexpected
+program execution and be the result of a logical error.
+If the missing ``else`` branch is intended you can leave it empty with a clarifying
+comment.
+This warning can be noisy on some code bases, so it is disabled by default.
+
+.. code-block:: c++
+
+ void f1() {
+ int i = determineTheNumber();
+
+ if(i > 0) {
+ // Some Calculation
+ } else if (i < 0) {
+ // Precondition violated or something else.
+ }
+ // ...
+ }
+
+Similar arguments hold for ``switch`` statements which do not cover all possible code paths.
+
+.. code-block:: c++
+
+ // The missing default branch might be a logical error. It can be kept empty
+ // if there is nothing to do, making it explicit.
+ void f2(int i) {
+ switch (i) {
+ case 0: // something
+ break;
+ case 1: // something else
+ break;
+ }
+ // All other numbers?
+ }
+
+ // Violates this rule as well, but already emits a compiler warning (-Wswitch).
+ enum Color { Red, Green, Blue, Yellow };
+ void f3(enum Color c) {
+ switch (c) {
+ case Red: // We can't drive for now.
+ break;
+ case Green: // We are allowed to drive.
+ break;
+ }
+ // Other cases missing
+ }
+
+
+The `rule 6.1.4 <http://www.codingstandard.com/rule/6-1-4-ensure-that-a-switch-statement-has-at-least-two-case-labels-distinct-from-the-default-label/>`_
+requires every ``switch`` statement to have at least two ``case`` labels other than a `default` label.
+Otherwise, the ``switch`` could be better expressed with an ``if`` statement.
+Degenerated ``switch`` statements without any labels are caught as well.
+
+.. code-block:: c++
+
+ // Degenerated switch that could be better written as `if`
+ int i = 42;
+ switch(i) {
+ case 1: // do something here
+ default: // do somethe else here
+ }
+
+ // Should rather be the following:
+ if (i == 1) {
+ // do something here
+ }
+ else {
+ // do something here
+ }
+
+
+.. code-block:: c++
+
+ // A completly degenerated switch will be diagnosed.
+ int i = 42;
+ switch(i) {}
+
+
+Options
+-------
+
+.. option:: WarnOnMissingElse
+
+ Boolean flag that activates a warning for missing ``else`` branches.
+ Default is `0`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-named-parameter.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-named-parameter.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-named-parameter.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-named-parameter.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - hicpp-named-parameter
+.. meta::
+ :http-equiv=refresh: 5;URL=readability-named-parameter.html
+
+hicpp-named-parameter
+=====================
+
+This check is an alias for `readability-named-parameter <readability-named-parameter.html>`_.
+
+Implements `rule 8.2.1 <http://www.codingstandard.com/rule/8-2-1-make-parameter-names-absent-or-identical-in-all-declarations/>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-new-delete-operators.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-new-delete-operators.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-new-delete-operators.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-new-delete-operators.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - hicpp-new-delete-operators
+.. meta::
+ :http-equiv=refresh: 5;URL=misc-new-delete-overloads.html
+
+hicpp-new-delete-operators
+==========================
+
+This check is an alias for `misc-new-delete-overloads <misc-new-delete-overloads.html>`_.
+Implements `rule 12.3.1 <http://www.codingstandard.com/section/12-3-free-store/>`_ to ensure
+the `new` and `delete` operators have the correct signature.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-no-array-decay.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-no-array-decay.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-no-array-decay.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-no-array-decay.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+.. title:: clang-tidy - hicpp-no-array-decay
+.. meta::
+ :http-equiv=refresh: 5;URL=cppcoreguidelines-pro-bounds-array-to-pointer-decay.html
+
+hicpp-no-array-decay
+====================
+
+The `hicpp-no-array-decay` check is an alias, please see
+`cppcoreguidelines-pro-bounds-array-to-pointer-decay <cppcoreguidelines-pro-bounds-array-to-pointer-decay.html>`_
+for more information.
+It enforces the `rule 4.1.1 <http://www.codingstandard.com/section/4-1-array-to-pointer-conversion/>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-no-assembler.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-no-assembler.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-no-assembler.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-no-assembler.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - hicpp-no-assembler
+
+hicpp-no-assembler
+===================
+
+Check for assembler statements. No fix is offered.
+
+Inline assembler is forbidden by the `High Intergrity C++ Coding Standard
+<http://www.codingstandard.com/section/7-5-the-asm-declaration/>`_
+as it restricts the portability of code.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-no-malloc.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-no-malloc.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-no-malloc.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-no-malloc.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+.. title:: clang-tidy - hicpp-no-malloc
+.. meta::
+ :http-equiv=refresh: 5;URL=cppcoreguidelines-no-malloc.html
+
+hicpp-no-malloc
+===============
+
+The `hicpp-no-malloc` check is an alias, please see
+`cppcoreguidelines-no-malloc <cppcoreguidelines-no-malloc.html>`_
+for more information.
+It enforces the `rule 5.3.2 <http://www.codingstandard.com/rule/5-3-2-allocate-memory-using-new-and-release-it-using-delete/>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-noexcept-move.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-noexcept-move.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-noexcept-move.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-noexcept-move.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,9 @@
+.. title:: clang-tidy - hicpp-noexcept-move
+.. meta::
+ :http-equiv=refresh: 5;URL=misc-noexcept-moveconstructor.html
+
+hicpp-noexcept-move
+===================
+
+This check is an alias for `misc-noexcept-moveconstructor <misc-noexcept-moveconstructor.html>`_.
+Checks `rule 12.5.4 <http://www.codingstandard.com/rule/12-5-4-declare-noexcept-the-move-constructor-and-move-assignment-operator>`_ to mark move assignment and move construction `noexcept`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-signed-bitwise.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-signed-bitwise.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-signed-bitwise.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-signed-bitwise.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,9 @@
+.. title:: clang-tidy - hicpp-signed-bitwise
+
+hicpp-signed-bitwise
+====================
+
+Finds uses of bitwise operations on signed integer types, which may lead to
+undefined or implementation defined behaviour.
+
+The according rule is defined in the `High Integrity C++ Standard, Section 5.6.1 <http://www.codingstandard.com/section/5-6-shift-operators/>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-special-member-functions.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-special-member-functions.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-special-member-functions.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-special-member-functions.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,9 @@
+.. title:: clang-tidy - hicpp-special-member-functions
+.. meta::
+ :http-equiv=refresh: 5;URL=cppcoreguidelines-special-member-functions.html
+
+hicpp-special-member-functions
+==============================
+
+This check is an alias for `cppcoreguidelines-special-member-functions <cppcoreguidelines-special-member-functions.html>`_.
+Checks that special member functions have the correct signature, according to `rule 12.5.7 <http://www.codingstandard.com/rule/12-5-7-declare-assignment-operators-with-the-ref-qualifier/>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-static-assert.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-static-assert.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-static-assert.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-static-assert.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - hicpp-static-assert
+.. meta::
+ :http-equiv=refresh: 5;URL=misc-static-assert.html
+
+hicpp-static-assert
+===================
+
+The `hicpp-static-assert` check is an alias, please see
+`misc-static-assert <misc-static-assert.html>`_ for more information.
+It enforces the `rule 7.1.10 <http://www.codingstandard.com/rule/6-1-1-enclose-the-body-of-a-selection-or-an-iteration-statement-in-a-compound-statement/>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-undelegated-constructor.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-undelegated-constructor.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-undelegated-constructor.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-undelegated-constructor.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,25 @@
+.. title:: clang-tidy - hicpp-undelegated-construtor
+.. meta::
+ :http-equiv=refresh: 5;URL=bugprone-undelegated-constructor.html
+
+hicpp-undelegated-constructor
+=============================
+
+This check is an alias for `bugprone-undelegated-constructor <bugprone-undelegated-constructor.html>`_.
+Partially implements `rule 12.4.5 <http://www.codingstandard.com/rule/12-4-5-use-delegating-constructors-to-reduce-code-duplication/>`_
+to find misplaced constructor calls inside a constructor.
+
+.. code-block:: c++
+
+ struct Ctor {
+ Ctor();
+ Ctor(int);
+ Ctor(int, int);
+ Ctor(Ctor *i) {
+ // All Ctor() calls result in a temporary object
+ Ctor(); // did you intend to call a delegated constructor?
+ Ctor(0); // did you intend to call a delegated constructor?
+ Ctor(1, 2); // did you intend to call a delegated constructor?
+ foo();
+ }
+ };
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-uppercase-literal-suffix.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-uppercase-literal-suffix.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-uppercase-literal-suffix.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-uppercase-literal-suffix.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,9 @@
+.. title:: clang-tidy - hicpp-uppercase-literal-suffix
+.. meta::
+ :http-equiv=refresh: 5;URL=readability-uppercase-literal-suffix.html
+
+hicpp-uppercase-literal-suffix
+==============================
+
+The hicpp-uppercase-literal-suffix check is an alias, please see
+`readability-uppercase-literal-suffix <readability-uppercase-literal-suffix.html>`_ for more information.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-auto.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-auto.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-auto.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-auto.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - hicpp-use-auto
+.. meta::
+ :http-equiv=refresh: 5;URL=modernize-use-auto.html
+
+hicpp-use-auto
+==============
+
+The `hicpp-use-auto` check is an alias, please see
+`modernize-use-auto <modernize-use-auto.html>`_ for more information.
+It enforces the `rule 7.1.8 <http://www.codingstandard.com/rule/7-1-8-use-auto-id-expr-when-declaring-a-variable-to-have-the-same-type-as-its-initializer-function-call/>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-emplace.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-emplace.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-emplace.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-emplace.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - hicpp-use-emplace
+.. meta::
+ :http-equiv=refresh: 5;URL=modernize-use-emplace.html
+
+hicpp-use-emplace
+=================
+
+The `hicpp-use-emplace` check is an alias, please see
+`modernize-use-emplace <modernize-use-emplace.html>`_ for more information.
+It enforces the `rule 17.4.2 <http://www.codingstandard.com/rule/17-4-2-use-api-calls-that-construct-objects-in-place/>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-equals-default.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-equals-default.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-equals-default.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-equals-default.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,9 @@
+.. title:: clang-tidy - hicpp-use-equals-defaults
+.. meta::
+ :http-equiv=refresh: 5;URL=modernize-use-equals-default.html
+
+hicpp-use-equals-default
+========================
+
+This check is an alias for `modernize-use-equals-default <modernize-use-equals-default.html>`_.
+Implements `rule 12.5.1 <http://www.codingstandard.com/rule/12-5-1-define-explicitly-default-or-delete-implicit-special-member-functions-of-concrete-classes/>`_ to explicitly default special member functions.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-equals-delete.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-equals-delete.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-equals-delete.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-equals-delete.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - hicpp-use-equals-delete
+.. meta::
+ :http-equiv=refresh: 5;URL=modernize-use-equals-delete.html
+
+hicpp-use-equals-delete
+=======================
+
+This check is an alias for `modernize-use-equals-delete <modernize-use-equals-delete.html>`_.
+Implements `rule 12.5.1 <http://www.codingstandard.com/rule/12-5-1-define-explicitly-default-or-delete-implicit-special-member-functions-of-concrete-classes/>`_
+to explicitly default or delete special member functions.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-noexcept.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-noexcept.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-noexcept.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-noexcept.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - hicpp-use-noexcept
+.. meta::
+ :http-equiv=refresh: 5;URL=modernize-use-noexcept.html
+
+hicpp-use-noexcept
+==================
+
+The `hicpp-use-noexcept` check is an alias, please see
+`modernize-use-noexcept <modernize-use-noexcept.html>`_ for more information.
+It enforces the `rule 1.3.5 <http://www.codingstandard.com/rule/1-3-5-do-not-use-throw-exception-specifications/>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-nullptr.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-nullptr.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-nullptr.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-nullptr.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - hicpp-use-nullptr
+.. meta::
+ :http-equiv=refresh: 5;URL=modernize-use-nullptr.html
+
+hicpp-use-nullptr
+=================
+
+The `hicpp-use-nullptr` check is an alias, please see
+`modernize-use-nullptr <modernize-use-nullptr.html>`_ for more information.
+It enforces the `rule 2.5.3 <http://www.codingstandard.com/rule/2-5-3-use-nullptr-for-the-null-pointer-constant/>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-override.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-override.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-override.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-use-override.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,10 @@
+.. title:: clang-tidy - hicpp-use-override
+.. meta::
+ :http-equiv=refresh: 5;URL=modernize-use-override.html
+
+hicpp-use-override
+==================
+
+This check is an alias for `modernize-use-override <modernize-use-override.html>`_.
+Implements `rule 10.2.1 <http://www.codingstandard.com/section/10-2-virtual-functions/>`_ to
+declare a virtual function `override` when overriding.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-vararg.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-vararg.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-vararg.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/hicpp-vararg.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+.. title:: clang-tidy - hicpp-vararg
+.. meta::
+ :http-equiv=refresh: 5;URL=cppcoreguidelines-pro-type-vararg.html
+
+hicpp-vararg
+============
+
+The `hicpp-vararg` check is an alias, please see
+`cppcoreguidelines-pro-type-vararg <cppcoreguidelines-pro-type-vararg.html>`_
+for more information.
+It enforces the `rule 14.1.1 <http://www.codingstandard.com/section/14-1-template-declarations/>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/list.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/list.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/list.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/list.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,268 @@
+.. title:: clang-tidy - Clang-Tidy Checks
+
+Clang-Tidy Checks
+=================
+
+.. toctree::
+ abseil-duration-comparison
+ abseil-duration-division
+ abseil-duration-factory-float
+ abseil-duration-factory-scale
+ abseil-duration-subtraction
+ abseil-faster-strsplit-delimiter
+ abseil-no-internal-dependencies
+ abseil-no-namespace
+ abseil-redundant-strcat-calls
+ abseil-str-cat-append
+ abseil-string-find-startswith
+ abseil-upgrade-duration-conversions
+ android-cloexec-accept
+ android-cloexec-accept4
+ android-cloexec-creat
+ android-cloexec-dup
+ android-cloexec-epoll-create
+ android-cloexec-epoll-create1
+ android-cloexec-fopen
+ android-cloexec-inotify-init
+ android-cloexec-inotify-init1
+ android-cloexec-memfd-create
+ android-cloexec-open
+ android-cloexec-socket
+ android-comparison-in-temp-failure-retry
+ boost-use-to-string
+ bugprone-argument-comment
+ bugprone-assert-side-effect
+ bugprone-bool-pointer-implicit-conversion
+ bugprone-copy-constructor-init
+ bugprone-dangling-handle
+ bugprone-exception-escape
+ bugprone-fold-init-type
+ bugprone-forward-declaration-namespace
+ bugprone-forwarding-reference-overload
+ bugprone-inaccurate-erase
+ bugprone-incorrect-roundings
+ bugprone-integer-division
+ bugprone-lambda-function-name
+ bugprone-macro-parentheses
+ bugprone-macro-repeated-side-effects
+ bugprone-misplaced-operator-in-strlen-in-alloc
+ bugprone-misplaced-widening-cast
+ bugprone-move-forwarding-reference
+ bugprone-multiple-statement-macro
+ bugprone-parent-virtual-call
+ bugprone-sizeof-container
+ bugprone-sizeof-expression
+ bugprone-string-constructor
+ bugprone-string-integer-assignment
+ bugprone-string-literal-with-embedded-nul
+ bugprone-suspicious-enum-usage
+ bugprone-suspicious-memset-usage
+ bugprone-suspicious-missing-comma
+ bugprone-suspicious-semicolon
+ bugprone-suspicious-string-compare
+ bugprone-swapped-arguments
+ bugprone-terminating-continue
+ bugprone-throw-keyword-missing
+ bugprone-too-small-loop-variable
+ bugprone-undefined-memory-manipulation
+ bugprone-undelegated-constructor
+ bugprone-unused-raii
+ bugprone-unused-return-value
+ bugprone-use-after-move
+ bugprone-virtual-near-miss
+ cert-dcl03-c (redirects to misc-static-assert) <cert-dcl03-c>
+ cert-dcl16-c (redirects to readability-uppercase-literal-suffix) <cert-dcl16-c>
+ cert-dcl21-cpp
+ cert-dcl50-cpp
+ cert-dcl54-cpp (redirects to misc-new-delete-overloads) <cert-dcl54-cpp>
+ cert-dcl58-cpp
+ cert-dcl59-cpp (redirects to google-build-namespaces) <cert-dcl59-cpp>
+ cert-env33-c
+ cert-err09-cpp (redirects to misc-throw-by-value-catch-by-reference) <cert-err09-cpp>
+ cert-err34-c
+ cert-err52-cpp
+ cert-err58-cpp
+ cert-err60-cpp
+ cert-err61-cpp (redirects to misc-throw-by-value-catch-by-reference) <cert-err61-cpp>
+ cert-fio38-c (redirects to misc-non-copyable-objects) <cert-fio38-c>
+ cert-flp30-c
+ cert-msc30-c (redirects to cert-msc50-cpp) <cert-msc30-c>
+ cert-msc32-c (redirects to cert-msc51-cpp) <cert-msc32-c>
+ cert-msc50-cpp
+ cert-msc51-cpp
+ cert-oop11-cpp (redirects to performance-move-constructor-init) <cert-oop11-cpp>
+ cppcoreguidelines-avoid-c-arrays (redirects to modernize-avoid-c-arrays) <cppcoreguidelines-avoid-c-arrays>
+ cppcoreguidelines-avoid-goto
+ cppcoreguidelines-avoid-magic-numbers (redirects to readability-magic-numbers) <cppcoreguidelines-avoid-magic-numbers>
+ cppcoreguidelines-c-copy-assignment-signature (redirects to misc-unconventional-assign-operator) <cppcoreguidelines-c-copy-assignment-signature>
+ cppcoreguidelines-interfaces-global-init
+ cppcoreguidelines-macro-usage
+ cppcoreguidelines-narrowing-conversions
+ cppcoreguidelines-no-malloc
+ cppcoreguidelines-non-private-member-variables-in-classes (redirects to misc-non-private-member-variables-in-classes) <cppcoreguidelines-non-private-member-variables-in-classes>
+ cppcoreguidelines-owning-memory
+ cppcoreguidelines-pro-bounds-array-to-pointer-decay
+ cppcoreguidelines-pro-bounds-constant-array-index
+ cppcoreguidelines-pro-bounds-pointer-arithmetic
+ cppcoreguidelines-pro-type-const-cast
+ cppcoreguidelines-pro-type-cstyle-cast
+ cppcoreguidelines-pro-type-member-init
+ cppcoreguidelines-pro-type-reinterpret-cast
+ cppcoreguidelines-pro-type-static-cast-downcast
+ cppcoreguidelines-pro-type-union-access
+ cppcoreguidelines-pro-type-vararg
+ cppcoreguidelines-slicing
+ cppcoreguidelines-special-member-functions
+ fuchsia-default-arguments
+ fuchsia-header-anon-namespaces (redirects to google-build-namespaces) <fuchsia-header-anon-namespaces>
+ fuchsia-multiple-inheritance
+ fuchsia-overloaded-operator
+ fuchsia-restrict-system-includes
+ fuchsia-statically-constructed-objects
+ fuchsia-trailing-return
+ fuchsia-virtual-inheritance
+ google-build-explicit-make-pair
+ google-build-namespaces
+ google-build-using-namespace
+ google-default-arguments
+ google-explicit-constructor
+ google-global-names-in-headers
+ google-objc-avoid-throwing-exception
+ google-objc-function-naming
+ google-objc-global-variable-declaration
+ google-readability-braces-around-statements (redirects to readability-braces-around-statements) <google-readability-braces-around-statements>
+ google-readability-casting
+ google-readability-function-size (redirects to readability-function-size) <google-readability-function-size>
+ google-readability-namespace-comments (redirects to llvm-namespace-comment) <google-readability-namespace-comments>
+ google-readability-todo
+ google-runtime-int
+ google-runtime-operator
+ google-runtime-references
+ hicpp-avoid-c-arrays (redirects to modernize-avoid-c-arrays) <hicpp-avoid-c-arrays>
+ hicpp-avoid-goto
+ hicpp-braces-around-statements (redirects to readability-braces-around-statements) <hicpp-braces-around-statements>
+ hicpp-deprecated-headers (redirects to modernize-deprecated-headers) <hicpp-deprecated-headers>
+ hicpp-exception-baseclass
+ hicpp-explicit-conversions (redirects to google-explicit-constructor) <hicpp-explicit-conversions>
+ hicpp-function-size (redirects to readability-function-size) <hicpp-function-size>
+ hicpp-invalid-access-moved (redirects to bugprone-use-after-move) <hicpp-invalid-access-moved>
+ hicpp-member-init (redirects to cppcoreguidelines-pro-type-member-init) <hicpp-member-init>
+ hicpp-move-const-arg (redirects to performance-move-const-arg) <hicpp-move-const-arg>
+ hicpp-multiway-paths-covered
+ hicpp-named-parameter (redirects to readability-named-parameter) <hicpp-named-parameter>
+ hicpp-new-delete-operators (redirects to misc-new-delete-overloads) <hicpp-new-delete-operators>
+ hicpp-no-array-decay (redirects to cppcoreguidelines-pro-bounds-array-to-pointer-decay) <hicpp-no-array-decay>
+ hicpp-no-assembler
+ hicpp-no-malloc (redirects to cppcoreguidelines-no-malloc) <hicpp-no-malloc>
+ hicpp-noexcept-move (redirects to misc-noexcept-moveconstructor) <hicpp-noexcept-move>
+ hicpp-signed-bitwise
+ hicpp-special-member-functions (redirects to cppcoreguidelines-special-member-functions) <hicpp-special-member-functions>
+ hicpp-static-assert (redirects to misc-static-assert) <hicpp-static-assert>
+ hicpp-undelegated-constructor (redirects to bugprone-undelegated-constructor) <hicpp-undelegated-constructor>
+ hicpp-uppercase-literal-suffix (redirects to readability-uppercase-literal-suffix) <hicpp-uppercase-literal-suffix>
+ hicpp-use-auto (redirects to modernize-use-auto) <hicpp-use-auto>
+ hicpp-use-emplace (redirects to modernize-use-emplace) <hicpp-use-emplace>
+ hicpp-use-equals-default (redirects to modernize-use-equals-default) <hicpp-use-equals-default>
+ hicpp-use-equals-delete (redirects to modernize-use-equals-delete) <hicpp-use-equals-delete>
+ hicpp-use-noexcept (redirects to modernize-use-noexcept) <hicpp-use-noexcept>
+ hicpp-use-nullptr (redirects to modernize-use-nullptr) <hicpp-use-nullptr>
+ hicpp-use-override (redirects to modernize-use-override) <hicpp-use-override>
+ hicpp-vararg (redirects to cppcoreguidelines-pro-type-vararg) <hicpp-vararg>
+ llvm-header-guard
+ llvm-include-order
+ llvm-namespace-comment
+ llvm-twine-local
+ misc-definitions-in-headers
+ misc-misplaced-const
+ misc-new-delete-overloads
+ misc-non-copyable-objects
+ misc-non-private-member-variables-in-classes
+ misc-redundant-expression
+ misc-static-assert
+ misc-throw-by-value-catch-by-reference
+ misc-unconventional-assign-operator
+ misc-uniqueptr-reset-release
+ misc-unused-alias-decls
+ misc-unused-parameters
+ misc-unused-using-decls
+ modernize-avoid-bind
+ modernize-avoid-c-arrays
+ modernize-concat-nested-namespaces
+ modernize-deprecated-headers
+ modernize-deprecated-ios-base-aliases
+ modernize-loop-convert
+ modernize-make-shared
+ modernize-make-unique
+ modernize-pass-by-value
+ modernize-raw-string-literal
+ modernize-redundant-void-arg
+ modernize-replace-auto-ptr
+ modernize-replace-random-shuffle
+ modernize-return-braced-init-list
+ modernize-shrink-to-fit
+ modernize-unary-static-assert
+ modernize-use-auto
+ modernize-use-bool-literals
+ modernize-use-default-member-init
+ modernize-use-emplace
+ modernize-use-equals-default
+ modernize-use-equals-delete
+ modernize-use-nodiscard
+ modernize-use-noexcept
+ modernize-use-nullptr
+ modernize-use-override
+ modernize-use-transparent-functors
+ modernize-use-uncaught-exceptions
+ modernize-use-using
+ mpi-buffer-deref
+ mpi-type-mismatch
+ objc-avoid-nserror-init
+ objc-avoid-spinlock
+ objc-forbidden-subclassing
+ objc-property-declaration
+ performance-faster-string-find
+ performance-for-range-copy
+ performance-implicit-conversion-in-loop
+ performance-inefficient-algorithm
+ performance-inefficient-string-concatenation
+ performance-inefficient-vector-operation
+ performance-move-const-arg
+ performance-move-constructor-init
+ performance-noexcept-move-constructor
+ performance-type-promotion-in-math-fn
+ performance-unnecessary-copy-initialization
+ performance-unnecessary-value-param
+ portability-simd-intrinsics
+ readability-avoid-const-params-in-decls
+ readability-braces-around-statements
+ readability-const-return-type
+ readability-container-size-empty
+ readability-delete-null-pointer
+ readability-deleted-default
+ readability-else-after-return
+ readability-function-size
+ readability-identifier-naming
+ readability-implicit-bool-conversion
+ readability-inconsistent-declaration-parameter-name
+ readability-isolate-declaration
+ readability-magic-numbers
+ readability-misleading-indentation
+ readability-misplaced-array-index
+ readability-named-parameter
+ readability-non-const-parameter
+ readability-redundant-control-flow
+ readability-redundant-declaration
+ readability-redundant-function-ptr-dereference
+ readability-redundant-member-init
+ readability-redundant-preprocessor
+ readability-redundant-smartptr-get
+ readability-redundant-string-cstr
+ readability-redundant-string-init
+ readability-simplify-boolean-expr
+ readability-simplify-subscript-expr
+ readability-static-accessed-through-instance
+ readability-static-definition-in-anonymous-namespace
+ readability-string-compare
+ readability-uniqueptr-delete-release
+ readability-uppercase-literal-suffix
+ zircon-temporary-objects
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-header-guard.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-header-guard.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-header-guard.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-header-guard.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,17 @@
+.. title:: clang-tidy - llvm-header-guard
+
+llvm-header-guard
+=================
+
+Finds and fixes header guards that do not adhere to LLVM style.
+
+Options
+-------
+
+.. option:: HeaderFileExtensions
+
+ A comma-separated list of filename extensions of header files (the filename
+ extensions should not include "." prefix). Default is "h,hh,hpp,hxx".
+ For header files without an extension, use an empty string (if there are no
+ other desired extensions) or leave an empty element in the list. e.g.,
+ "h,hh,hpp,hxx," (note the trailing comma).
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-include-order.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-include-order.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-include-order.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-include-order.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,9 @@
+.. title:: clang-tidy - llvm-include-order
+
+llvm-include-order
+==================
+
+
+Checks the correct order of ``#includes``.
+
+See http://llvm.org/docs/CodingStandards.html#include-style
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-namespace-comment.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-namespace-comment.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-namespace-comment.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-namespace-comment.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,41 @@
+.. title:: clang-tidy - llvm-namespace-comment
+
+llvm-namespace-comment
+======================
+
+`google-readability-namespace-comments` redirects here as an alias for this
+check.
+
+Checks that long namespaces have a closing comment.
+
+http://llvm.org/docs/CodingStandards.html#namespace-indentation
+
+https://google.github.io/styleguide/cppguide.html#Namespaces
+
+.. code-block:: c++
+
+ namespace n1 {
+ void f();
+ }
+
+ // becomes
+
+ namespace n1 {
+ void f();
+ } // namespace n1
+
+
+Options
+-------
+
+.. option:: ShortNamespaceLines
+
+ Requires the closing brace of the namespace definition to be followed by a
+ closing comment if the body of the namespace has more than
+ `ShortNamespaceLines` lines of code. The value is an unsigned integer that
+ defaults to `1U`.
+
+.. option:: SpacesBeforeComments
+
+ An unsigned integer specifying the number of spaces before the comment
+ closing a namespace definition. Default is `1U`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-twine-local.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-twine-local.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-twine-local.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/llvm-twine-local.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,16 @@
+.. title:: clang-tidy - llvm-twine-local
+
+llvm-twine-local
+================
+
+
+Looks for local ``Twine`` variables which are prone to use after frees and
+should be generally avoided.
+
+.. code-block:: c++
+
+ static Twine Moo = Twine("bark") + "bah";
+
+ // becomes
+
+ static std::string Moo = (Twine("bark") + "bah").str();
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-definitions-in-headers.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-definitions-in-headers.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-definitions-in-headers.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-definitions-in-headers.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,100 @@
+.. title:: clang-tidy - misc-definitions-in-headers
+
+misc-definitions-in-headers
+===========================
+
+Finds non-extern non-inline function and variable definitions in header files,
+which can lead to potential ODR violations in case these headers are included
+from multiple translation units.
+
+.. code-block:: c++
+
+ // Foo.h
+ int a = 1; // Warning: variable definition.
+ extern int d; // OK: extern variable.
+
+ namespace N {
+ int e = 2; // Warning: variable definition.
+ }
+
+ // Warning: variable definition.
+ const char* str = "foo";
+
+ // OK: internal linkage variable definitions are ignored for now.
+ // Although these might also cause ODR violations, we can be less certain and
+ // should try to keep the false-positive rate down.
+ static int b = 1;
+ const int c = 1;
+ const char* const str2 = "foo";
+ constexpr int k = 1;
+
+ // Warning: function definition.
+ int g() {
+ return 1;
+ }
+
+ // OK: inline function definition is allowed to be defined multiple times.
+ inline int e() {
+ return 1;
+ }
+
+ class A {
+ public:
+ int f1() { return 1; } // OK: implicitly inline member function definition is allowed.
+ int f2();
+
+ static int d;
+ };
+
+ // Warning: not an inline member function definition.
+ int A::f2() { return 1; }
+
+ // OK: class static data member declaration is allowed.
+ int A::d = 1;
+
+ // OK: function template is allowed.
+ template<typename T>
+ T f3() {
+ T a = 1;
+ return a;
+ }
+
+ // Warning: full specialization of a function template is not allowed.
+ template <>
+ int f3() {
+ int a = 1;
+ return a;
+ }
+
+ template <typename T>
+ struct B {
+ void f1();
+ };
+
+ // OK: member function definition of a class template is allowed.
+ template <typename T>
+ void B<T>::f1() {}
+
+ class CE {
+ constexpr static int i = 5; // OK: inline variable definition.
+ };
+
+ inline int i = 5; // OK: inline variable definition.
+
+ constexpr int f10() { return 0; } // OK: constexpr function implies inline.
+
+Options
+-------
+
+.. option:: HeaderFileExtensions
+
+ A comma-separated list of filename extensions of header files (the filename
+ extensions should not include "." prefix). Default is "h,hh,hpp,hxx".
+ For header files without an extension, use an empty string (if there are no
+ other desired extensions) or leave an empty element in the list. e.g.,
+ "h,hh,hpp,hxx," (note the trailing comma).
+
+.. option:: UseHeaderFileExtension
+
+ When non-zero, the check will use the file extension to distinguish header
+ files. Default is `1`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-misplaced-const.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-misplaced-const.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-misplaced-const.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-misplaced-const.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,22 @@
+.. title:: clang-tidy - misc-misplaced-const
+
+misc-misplaced-const
+====================
+
+This check diagnoses when a ``const`` qualifier is applied to a ``typedef`` to a
+pointer type rather than to the pointee, because such constructs are often
+misleading to developers because the ``const`` applies to the pointer rather
+than the pointee.
+
+For instance, in the following code, the resulting type is ``int *`` ``const``
+rather than ``const int *``:
+
+.. code-block:: c++
+
+ typedef int *int_ptr;
+ void f(const int_ptr ptr);
+
+The check does not diagnose when the underlying ``typedef`` type is a pointer to
+a ``const`` type or a function pointer type. This is because the ``const``
+qualifier is less likely to be mistaken because it would be redundant (or
+disallowed) on the underlying pointee type.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-new-delete-overloads.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-new-delete-overloads.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-new-delete-overloads.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-new-delete-overloads.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,19 @@
+.. title:: clang-tidy - misc-new-delete-overloads
+
+misc-new-delete-overloads
+=========================
+
+`cert-dcl54-cpp` redirects here as an alias for this check.
+
+The check flags overloaded operator ``new()`` and operator ``delete()``
+functions that do not have a corresponding free store function defined within
+the same scope.
+For instance, the check will flag a class implementation of a non-placement
+operator ``new()`` when the class does not also define a non-placement operator
+``delete()`` function as well.
+
+The check does not flag implicitly-defined operators, deleted or private
+operators, or placement operators.
+
+This check corresponds to CERT C++ Coding Standard rule `DCL54-CPP. Overload allocation and deallocation functions as a pair in the same scope
+<https://www.securecoding.cert.org/confluence/display/cplusplus/DCL54-CPP.+Overload+allocation+and+deallocation+functions+as+a+pair+in+the+same+scope>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-non-copyable-objects.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-non-copyable-objects.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-non-copyable-objects.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-non-copyable-objects.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,13 @@
+.. title:: clang-tidy - misc-non-copyable-objects
+
+misc-non-copyable-objects
+=========================
+
+`cert-fio38-c` redirects here as an alias for this check.
+
+The check flags dereferences and non-pointer declarations of objects that are
+not meant to be passed by value, such as C FILE objects or POSIX
+``pthread_mutex_t`` objects.
+
+This check corresponds to CERT C++ Coding Standard rule `FIO38-C. Do not copy a FILE object
+<https://www.securecoding.cert.org/confluence/display/c/FIO38-C.+Do+not+copy+a+FILE+object>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-non-private-member-variables-in-classes.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-non-private-member-variables-in-classes.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-non-private-member-variables-in-classes.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-non-private-member-variables-in-classes.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,26 @@
+.. title:: clang-tidy - misc-non-private-member-variables-in-classes
+
+misc-non-private-member-variables-in-classes
+============================================
+
+`cppcoreguidelines-non-private-member-variables-in-classes` redirects here
+as an alias for this check.
+
+Finds classes that contain non-static data members in addition to user-declared
+non-static member functions and diagnose all data members declared with a
+non-``public`` access specifier. The data members should be declared as
+``private`` and accessed through member functions instead of exposed to derived
+classes or class consumers.
+
+Options
+-------
+
+.. option:: IgnoreClassesWithAllMemberVariablesBeingPublic
+
+ Allows to completely ignore classes if **all** the member variables in that
+ class a declared with a ``public`` access specifier.
+
+.. option:: IgnorePublicMemberVariables
+
+ Allows to ignore (not diagnose) **all** the member variables declared with
+ a ``public`` access specifier.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-redundant-expression.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-redundant-expression.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-redundant-expression.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-redundant-expression.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,25 @@
+.. title:: clang-tidy - misc-redundant-expression
+
+misc-redundant-expression
+=========================
+
+Detect redundant expressions which are typically errors due to copy-paste.
+
+Depending on the operator expressions may be
+
+- redundant,
+
+- always ``true``,
+
+- always ``false``,
+
+- always a constant (zero or one).
+
+Examples:
+
+.. code-block:: c++
+
+ ((x+1) | (x+1)) // (x+1) is redundant
+ (p->x == p->x) // always true
+ (p->x < p->x) // always false
+ (speed - speed + 1 == 12) // speed - speed is always zero
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-static-assert.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-static-assert.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-static-assert.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-static-assert.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,12 @@
+.. title:: clang-tidy - misc-static-assert
+
+misc-static-assert
+==================
+
+`cert-dcl03-c` redirects here as an alias for this check.
+
+Replaces ``assert()`` with ``static_assert()`` if the condition is evaluatable
+at compile time.
+
+The condition of ``static_assert()`` is evaluated at compile time which is
+safer and more efficient.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-throw-by-value-catch-by-reference.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-throw-by-value-catch-by-reference.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-throw-by-value-catch-by-reference.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-throw-by-value-catch-by-reference.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,34 @@
+.. title:: clang-tidy - misc-throw-by-value-catch-by-reference
+
+misc-throw-by-value-catch-by-reference
+======================================
+
+"cert-err09-cpp" redirects here as an alias for this check.
+"cert-err61-cpp" redirects here as an alias for this check.
+
+Finds violations of the rule "Throw by value, catch by reference" presented for
+example in "C++ Coding Standards" by H. Sutter and A. Alexandrescu.
+
+Exceptions:
+ * Throwing string literals will not be flagged despite being a pointer. They
+ are not susceptible to slicing and the usage of string literals is idomatic.
+ * Catching character pointers (``char``, ``wchar_t``, unicode character types)
+ will not be flagged to allow catching sting literals.
+ * Moved named values will not be flagged as not throwing an anonymous
+ temporary. In this case we can be sure that the user knows that the object
+ can't be accessed outside catch blocks handling the error.
+ * Throwing function parameters will not be flagged as not throwing an
+ anonymous temporary. This allows helper functions for throwing.
+ * Re-throwing caught exception variables will not be flragged as not throwing
+ an anonymous temporary. Although this can usually be done by just writing
+ ``throw;`` it happens often enough in real code.
+
+Options
+-------
+
+.. option:: CheckThrowTemporaries
+
+ Triggers detection of violations of the rule `Throw anonymous temporaries
+ <https://www.securecoding.cert.org/confluence/display/cplusplus/ERR09-CPP.+Throw+anonymous+temporaries>`_.
+ Default is `1`.
+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unconventional-assign-operator.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unconventional-assign-operator.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unconventional-assign-operator.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unconventional-assign-operator.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,13 @@
+.. title:: clang-tidy - misc-unconventional-assign-operator
+
+misc-unconventional-assign-operator
+===================================
+
+
+Finds declarations of assign operators with the wrong return and/or argument
+types and definitions with good return type but wrong ``return`` statements.
+
+ * The return type must be ``Class&``.
+ * Works with move-assign and assign by value.
+ * Private and deleted operators are ignored.
+ * The operator must always return ``*this``.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-uniqueptr-reset-release.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-uniqueptr-reset-release.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-uniqueptr-reset-release.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-uniqueptr-reset-release.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,16 @@
+.. title:: clang-tidy - misc-uniqueptr-reset-release
+
+misc-uniqueptr-reset-release
+============================
+
+Find and replace ``unique_ptr::reset(release())`` with ``std::move()``.
+
+Example:
+
+.. code-block:: c++
+
+ std::unique_ptr<Foo> x, y;
+ x.reset(y.release()); -> x = std::move(y);
+
+If ``y`` is already rvalue, ``std::move()`` is not added. ``x`` and ``y`` can
+also be ``std::unique_ptr<Foo>*``.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unused-alias-decls.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unused-alias-decls.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unused-alias-decls.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unused-alias-decls.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,7 @@
+.. title:: clang-tidy - misc-unused-alias-decls
+
+misc-unused-alias-decls
+=======================
+
+
+Finds unused namespace alias declarations.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unused-parameters.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unused-parameters.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unused-parameters.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unused-parameters.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,42 @@
+.. title:: clang-tidy - misc-unused-parameters
+
+misc-unused-parameters
+======================
+
+Finds unused function parameters. Unused parameters may signify a bug in the
+code (e.g. when a different parameter is used instead). The suggested fixes
+either comment parameter name out or remove the parameter completely, if all
+callers of the function are in the same translation unit and can be updated.
+
+The check is similar to the `-Wunused-parameter` compiler diagnostic and can be
+used to prepare a codebase to enabling of that diagnostic. By default the check
+is more permissive (see :option:`StrictMode`).
+
+.. code-block:: c++
+
+ void a(int i) { /*some code that doesn't use `i`*/ }
+
+ // becomes
+
+ void a(int /*i*/) { /*some code that doesn't use `i`*/ }
+
+.. code-block:: c++
+
+ static void staticFunctionA(int i);
+ static void staticFunctionA(int i) { /*some code that doesn't use `i`*/ }
+
+ // becomes
+
+ static void staticFunctionA()
+ static void staticFunctionA() { /*some code that doesn't use `i`*/ }
+
+Options
+-------
+
+.. option:: StrictMode
+
+ When zero (default value), the check will ignore trivially unused parameters,
+ i.e. when the corresponding function has an empty body (and in case of
+ constructors - no constructor initializers). When the function body is empty,
+ an unused parameter is unlikely to be unnoticed by a human reader, and
+ there's basically no place for a bug to hide.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unused-using-decls.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unused-using-decls.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unused-using-decls.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/misc-unused-using-decls.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,13 @@
+.. title:: clang-tidy - misc-unused-using-decls
+
+misc-unused-using-decls
+=======================
+
+Finds unused ``using`` declarations.
+
+Example:
+
+.. code-block:: c++
+
+ namespace n { class C; }
+ using n::C; // Never actually used.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-avoid-bind.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-avoid-bind.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-avoid-bind.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-avoid-bind.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,37 @@
+.. title:: clang-tidy - modernize-avoid-bind
+
+modernize-avoid-bind
+====================
+
+The check finds uses of ``std::bind`` and replaces simple uses with lambdas.
+Lambdas will use value-capture where required.
+
+Right now it only handles free functions, not member functions.
+
+Given:
+
+.. code-block:: c++
+
+ int add(int x, int y) { return x + y; }
+
+Then:
+
+.. code-block:: c++
+
+ void f() {
+ int x = 2;
+ auto clj = std::bind(add, x, _1);
+ }
+
+is replaced by:
+
+.. code-block:: c++
+
+ void f() {
+ int x = 2;
+ auto clj = [=](auto && arg1) { return add(x, arg1); };
+ }
+
+``std::bind`` can be hard to read and can result in larger object files and
+binaries due to type information that will not be produced by equivalent
+lambdas.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-avoid-c-arrays.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-avoid-c-arrays.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-avoid-c-arrays.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-avoid-c-arrays.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,60 @@
+.. title:: clang-tidy - modernize-avoid-c-arrays
+
+modernize-avoid-c-arrays
+========================
+
+`cppcoreguidelines-avoid-c-arrays` redirects here as an alias for this check.
+
+`hicpp-avoid-c-arrays` redirects here as an alias for this check.
+
+Finds C-style array types and recommend to use ``std::array<>`` /
+``std::vector<>``. All types of C arrays are diagnosed.
+
+However, fix-it are potentially dangerous in header files and are therefore not
+emitted right now.
+
+.. code:: c++
+
+ int a[] = {1, 2}; // warning: do not declare C-style arrays, use std::array<> instead
+
+ int b[1]; // warning: do not declare C-style arrays, use std::array<> instead
+
+ void foo() {
+ int c[b[0]]; // warning: do not declare C VLA arrays, use std::vector<> instead
+ }
+
+ template <typename T, int Size>
+ class array {
+ T d[Size]; // warning: do not declare C-style arrays, use std::array<> instead
+
+ int e[1]; // warning: do not declare C-style arrays, use std::array<> instead
+ };
+
+ array<int[4], 2> d; // warning: do not declare C-style arrays, use std::array<> instead
+
+ using k = int[4]; // warning: do not declare C-style arrays, use std::array<> instead
+
+
+However, the ``extern "C"`` code is ignored, since it is common to share
+such headers between C code, and C++ code.
+
+.. code:: c++
+
+ // Some header
+ extern "C" {
+
+ int f[] = {1, 2}; // not diagnosed
+
+ int j[1]; // not diagnosed
+
+ inline void bar() {
+ {
+ int j[j[0]]; // not diagnosed
+ }
+ }
+
+ }
+
+Similarly, the ``main()`` function is ignored. Its second and third parameters
+can be either ``char* argv[]`` or ``char** argv``, but can not be
+``std::array<>``.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-concat-nested-namespaces.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-concat-nested-namespaces.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-concat-nested-namespaces.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-concat-nested-namespaces.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,49 @@
+.. title:: clang-tidy - modernize-concat-nested-namespaces
+
+modernize-concat-nested-namespaces
+==================================
+
+Checks for use of nested namespaces such as ``namespace a { namespace b { ... } }``
+and suggests changing to the more concise syntax introduced in C++17: ``namespace a::b { ... }``.
+Inline namespaces are not modified.
+
+For example:
+
+.. code-block:: c++
+
+ namespace n1 {
+ namespace n2 {
+ void t();
+ }
+ }
+
+ namespace n3 {
+ namespace n4 {
+ namespace n5 {
+ void t();
+ }
+ }
+ namespace n6 {
+ namespace n7 {
+ void t();
+ }
+ }
+ }
+
+Will be modified to:
+
+.. code-block:: c++
+
+ namespace n1::n2 {
+ void t();
+ }
+
+ namespace n3 {
+ namespace n4::n5 {
+ void t();
+ }
+ namespace n6::n7 {
+ void t();
+ }
+ }
+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-deprecated-headers.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-deprecated-headers.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-deprecated-headers.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-deprecated-headers.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,49 @@
+.. title:: clang-tidy - modernize-deprecated-headers
+
+modernize-deprecated-headers
+============================
+
+Some headers from C library were deprecated in C++ and are no longer welcome in
+C++ codebases. Some have no effect in C++. For more details refer to the C++ 14
+Standard [depr.c.headers] section.
+
+This check replaces C standard library headers with their C++ alternatives and
+removes redundant ones.
+
+Improtant note: the Standard doesn't guarantee that the C++ headers declare all
+the same functions in the global namespace. The check in its current form can
+break the code that uses library symbols from the global namespace.
+
+* `<assert.h>`
+* `<complex.h>`
+* `<ctype.h>`
+* `<errno.h>`
+* `<fenv.h>` // deprecated since C++11
+* `<float.h>`
+* `<inttypes.h>`
+* `<limits.h>`
+* `<locale.h>`
+* `<math.h>`
+* `<setjmp.h>`
+* `<signal.h>`
+* `<stdarg.h>`
+* `<stddef.h>`
+* `<stdint.h>`
+* `<stdio.h>`
+* `<stdlib.h>`
+* `<string.h>`
+* `<tgmath.h>` // deprecated since C++11
+* `<time.h>`
+* `<uchar.h>` // deprecated since C++11
+* `<wchar.h>`
+* `<wctype.h>`
+
+If the specified standard is older than C++11 the check will only replace
+headers deprecated before C++11, otherwise -- every header that appeared in
+the previous list.
+
+These headers don't have effect in C++:
+
+* `<iso646.h>`
+* `<stdalign.h>`
+* `<stdbool.h>`
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-deprecated-ios-base-aliases.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-deprecated-ios-base-aliases.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-deprecated-ios-base-aliases.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-deprecated-ios-base-aliases.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,17 @@
+.. title:: clang-tidy - modernize-deprecated-ios-base-aliases
+
+modernize-deprecated-ios-base-aliases
+=====================================
+
+Detects usage of the deprecated member types of ``std::ios_base`` and replaces
+those that have a non-deprecated equivalent.
+
+=================================== ===========================
+Deprecated member type Replacement
+=================================== ===========================
+``std::ios_base::io_state`` ``std::ios_base::iostate``
+``std::ios_base::open_mode`` ``std::ios_base::openmode``
+``std::ios_base::seek_dir`` ``std::ios_base::seekdir``
+``std::ios_base::streamoff``
+``std::ios_base::streampos``
+=================================== ===========================
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-loop-convert.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-loop-convert.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-loop-convert.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-loop-convert.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,255 @@
+.. title:: clang-tidy - modernize-loop-convert
+
+modernize-loop-convert
+======================
+
+This check converts ``for(...; ...; ...)`` loops to use the new range-based
+loops in C++11.
+
+Three kinds of loops can be converted:
+
+- Loops over statically allocated arrays.
+- Loops over containers, using iterators.
+- Loops over array-like containers, using ``operator[]`` and ``at()``.
+
+MinConfidence option
+--------------------
+
+risky
+^^^^^
+
+In loops where the container expression is more complex than just a
+reference to a declared expression (a variable, function, enum, etc.),
+and some part of it appears elsewhere in the loop, we lower our confidence
+in the transformation due to the increased risk of changing semantics.
+Transformations for these loops are marked as `risky`, and thus will only
+be converted if the minimum required confidence level is set to `risky`.
+
+.. code-block:: c++
+
+ int arr[10][20];
+ int l = 5;
+
+ for (int j = 0; j < 20; ++j)
+ int k = arr[l][j] + l; // using l outside arr[l] is considered risky
+
+ for (int i = 0; i < obj.getVector().size(); ++i)
+ obj.foo(10); // using 'obj' is considered risky
+
+See
+:ref:`Range-based loops evaluate end() only once<IncorrectRiskyTransformation>`
+for an example of an incorrect transformation when the minimum required confidence
+level is set to `risky`.
+
+reasonable (Default)
+^^^^^^^^^^^^^^^^^^^^
+
+If a loop calls ``.end()`` or ``.size()`` after each iteration, the
+transformation for that loop is marked as `reasonable`, and thus will
+be converted if the required confidence level is set to `reasonable`
+(default) or lower.
+
+.. code-block:: c++
+
+ // using size() is considered reasonable
+ for (int i = 0; i < container.size(); ++i)
+ cout << container[i];
+
+safe
+^^^^
+
+Any other loops that do not match the above criteria to be marked as
+`risky` or `reasonable` are marked `safe`, and thus will be converted
+if the required confidence level is set to `safe` or lower.
+
+.. code-block:: c++
+
+ int arr[] = {1,2,3};
+
+ for (int i = 0; i < 3; ++i)
+ cout << arr[i];
+
+Example
+-------
+
+Original:
+
+.. code-block:: c++
+
+ const int N = 5;
+ int arr[] = {1,2,3,4,5};
+ vector<int> v;
+ v.push_back(1);
+ v.push_back(2);
+ v.push_back(3);
+
+ // safe conversion
+ for (int i = 0; i < N; ++i)
+ cout << arr[i];
+
+ // reasonable conversion
+ for (vector<int>::iterator it = v.begin(); it != v.end(); ++it)
+ cout << *it;
+
+ // reasonable conversion
+ for (int i = 0; i < v.size(); ++i)
+ cout << v[i];
+
+After applying the check with minimum confidence level set to `reasonable` (default):
+
+.. code-block:: c++
+
+ const int N = 5;
+ int arr[] = {1,2,3,4,5};
+ vector<int> v;
+ v.push_back(1);
+ v.push_back(2);
+ v.push_back(3);
+
+ // safe conversion
+ for (auto & elem : arr)
+ cout << elem;
+
+ // reasonable conversion
+ for (auto & elem : v)
+ cout << elem;
+
+ // reasonable conversion
+ for (auto & elem : v)
+ cout << elem;
+
+Limitations
+-----------
+
+There are certain situations where the tool may erroneously perform
+transformations that remove information and change semantics. Users of the tool
+should be aware of the behaviour and limitations of the check outlined by
+the cases below.
+
+Comments inside loop headers
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Comments inside the original loop header are ignored and deleted when
+transformed.
+
+.. code-block:: c++
+
+ for (int i = 0; i < N; /* This will be deleted */ ++i) { }
+
+Range-based loops evaluate end() only once
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The C++11 range-based for loop calls ``.end()`` only once during the
+initialization of the loop. If in the original loop ``.end()`` is called after
+each iteration the semantics of the transformed loop may differ.
+
+.. code-block:: c++
+
+ // The following is semantically equivalent to the C++11 range-based for loop,
+ // therefore the semantics of the header will not change.
+ for (iterator it = container.begin(), e = container.end(); it != e; ++it) { }
+
+ // Instead of calling .end() after each iteration, this loop will be
+ // transformed to call .end() only once during the initialization of the loop,
+ // which may affect semantics.
+ for (iterator it = container.begin(); it != container.end(); ++it) { }
+
+.. _IncorrectRiskyTransformation:
+
+As explained above, calling member functions of the container in the body
+of the loop is considered `risky`. If the called member function modifies the
+container the semantics of the converted loop will differ due to ``.end()``
+being called only once.
+
+.. code-block:: c++
+
+ bool flag = false;
+ for (vector<T>::iterator it = vec.begin(); it != vec.end(); ++it) {
+ // Add a copy of the first element to the end of the vector.
+ if (!flag) {
+ // This line makes this transformation 'risky'.
+ vec.push_back(*it);
+ flag = true;
+ }
+ cout << *it;
+ }
+
+The original code above prints out the contents of the container including the
+newly added element while the converted loop, shown below, will only print the
+original contents and not the newly added element.
+
+.. code-block:: c++
+
+ bool flag = false;
+ for (auto & elem : vec) {
+ // Add a copy of the first element to the end of the vector.
+ if (!flag) {
+ // This line makes this transformation 'risky'
+ vec.push_back(elem);
+ flag = true;
+ }
+ cout << elem;
+ }
+
+Semantics will also be affected if ``.end()`` has side effects. For example, in
+the case where calls to ``.end()`` are logged the semantics will change in the
+transformed loop if ``.end()`` was originally called after each iteration.
+
+.. code-block:: c++
+
+ iterator end() {
+ num_of_end_calls++;
+ return container.end();
+ }
+
+Overloaded operator->() with side effects
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Similarly, if ``operator->()`` was overloaded to have side effects, such as
+logging, the semantics will change. If the iterator's ``operator->()`` was used
+in the original loop it will be replaced with ``<container element>.<member>``
+instead due to the implicit dereference as part of the range-based for loop.
+Therefore any side effect of the overloaded ``operator->()`` will no longer be
+performed.
+
+.. code-block:: c++
+
+ for (iterator it = c.begin(); it != c.end(); ++it) {
+ it->func(); // Using operator->()
+ }
+ // Will be transformed to:
+ for (auto & elem : c) {
+ elem.func(); // No longer using operator->()
+ }
+
+Pointers and references to containers
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+While most of the check's risk analysis is dedicated to determining whether
+the iterator or container was modified within the loop, it is possible to
+circumvent the analysis by accessing and modifying the container through a
+pointer or reference.
+
+If the container were directly used instead of using the pointer or reference
+the following transformation would have only been applied at the `risky`
+level since calling a member function of the container is considered `risky`.
+The check cannot identify expressions associated with the container that are
+different than the one used in the loop header, therefore the transformation
+below ends up being performed at the `safe` level.
+
+.. code-block:: c++
+
+ vector<int> vec;
+
+ vector<int> *ptr = &vec;
+ vector<int> &ref = vec;
+
+ for (vector<int>::iterator it = vec.begin(), e = vec.end(); it != e; ++it) {
+ if (!flag) {
+ // Accessing and modifying the container is considered risky, but the risk
+ // level is not raised here.
+ ptr->push_back(*it);
+ ref.push_back(*it);
+ flag = true;
+ }
+ }
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-make-shared.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-make-shared.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-make-shared.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-make-shared.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,50 @@
+.. title:: clang-tidy - modernize-make-shared
+
+modernize-make-shared
+=====================
+
+This check finds the creation of ``std::shared_ptr`` objects by explicitly
+calling the constructor and a ``new`` expression, and replaces it with a call
+to ``std::make_shared``.
+
+.. code-block:: c++
+
+ auto my_ptr = std::shared_ptr<MyPair>(new MyPair(1, 2));
+
+ // becomes
+
+ auto my_ptr = std::make_shared<MyPair>(1, 2);
+
+This check also finds calls to ``std::shared_ptr::reset()`` with a ``new``
+expression, and replaces it with a call to ``std::make_shared``.
+
+.. code-block:: c++
+
+ my_ptr.reset(new MyPair(1, 2));
+
+ // becomes
+
+ my_ptr = std::make_shared<MyPair>(1, 2);
+
+Options
+-------
+
+.. option:: MakeSmartPtrFunction
+
+ A string specifying the name of make-shared-ptr function. Default is
+ `std::make_shared`.
+
+.. option:: MakeSmartPtrFunctionHeader
+
+ A string specifying the corresponding header of make-shared-ptr function.
+ Default is `memory`.
+
+.. option:: IncludeStyle
+
+ A string specifying which include-style is used, `llvm` or `google`. Default
+ is `llvm`.
+
+.. option:: IgnoreMacros
+
+ If set to non-zero, the check will not give warnings inside macros. Default
+ is `1`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-make-unique.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-make-unique.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-make-unique.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-make-unique.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,50 @@
+.. title:: clang-tidy - modernize-make-unique
+
+modernize-make-unique
+=====================
+
+This check finds the creation of ``std::unique_ptr`` objects by explicitly
+calling the constructor and a ``new`` expression, and replaces it with a call
+to ``std::make_unique``, introduced in C++14.
+
+.. code-block:: c++
+
+ auto my_ptr = std::unique_ptr<MyPair>(new MyPair(1, 2));
+
+ // becomes
+
+ auto my_ptr = std::make_unique<MyPair>(1, 2);
+
+This check also finds calls to ``std::unique_ptr::reset()`` with a ``new``
+expression, and replaces it with a call to ``std::make_unique``.
+
+.. code-block:: c++
+
+ my_ptr.reset(new MyPair(1, 2));
+
+ // becomes
+
+ my_ptr = std::make_unique<MyPair>(1, 2);
+
+Options
+-------
+
+.. option:: MakeSmartPtrFunction
+
+ A string specifying the name of make-unique-ptr function. Default is
+ `std::make_unique`.
+
+.. option:: MakeSmartPtrFunctionHeader
+
+ A string specifying the corresponding header of make-unique-ptr function.
+ Default is `memory`.
+
+.. option:: IncludeStyle
+
+ A string specifying which include-style is used, `llvm` or `google`. Default
+ is `llvm`.
+
+.. option:: IgnoreMacros
+
+ If set to non-zero, the check will not give warnings inside macros. Default
+ is `1`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-pass-by-value.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-pass-by-value.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-pass-by-value.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-pass-by-value.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,166 @@
+.. title:: clang-tidy - modernize-pass-by-value
+
+modernize-pass-by-value
+=======================
+
+With move semantics added to the language and the standard library updated with
+move constructors added for many types it is now interesting to take an
+argument directly by value, instead of by const-reference, and then copy. This
+check allows the compiler to take care of choosing the best way to construct
+the copy.
+
+The transformation is usually beneficial when the calling code passes an
+*rvalue* and assumes the move construction is a cheap operation. This short
+example illustrates how the construction of the value happens:
+
+.. code-block:: c++
+
+ void foo(std::string s);
+ std::string get_str();
+
+ void f(const std::string &str) {
+ foo(str); // lvalue -> copy construction
+ foo(get_str()); // prvalue -> move construction
+ }
+
+.. note::
+
+ Currently, only constructors are transformed to make use of pass-by-value.
+ Contributions that handle other situations are welcome!
+
+
+Pass-by-value in constructors
+-----------------------------
+
+Replaces the uses of const-references constructor parameters that are copied
+into class fields. The parameter is then moved with `std::move()`.
+
+Since ``std::move()`` is a library function declared in `<utility>` it may be
+necessary to add this include. The check will add the include directive when
+necessary.
+
+.. code-block:: c++
+
+ #include <string>
+
+ class Foo {
+ public:
+ - Foo(const std::string &Copied, const std::string &ReadOnly)
+ - : Copied(Copied), ReadOnly(ReadOnly)
+ + Foo(std::string Copied, const std::string &ReadOnly)
+ + : Copied(std::move(Copied)), ReadOnly(ReadOnly)
+ {}
+
+ private:
+ std::string Copied;
+ const std::string &ReadOnly;
+ };
+
+ std::string get_cwd();
+
+ void f(const std::string &Path) {
+ // The parameter corresponding to 'get_cwd()' is move-constructed. By
+ // using pass-by-value in the Foo constructor we managed to avoid a
+ // copy-construction.
+ Foo foo(get_cwd(), Path);
+ }
+
+
+If the parameter is used more than once no transformation is performed since
+moved objects have an undefined state. It means the following code will be left
+untouched:
+
+.. code-block:: c++
+
+ #include <string>
+
+ void pass(const std::string &S);
+
+ struct Foo {
+ Foo(const std::string &S) : Str(S) {
+ pass(S);
+ }
+
+ std::string Str;
+ };
+
+
+Known limitations
+^^^^^^^^^^^^^^^^^
+
+A situation where the generated code can be wrong is when the object referenced
+is modified before the assignment in the init-list through a "hidden" reference.
+
+Example:
+
+.. code-block:: c++
+
+ std::string s("foo");
+
+ struct Base {
+ Base() {
+ s = "bar";
+ }
+ };
+
+ struct Derived : Base {
+ - Derived(const std::string &S) : Field(S)
+ + Derived(std::string S) : Field(std::move(S))
+ { }
+
+ std::string Field;
+ };
+
+ void f() {
+ - Derived d(s); // d.Field holds "bar"
+ + Derived d(s); // d.Field holds "foo"
+ }
+
+
+Note about delayed template parsing
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+When delayed template parsing is enabled, constructors part of templated
+contexts; templated constructors, constructors in class templates, constructors
+of inner classes of template classes, etc., are not transformed. Delayed
+template parsing is enabled by default on Windows as a Microsoft extension:
+`Clang Compiler Userâs Manual - Microsoft extensions`_.
+
+Delayed template parsing can be enabled using the `-fdelayed-template-parsing`
+flag and disabled using `-fno-delayed-template-parsing`.
+
+Example:
+
+.. code-block:: c++
+
+ template <typename T> class C {
+ std::string S;
+
+ public:
+ = // using -fdelayed-template-parsing (default on Windows)
+ = C(const std::string &S) : S(S) {}
+
+ + // using -fno-delayed-template-parsing (default on non-Windows systems)
+ + C(std::string S) : S(std::move(S)) {}
+ };
+
+.. _Clang Compiler Userâs Manual - Microsoft extensions: http://clang.llvm.org/docs/UsersManual.html#microsoft-extensions
+
+.. seealso::
+
+ For more information about the pass-by-value idiom, read: `Want Speed? Pass by Value`_.
+
+ .. _Want Speed? Pass by Value: https://web.archive.org/web/20140205194657/http://cpp-next.com/archive/2009/08/want-speed-pass-by-value/
+
+Options
+-------
+
+.. option:: IncludeStyle
+
+ A string specifying which include-style is used, `llvm` or `google`. Default
+ is `llvm`.
+
+.. option:: ValuesOnly
+
+ When non-zero, the check only warns about copied parameters that are already
+ passed by value. Default is `0`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-raw-string-literal.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-raw-string-literal.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-raw-string-literal.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-raw-string-literal.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,46 @@
+.. title:: clang-tidy - modernize-raw-string-literal
+
+modernize-raw-string-literal
+============================
+
+This check selectively replaces string literals containing escaped characters
+with raw string literals.
+
+Example:
+
+.. code-blocK:: c++
+
+ const char *const Quotes{"embedded \"quotes\""};
+ const char *const Paragraph{"Line one.\nLine two.\nLine three.\n"};
+ const char *const SingleLine{"Single line.\n"};
+ const char *const TrailingSpace{"Look here -> \n"};
+ const char *const Tab{"One\tTwo\n"};
+ const char *const Bell{"Hello!\a And welcome!"};
+ const char *const Path{"C:\\Program Files\\Vendor\\Application.exe"};
+ const char *const RegEx{"\\w\\([a-z]\\)"};
+
+becomes
+
+.. code-block:: c++
+
+ const char *const Quotes{R"(embedded "quotes")"};
+ const char *const Paragraph{"Line one.\nLine two.\nLine three.\n"};
+ const char *const SingleLine{"Single line.\n"};
+ const char *const TrailingSpace{"Look here -> \n"};
+ const char *const Tab{"One\tTwo\n"};
+ const char *const Bell{"Hello!\a And welcome!"};
+ const char *const Path{R"(C:\Program Files\Vendor\Application.exe)"};
+ const char *const RegEx{R"(\w\([a-z]\))"};
+
+The presence of any of the following escapes can cause the string to be
+converted to a raw string literal: ``\\``, ``\'``, ``\"``, ``\?``,
+and octal or hexadecimal escapes for printable ASCII characters.
+
+A string literal containing only escaped newlines is a common way of
+writing lines of text output. Introducing physical newlines with raw
+string literals in this case is likely to impede readability. These
+string literals are left unchanged.
+
+An escaped horizontal tab, form feed, or vertical tab prevents the string
+literal from being converted. The presence of a horizontal tab, form feed or
+vertical tab in source code is not visually obvious.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-redundant-void-arg.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-redundant-void-arg.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-redundant-void-arg.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-redundant-void-arg.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,18 @@
+.. title:: clang-tidy - modernize-redundant-void-arg
+
+modernize-redundant-void-arg
+============================
+
+Find and remove redundant ``void`` argument lists.
+
+Examples:
+ =================================== ===========================
+ Initial code Code with applied fixes
+ =================================== ===========================
+ ``int f(void);`` ``int f();``
+ ``int (*f(void))(void);`` ``int (*f())();``
+ ``typedef int (*f_t(void))(void);`` ``typedef int (*f_t())();``
+ ``void (C::*p)(void);`` ``void (C::*p)();``
+ ``C::C(void) {}`` ``C::C() {}``
+ ``C::~C(void) {}`` ``C::~C() {}``
+ =================================== ===========================
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-replace-auto-ptr.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-replace-auto-ptr.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-replace-auto-ptr.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-replace-auto-ptr.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,79 @@
+.. title:: clang-tidy - modernize-replace-auto-ptr
+
+modernize-replace-auto-ptr
+==========================
+
+This check replaces the uses of the deprecated class ``std::auto_ptr`` by
+``std::unique_ptr`` (introduced in C++11). The transfer of ownership, done
+by the copy-constructor and the assignment operator, is changed to match
+``std::unique_ptr`` usage by using explicit calls to ``std::move()``.
+
+Migration example:
+
+.. code-block:: c++
+
+ -void take_ownership_fn(std::auto_ptr<int> int_ptr);
+ +void take_ownership_fn(std::unique_ptr<int> int_ptr);
+
+ void f(int x) {
+ - std::auto_ptr<int> a(new int(x));
+ - std::auto_ptr<int> b;
+ + std::unique_ptr<int> a(new int(x));
+ + std::unique_ptr<int> b;
+
+ - b = a;
+ - take_ownership_fn(b);
+ + b = std::move(a);
+ + take_ownership_fn(std::move(b));
+ }
+
+Since ``std::move()`` is a library function declared in ``<utility>`` it may be
+necessary to add this include. The check will add the include directive when
+necessary.
+
+Known Limitations
+-----------------
+* If headers modification is not activated or if a header is not allowed to be
+ changed this check will produce broken code (compilation error), where the
+ headers' code will stay unchanged while the code using them will be changed.
+
+* Client code that declares a reference to an ``std::auto_ptr`` coming from
+ code that can't be migrated (such as a header coming from a 3\ :sup:`rd`
+ party library) will produce a compilation error after migration. This is
+ because the type of the reference will be changed to ``std::unique_ptr`` but
+ the type returned by the library won't change, binding a reference to
+ ``std::unique_ptr`` from an ``std::auto_ptr``. This pattern doesn't make much
+ sense and usually ``std::auto_ptr`` are stored by value (otherwise what is
+ the point in using them instead of a reference or a pointer?).
+
+.. code-block:: c++
+
+ // <3rd-party header...>
+ std::auto_ptr<int> get_value();
+ const std::auto_ptr<int> & get_ref();
+
+ // <calling code (with migration)...>
+ -std::auto_ptr<int> a(get_value());
+ +std::unique_ptr<int> a(get_value()); // ok, unique_ptr constructed from auto_ptr
+
+ -const std::auto_ptr<int> & p = get_ptr();
+ +const std::unique_ptr<int> & p = get_ptr(); // won't compile
+
+* Non-instantiated templates aren't modified.
+
+.. code-block:: c++
+
+ template <typename X>
+ void f() {
+ std::auto_ptr<X> p;
+ }
+
+ // only 'f<int>()' (or similar) will trigger the replacement.
+
+Options
+-------
+
+.. option:: IncludeStyle
+
+ A string specifying which include-style is used, `llvm` or `google`. Default
+ is `llvm`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-replace-random-shuffle.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-replace-random-shuffle.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-replace-random-shuffle.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-replace-random-shuffle.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,41 @@
+.. title:: clang-tidy - modernize-replace-random-shuffle
+
+modernize-replace-random-shuffle
+================================
+
+This check will find occurrences of ``std::random_shuffle`` and replace it with ``std::shuffle``. In C++17 ``std::random_shuffle`` will no longer be available and thus we need to replace it.
+
+Below are two examples of what kind of occurrences will be found and two examples of what it will be replaced with.
+
+.. code-block:: c++
+
+ std::vector<int> v;
+
+ // First example
+ std::random_shuffle(vec.begin(), vec.end());
+
+ // Second example
+ std::random_shuffle(vec.begin(), vec.end(), randomFunc);
+
+Both of these examples will be replaced with:
+
+.. code-block:: c++
+
+ std::shuffle(vec.begin(), vec.end(), std::mt19937(std::random_device()()));
+
+The second example will also receive a warning that ``randomFunc`` is no longer supported in the same way as before so if the user wants the same functionality, the user will need to change the implementation of the ``randomFunc``.
+
+One thing to be aware of here is that ``std::random_device`` is quite expensive to initialize. So if you are using the code in a performance critical place, you probably want to initialize it elsewhere.
+Another thing is that the seeding quality of the suggested fix is quite poor: ``std::mt19937`` has an internal state of 624 32-bit integers, but is only seeded with a single integer. So if you require
+higher quality randomness, you should consider seeding better, for example:
+
+.. code-block:: c++
+
+ std::shuffle(v.begin(), v.end(), []() {
+ std::mt19937::result_type seeds[std::mt19937::state_size];
+ std::random_device device;
+ std::uniform_int_distribution<typename std::mt19937::result_type> dist;
+ std::generate(std::begin(seeds), std::end(seeds), [&] { return dist(device); });
+ std::seed_seq seq(std::begin(seeds), std::end(seeds));
+ return std::mt19937(seq);
+ }());
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-return-braced-init-list.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-return-braced-init-list.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-return-braced-init-list.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-return-braced-init-list.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,22 @@
+.. title:: clang-tidy - modernize-return-braced-init-list
+
+modernize-return-braced-init-list
+=================================
+
+Replaces explicit calls to the constructor in a return with a braced
+initializer list. This way the return type is not needlessly duplicated in the
+function definition and the return statement.
+
+.. code:: c++
+
+ Foo bar() {
+ Baz baz;
+ return Foo(baz);
+ }
+
+ // transforms to:
+
+ Foo bar() {
+ Baz baz;
+ return {baz};
+ }
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-shrink-to-fit.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-shrink-to-fit.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-shrink-to-fit.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-shrink-to-fit.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,12 @@
+.. title:: clang-tidy - modernize-shrink-to-fit
+
+modernize-shrink-to-fit
+=======================
+
+
+Replace copy and swap tricks on shrinkable containers with the
+``shrink_to_fit()`` method call.
+
+The ``shrink_to_fit()`` method is more readable and more effective than
+the copy and swap trick to reduce the capacity of a shrinkable container.
+Note that, the ``shrink_to_fit()`` method is only available in C++11 and up.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-unary-static-assert.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-unary-static-assert.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-unary-static-assert.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-unary-static-assert.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,25 @@
+.. title:: clang-tidy - modernize-unary-static-assert
+
+modernize-unary-static-assert
+=============================
+
+The check diagnoses any ``static_assert`` declaration with an empty string literal
+and provides a fix-it to replace the declaration with a single-argument ``static_assert`` declaration.
+
+The check is only applicable for C++17 and later code.
+
+The following code:
+
+.. code-block:: c++
+
+ void f_textless(int a) {
+ static_assert(sizeof(a) <= 10, "");
+ }
+
+is replaced by:
+
+.. code-block:: c++
+
+ void f_textless(int a) {
+ static_assert(sizeof(a) <= 10);
+ }
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-auto.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-auto.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-auto.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-auto.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,233 @@
+.. title:: clang-tidy - modernize-use-auto
+
+modernize-use-auto
+==================
+
+This check is responsible for using the ``auto`` type specifier for variable
+declarations to *improve code readability and maintainability*. For example:
+
+.. code-block:: c++
+
+ std::vector<int>::iterator I = my_container.begin();
+
+ // transforms to:
+
+ auto I = my_container.begin();
+
+The ``auto`` type specifier will only be introduced in situations where the
+variable type matches the type of the initializer expression. In other words
+``auto`` should deduce the same type that was originally spelled in the source.
+However, not every situation should be transformed:
+
+.. code-block:: c++
+
+ int val = 42;
+ InfoStruct &I = SomeObject.getInfo();
+
+ // Should not become:
+
+ auto val = 42;
+ auto &I = SomeObject.getInfo();
+
+In this example using ``auto`` for builtins doesn't improve readability. In
+other situations it makes the code less self-documenting impairing readability
+and maintainability. As a result, ``auto`` is used only introduced in specific
+situations described below.
+
+Iterators
+---------
+
+Iterator type specifiers tend to be long and used frequently, especially in
+loop constructs. Since the functions generating iterators have a common format,
+the type specifier can be replaced without obscuring the meaning of code while
+improving readability and maintainability.
+
+.. code-block:: c++
+
+ for (std::vector<int>::iterator I = my_container.begin(),
+ E = my_container.end();
+ I != E; ++I) {
+ }
+
+ // becomes
+
+ for (auto I = my_container.begin(), E = my_container.end(); I != E; ++I) {
+ }
+
+The check will only replace iterator type-specifiers when all of the following
+conditions are satisfied:
+
+* The iterator is for one of the standard container in ``std`` namespace:
+
+ * ``array``
+ * ``deque``
+ * ``forward_list``
+ * ``list``
+ * ``vector``
+ * ``map``
+ * ``multimap``
+ * ``set``
+ * ``multiset``
+ * ``unordered_map``
+ * ``unordered_multimap``
+ * ``unordered_set``
+ * ``unordered_multiset``
+ * ``queue``
+ * ``priority_queue``
+ * ``stack``
+
+* The iterator is one of the possible iterator types for standard containers:
+
+ * ``iterator``
+ * ``reverse_iterator``
+ * ``const_iterator``
+ * ``const_reverse_iterator``
+
+* In addition to using iterator types directly, typedefs or other ways of
+ referring to those types are also allowed. However, implementation-specific
+ types for which a type like ``std::vector<int>::iterator`` is itself a
+ typedef will not be transformed. Consider the following examples:
+
+.. code-block:: c++
+
+ // The following direct uses of iterator types will be transformed.
+ std::vector<int>::iterator I = MyVec.begin();
+ {
+ using namespace std;
+ list<int>::iterator I = MyList.begin();
+ }
+
+ // The type specifier for J would transform to auto since it's a typedef
+ // to a standard iterator type.
+ typedef std::map<int, std::string>::const_iterator map_iterator;
+ map_iterator J = MyMap.begin();
+
+ // The following implementation-specific iterator type for which
+ // std::vector<int>::iterator could be a typedef would not be transformed.
+ __gnu_cxx::__normal_iterator<int*, std::vector> K = MyVec.begin();
+
+* The initializer for the variable being declared is not a braced initializer
+ list. Otherwise, use of ``auto`` would cause the type of the variable to be
+ deduced as ``std::initializer_list``.
+
+New expressions
+---------------
+
+Frequently, when a pointer is declared and initialized with ``new``, the
+pointee type is written twice: in the declaration type and in the
+``new`` expression. In this cases, the declaration type can be replaced with
+``auto`` improving readability and maintainability.
+
+.. code-block:: c++
+
+ TypeName *my_pointer = new TypeName(my_param);
+
+ // becomes
+
+ auto *my_pointer = new TypeName(my_param);
+
+The check will also replace the declaration type in multiple declarations, if
+the following conditions are satisfied:
+
+* All declared variables have the same type (i.e. all of them are pointers to
+ the same type).
+* All declared variables are initialized with a ``new`` expression.
+* The types of all the new expressions are the same than the pointee of the
+ declaration type.
+
+.. code-block:: c++
+
+ TypeName *my_first_pointer = new TypeName, *my_second_pointer = new TypeName;
+
+ // becomes
+
+ auto *my_first_pointer = new TypeName, *my_second_pointer = new TypeName;
+
+Cast expressions
+----------------
+
+Frequently, when a variable is declared and initialized with a cast, the
+variable type is written twice: in the declaration type and in the
+cast expression. In this cases, the declaration type can be replaced with
+``auto`` improving readability and maintainability.
+
+.. code-block:: c++
+
+ TypeName *my_pointer = static_cast<TypeName>(my_param);
+
+ // becomes
+
+ auto *my_pointer = static_cast<TypeName>(my_param);
+
+The check handles ``static_cast``, ``dynamic_cast``, ``const_cast``,
+``reinterpret_cast``, functional casts, C-style casts and function templates
+that behave as casts, such as ``llvm::dyn_cast``, ``boost::lexical_cast`` and
+``gsl::narrow_cast``. Calls to function templates are considered to behave as
+casts if the first template argument is explicit and is a type, and the function
+returns that type, or a pointer or reference to it.
+
+Known Limitations
+-----------------
+
+* If the initializer is an explicit conversion constructor, the check will not
+ replace the type specifier even though it would be safe to do so.
+
+* User-defined iterators are not handled at this time.
+
+Options
+-------
+
+.. option:: MinTypeNameLength
+
+ If the option is set to non-zero (default `5`), the check will ignore type
+ names having a length less than the option value. The option affects
+ expressions only, not iterators.
+ Spaces between multi-lexeme type names (``long int``) are considered as one.
+ If ``RemoveStars`` option (see below) is set to non-zero, then ``*s`` in
+ the type are also counted as a part of the type name.
+
+.. code-block:: c++
+
+ // MinTypeNameLength = 0, RemoveStars=0
+
+ int a = static_cast<int>(foo()); // ---> auto a = ...
+ // length(bool *) = 4
+ bool *b = new bool; // ---> auto *b = ...
+ unsigned c = static_cast<unsigned>(foo()); // ---> auto c = ...
+
+ // MinTypeNameLength = 5, RemoveStars=0
+
+ int a = static_cast<int>(foo()); // ---> int a = ...
+ bool b = static_cast<bool>(foo()); // ---> bool b = ...
+ bool *pb = static_cast<bool*>(foo()); // ---> bool *pb = ...
+ unsigned c = static_cast<unsigned>(foo()); // ---> auto c = ...
+ // length(long <on-or-more-spaces> int) = 8
+ long int d = static_cast<long int>(foo()); // ---> auto d = ...
+
+ // MinTypeNameLength = 5, RemoveStars=1
+
+ int a = static_cast<int>(foo()); // ---> int a = ...
+ // length(int * * ) = 5
+ int **pa = static_cast<int**>(foo()); // ---> auto pa = ...
+ bool b = static_cast<bool>(foo()); // ---> bool b = ...
+ bool *pb = static_cast<bool*>(foo()); // ---> auto pb = ...
+ unsigned c = static_cast<unsigned>(foo()); // ---> auto c = ...
+ long int d = static_cast<long int>(foo()); // ---> auto d = ...
+
+.. option:: RemoveStars
+
+ If the option is set to non-zero (default is `0`), the check will remove
+ stars from the non-typedef pointer types when replacing type names with
+ ``auto``. Otherwise, the check will leave stars. For example:
+
+.. code-block:: c++
+
+ TypeName *my_first_pointer = new TypeName, *my_second_pointer = new TypeName;
+
+ // RemoveStars = 0
+
+ auto *my_first_pointer = new TypeName, *my_second_pointer = new TypeName;
+
+ // RemoveStars = 1
+
+ auto my_first_pointer = new TypeName, my_second_pointer = new TypeName;
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-bool-literals.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-bool-literals.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-bool-literals.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-bool-literals.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,28 @@
+.. title:: clang-tidy - modernize-use-bool-literals
+
+modernize-use-bool-literals
+===========================
+
+Finds integer literals which are cast to ``bool``.
+
+.. code-block:: c++
+
+ bool p = 1;
+ bool f = static_cast<bool>(1);
+ std::ios_base::sync_with_stdio(0);
+ bool x = p ? 1 : 0;
+
+ // transforms to
+
+ bool p = true;
+ bool f = true;
+ std::ios_base::sync_with_stdio(false);
+ bool x = p ? true : false;
+
+Options
+-------
+
+.. option:: IgnoreMacros
+
+ If set to non-zero, the check will not give warnings inside macros. Default
+ is `1`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-default-member-init.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-default-member-init.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-default-member-init.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-default-member-init.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,54 @@
+.. title:: clang-tidy - modernize-use-default-member-init
+
+modernize-use-default-member-init
+=================================
+
+This check converts a default constructor's member initializers into the new
+default member initializers in C++11. Other member initializers that match the
+default member initializer are removed. This can reduce repeated code or allow
+use of '= default'.
+
+.. code-block:: c++
+
+ struct A {
+ A() : i(5), j(10.0) {}
+ A(int i) : i(i), j(10.0) {}
+ int i;
+ double j;
+ };
+
+ // becomes
+
+ struct A {
+ A() {}
+ A(int i) : i(i) {}
+ int i{5};
+ double j{10.0};
+ };
+
+.. note::
+ Only converts member initializers for built-in types, enums, and pointers.
+ The `readability-redundant-member-init` check will remove redundant member
+ initializers for classes.
+
+Options
+-------
+
+.. option:: UseAssignment
+
+ If this option is set to non-zero (default is `0`), the check will initialise
+ members with an assignment. For example:
+
+.. code-block:: c++
+
+ struct A {
+ A() {}
+ A(int i) : i(i) {}
+ int i = 5;
+ double j = 10.0;
+ };
+
+.. option:: IgnoreMacros
+
+ If this option is set to non-zero (default is `1`), the check will not warn
+ about members declared inside macros.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-default.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-default.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-default.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-default.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+:orphan:
+
+.. title:: clang-tidy - modernize-use-default
+.. meta::
+ :http-equiv=refresh: 5;URL=modernize-use-equals-default.html
+
+modernize-use-default
+=====================
+
+This check has been renamed to
+`modernize-use-equals-default <modernize-use-equals-default.html>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-emplace.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-emplace.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-emplace.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-emplace.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,147 @@
+.. title:: clang-tidy - modernize-use-emplace
+
+modernize-use-emplace
+=====================
+
+The check flags insertions to an STL-style container done by calling the
+``push_back`` method with an explicitly-constructed temporary of the container
+element type. In this case, the corresponding ``emplace_back`` method
+results in less verbose and potentially more efficient code.
+Right now the check doesn't support ``push_front`` and ``insert``.
+It also doesn't support ``insert`` functions for associative containers
+because replacing ``insert`` with ``emplace`` may result in
+`speed regression <http://htmlpreview.github.io/?https://github.com/HowardHinnant/papers/blob/master/insert_vs_emplace.html>`_, but it might get support with some addition flag in the future.
+
+By default only ``std::vector``, ``std::deque``, ``std::list`` are considered.
+This list can be modified using the :option:`ContainersWithPushBack` option.
+
+Before:
+
+.. code-block:: c++
+
+ std::vector<MyClass> v;
+ v.push_back(MyClass(21, 37));
+
+ std::vector<std::pair<int, int>> w;
+
+ w.push_back(std::pair<int, int>(21, 37));
+ w.push_back(std::make_pair(21L, 37L));
+
+After:
+
+.. code-block:: c++
+
+ std::vector<MyClass> v;
+ v.emplace_back(21, 37);
+
+ std::vector<std::pair<int, int>> w;
+ w.emplace_back(21, 37);
+ w.emplace_back(21L, 37L);
+
+By default, the check is able to remove unnecessary ``std::make_pair`` and
+``std::make_tuple`` calls from ``push_back`` calls on containers of
+``std::pair`` and ``std::tuple``. Custom tuple-like types can be modified by
+the :option:`TupleTypes` option; custom make functions can be modified by the
+:option:`TupleMakeFunctions` option.
+
+The other situation is when we pass arguments that will be converted to a type
+inside a container.
+
+Before:
+
+.. code-block:: c++
+
+ std::vector<boost::optional<std::string> > v;
+ v.push_back("abc");
+
+After:
+
+.. code-block:: c++
+
+ std::vector<boost::optional<std::string> > v;
+ v.emplace_back("abc");
+
+
+In some cases the transformation would be valid, but the code wouldn't be
+exception safe. In this case the calls of ``push_back`` won't be replaced.
+
+.. code-block:: c++
+
+ std::vector<std::unique_ptr<int>> v;
+ v.push_back(std::unique_ptr<int>(new int(0)));
+ auto *ptr = new int(1);
+ v.push_back(std::unique_ptr<int>(ptr));
+
+This is because replacing it with ``emplace_back`` could cause a leak of this
+pointer if ``emplace_back`` would throw exception before emplacement (e.g. not
+enough memory to add a new element).
+
+For more info read item 42 - "Consider emplacement instead of insertion." of
+Scott Meyers "Effective Modern C++".
+
+The default smart pointers that are considered are ``std::unique_ptr``,
+``std::shared_ptr``, ``std::auto_ptr``. To specify other smart pointers or
+other classes use the :option:`SmartPointers` option.
+
+
+Check also doesn't fire if any argument of the constructor call would be:
+
+ - a bit-field (bit-fields can't bind to rvalue/universal reference)
+
+ - a ``new`` expression (to avoid leak)
+
+ - if the argument would be converted via derived-to-base cast.
+
+This check requires C++11 or higher to run.
+
+Options
+-------
+
+.. option:: ContainersWithPushBack
+
+ Semicolon-separated list of class names of custom containers that support
+ ``push_back``.
+
+.. option:: IgnoreImplicitConstructors
+
+ When non-zero, the check will ignore implicitly constructed arguments of
+ ``push_back``, e.g.
+
+ .. code-block:: c++
+
+ std::vector<std::string> v;
+ v.push_back("a"); // Ignored when IgnoreImplicitConstructors is ``1``.
+
+ Default is ``0``.
+
+.. option:: SmartPointers
+
+ Semicolon-separated list of class names of custom smart pointers.
+
+.. option:: TupleTypes
+
+ Semicolon-separated list of ``std::tuple``-like class names.
+
+.. option:: TupleMakeFunctions
+
+ Semicolon-separated list of ``std::make_tuple``-like function names. Those
+ function calls will be removed from ``push_back`` calls and turned into
+ ``emplace_back``.
+
+Example
+^^^^^^^
+
+.. code-block:: c++
+
+ std::vector<MyTuple<int, bool, char>> x;
+ x.push_back(MakeMyTuple(1, false, 'x'));
+
+transforms to:
+
+.. code-block:: c++
+
+ std::vector<MyTuple<int, bool, char>> x;
+ x.emplace_back(1, false, 'x');
+
+when :option:`TupleTypes` is set to ``MyTuple`` and :option:`TupleMakeFunctions`
+is set to ``MakeMyTuple``.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-equals-default.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-equals-default.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-equals-default.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-equals-default.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,36 @@
+.. title:: clang-tidy - modernize-use-equals-default
+
+modernize-use-equals-default
+============================
+
+This check replaces default bodies of special member functions with ``=
+default;``. The explicitly defaulted function declarations enable more
+opportunities in optimization, because the compiler might treat explicitly
+defaulted functions as trivial.
+
+.. code-block:: c++
+
+ struct A {
+ A() {}
+ ~A();
+ };
+ A::~A() {}
+
+ // becomes
+
+ struct A {
+ A() = default;
+ ~A();
+ };
+ A::~A() = default;
+
+.. note::
+ Move-constructor and move-assignment operator are not supported yet.
+
+Options
+-------
+
+.. option:: IgnoreMacros
+
+ If set to non-zero, the check will not give warnings inside macros. Default
+ is `1`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-equals-delete.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-equals-delete.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-equals-delete.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-equals-delete.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,30 @@
+.. title:: clang-tidy - modernize-use-equals-delete
+
+modernize-use-equals-delete
+===========================
+
+This check marks unimplemented private special member functions with ``= delete``.
+To avoid false-positives, this check only applies in a translation unit that has
+all other member functions implemented.
+
+.. code-block:: c++
+
+ struct A {
+ private:
+ A(const A&);
+ A& operator=(const A&);
+ };
+
+ // becomes
+
+ struct A {
+ private:
+ A(const A&) = delete;
+ A& operator=(const A&) = delete;
+ };
+
+
+.. option:: IgnoreMacros
+
+ If this option is set to non-zero (default is `1`), the check will not warn
+ about functions declared inside macros.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-nodiscard.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-nodiscard.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-nodiscard.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-nodiscard.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,82 @@
+.. title:: clang-tidy - modernize-use-nodiscard
+
+modernize-use-nodiscard
+=======================
+
+Adds ``[[nodiscard]]`` attributes (introduced in C++17) to member functions in
+order to highlight at compile time which return values should not be ignored.
+
+Member functions need to satisfy the following conditions to be considered by
+this check:
+
+ - no ``[[nodiscard]]``, ``[[noreturn]]``,
+ ``__attribute__((warn_unused_result))``,
+ ``[[clang::warn_unused_result]]`` nor ``[[gcc::warn_unused_result]]``
+ attribute,
+ - non-void return type,
+ - non-template return types,
+ - const member function,
+ - non-variadic functions,
+ - no non-const reference parameters,
+ - no pointer parameters,
+ - no template parameters,
+ - no template function parameters,
+ - not be a member of a class with mutable member variables,
+ - no Lambdas,
+ - no conversion functions.
+
+Such functions have no means of altering any state or passing values other than
+via the return type. Unless the member functions are altering state via some
+external call (e.g. I/O).
+
+Example
+-------
+
+.. code-block:: c++
+
+ bool empty() const;
+ bool empty(int i) const;
+
+transforms to:
+
+.. code-block:: c++
+
+ [[nodiscard] bool empty() const;
+ [[nodiscard] bool empty(int i) const;
+
+Options
+-------
+
+.. option:: ReplacementString
+
+ Specifies a macro to use instead of ``[[nodiscard]]``. This is useful when
+ maintaining source code that needs to compile with a pre-C++17 compiler.
+
+Example
+^^^^^^^
+
+.. code-block:: c++
+
+ bool empty() const;
+ bool empty(int i) const;
+
+transforms to:
+
+.. code-block:: c++
+
+ NO_DISCARD bool empty() const;
+ NO_DISCARD bool empty(int i) const;
+
+if the :option:`ReplacementString` option is set to `NO_DISCARD`.
+
+.. note::
+
+ If the :option:`ReplacementString` is not a C++ attribute, but instead a
+ macro, then that macro must be defined in scope or the fix-it will not be
+ applied.
+
+.. note::
+
+ For alternative ``__attribute__`` syntax options to mark functions as
+ ``[[nodiscard]]`` in non-c++17 source code.
+ See https://clang.llvm.org/docs/AttributeReference.html#nodiscard-warn-unused-result
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-noexcept.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-noexcept.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-noexcept.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-noexcept.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,90 @@
+.. title:: clang-tidy - modernize-use-noexcept
+
+modernize-use-noexcept
+======================
+
+This check replaces deprecated dynamic exception specifications with
+the appropriate noexcept specification (introduced in C++11). By
+default this check will replace ``throw()`` with ``noexcept``,
+and ``throw(<exception>[,...])`` or ``throw(...)`` with
+``noexcept(false)``.
+
+Example
+-------
+
+.. code-block:: c++
+
+ void foo() throw();
+ void bar() throw(int) {}
+
+transforms to:
+
+.. code-block:: c++
+
+ void foo() noexcept;
+ void bar() noexcept(false) {}
+
+Options
+-------
+
+.. option:: ReplacementString
+
+Users can use :option:`ReplacementString` to specify a macro to use
+instead of ``noexcept``. This is useful when maintaining source code
+that uses custom exception specification marking other than
+``noexcept``. Fix-it hints will only be generated for non-throwing
+specifications.
+
+Example
+^^^^^^^
+
+.. code-block:: c++
+
+ void bar() throw(int);
+ void foo() throw();
+
+transforms to:
+
+.. code-block:: c++
+
+ void bar() throw(int); // No fix-it generated.
+ void foo() NOEXCEPT;
+
+if the :option:`ReplacementString` option is set to `NOEXCEPT`.
+
+.. option:: UseNoexceptFalse
+
+Enabled by default, disabling will generate fix-it hints that remove
+throwing dynamic exception specs, e.g., ``throw(<something>)``,
+completely without providing a replacement text, except for
+destructors and delete operators that are ``noexcept(true)`` by
+default.
+
+Example
+^^^^^^^
+
+.. code-block:: c++
+
+ void foo() throw(int) {}
+
+ struct bar {
+ void foobar() throw(int);
+ void operator delete(void *ptr) throw(int);
+ void operator delete[](void *ptr) throw(int);
+ ~bar() throw(int);
+ }
+
+transforms to:
+
+.. code-block:: c++
+
+ void foo() {}
+
+ struct bar {
+ void foobar();
+ void operator delete(void *ptr) noexcept(false);
+ void operator delete[](void *ptr) noexcept(false);
+ ~bar() noexcept(false);
+ }
+
+if the :option:`UseNoexceptFalse` option is set to `0`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-nullptr.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-nullptr.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-nullptr.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-nullptr.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,67 @@
+.. title:: clang-tidy - modernize-use-nullptr
+
+modernize-use-nullptr
+=====================
+
+The check converts the usage of null pointer constants (eg. ``NULL``, ``0``)
+to use the new C++11 ``nullptr`` keyword.
+
+Example
+-------
+
+.. code-block:: c++
+
+ void assignment() {
+ char *a = NULL;
+ char *b = 0;
+ char c = 0;
+ }
+
+ int *ret_ptr() {
+ return 0;
+ }
+
+
+transforms to:
+
+.. code-block:: c++
+
+ void assignment() {
+ char *a = nullptr;
+ char *b = nullptr;
+ char c = 0;
+ }
+
+ int *ret_ptr() {
+ return nullptr;
+ }
+
+Options
+-------
+
+.. option:: NullMacros
+
+ Comma-separated list of macro names that will be transformed along with
+ ``NULL``. By default this check will only replace the ``NULL`` macro and will
+ skip any similar user-defined macros.
+
+Example
+^^^^^^^
+
+.. code-block:: c++
+
+ #define MY_NULL (void*)0
+ void assignment() {
+ void *p = MY_NULL;
+ }
+
+transforms to:
+
+.. code-block:: c++
+
+ #define MY_NULL NULL
+ void assignment() {
+ int *p = nullptr;
+ }
+
+if the :option:`NullMacros` option is set to ``MY_NULL``.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-override.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-override.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-override.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-override.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,7 @@
+.. title:: clang-tidy - modernize-use-override
+
+modernize-use-override
+======================
+
+
+Use C++11's ``override`` and remove ``virtual`` where applicable.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-transparent-functors.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-transparent-functors.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-transparent-functors.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-transparent-functors.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,39 @@
+.. title:: clang-tidy - modernize-use-transparent-functors
+
+modernize-use-transparent-functors
+==================================
+
+Prefer transparent functors to non-transparent ones. When using transparent
+functors, the type does not need to be repeated. The code is easier to read,
+maintain and less prone to errors. It is not possible to introduce unwanted
+conversions.
+
+.. code-block:: c++
+
+ // Non-transparent functor
+ std::map<int, std::string, std::greater<int>> s;
+
+ // Transparent functor.
+ std::map<int, std::string, std::greater<>> s;
+
+ // Non-transparent functor
+ using MyFunctor = std::less<MyType>;
+
+It is not always a safe transformation though. The following case will be
+untouched to preserve the semantics.
+
+.. code-block:: c++
+
+ // Non-transparent functor
+ std::map<const char *, std::string, std::greater<std::string>> s;
+
+Options
+-------
+
+.. option:: SafeMode
+
+ If the option is set to non-zero, the check will not diagnose cases where
+ using a transparent functor cannot be guaranteed to produce identical results
+ as the original code. The default value for this option is `0`.
+
+This check requires using C++14 or higher to run.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-uncaught-exceptions.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-uncaught-exceptions.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-uncaught-exceptions.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-uncaught-exceptions.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,64 @@
+.. title:: clang-tidy - modernize-use-uncaught-exceptions
+
+modernize-use-uncaught-exceptions
+====================================
+
+This check will warn on calls to ``std::uncaught_exception`` and replace them
+with calls to ``std::uncaught_exceptions``, since ``std::uncaught_exception``
+was deprecated in C++17.
+
+Below are a few examples of what kind of occurrences will be found and what
+they will be replaced with.
+
+.. code-block:: c++
+
+ #define MACRO1 std::uncaught_exception
+ #define MACRO2 std::uncaught_exception
+
+ int uncaught_exception() {
+ return 0;
+ }
+
+ int main() {
+ int res;
+
+ res = uncaught_exception();
+ // No warning, since it is not the deprecated function from namespace std
+
+ res = MACRO2();
+ // Warning, but will not be replaced
+
+ res = std::uncaught_exception();
+ // Warning and replaced
+
+ using std::uncaught_exception;
+ // Warning and replaced
+
+ res = uncaught_exception();
+ // Warning and replaced
+ }
+
+After applying the fixes the code will look like the following:
+
+.. code-block:: c++
+
+ #define MACRO1 std::uncaught_exception
+ #define MACRO2 std::uncaught_exception
+
+ int uncaught_exception() {
+ return 0;
+ }
+
+ int main() {
+ int res;
+
+ res = uncaught_exception();
+
+ res = MACRO2();
+
+ res = std::uncaught_exceptions();
+
+ using std::uncaught_exceptions;
+
+ res = uncaught_exceptions();
+ }
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-using.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-using.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-using.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/modernize-use-using.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,34 @@
+.. title:: clang-tidy - modernize-use-using
+
+modernize-use-using
+===================
+
+The check converts the usage of ``typedef`` with ``using`` keyword.
+
+Before:
+
+.. code-block:: c++
+
+ typedef int variable;
+
+ class Class{};
+ typedef void (Class::* MyPtrType)() const;
+
+After:
+
+.. code-block:: c++
+
+ using variable = int;
+
+ class Class{};
+ using MyPtrType = void (Class::*)() const;
+
+This check requires using C++11 or higher to run.
+
+Options
+-------
+
+.. option:: IgnoreMacros
+
+ If set to non-zero, the check will not give warnings inside macros. Default
+ is `1`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/mpi-buffer-deref.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/mpi-buffer-deref.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/mpi-buffer-deref.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/mpi-buffer-deref.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,26 @@
+.. title:: clang-tidy - mpi-buffer-deref
+
+mpi-buffer-deref
+================
+
+This check verifies if a buffer passed to an MPI (Message Passing Interface)
+function is sufficiently dereferenced. Buffers should be passed as a single
+pointer or array. As MPI function signatures specify ``void *`` for their buffer
+types, insufficiently dereferenced buffers can be passed, like for example as
+double pointers or multidimensional arrays, without a compiler warning emitted.
+
+Examples:
+
+.. code-block:: c++
+
+ // A double pointer is passed to the MPI function.
+ char *buf;
+ MPI_Send(&buf, 1, MPI_CHAR, 0, 0, MPI_COMM_WORLD);
+
+ // A multidimensional array is passed to the MPI function.
+ short buf[1][1];
+ MPI_Send(buf, 1, MPI_SHORT, 0, 0, MPI_COMM_WORLD);
+
+ // A pointer to an array is passed to the MPI function.
+ short *buf[1];
+ MPI_Send(buf, 1, MPI_SHORT, 0, 0, MPI_COMM_WORLD);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/mpi-type-mismatch.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/mpi-type-mismatch.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/mpi-type-mismatch.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/mpi-type-mismatch.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,21 @@
+.. title:: clang-tidy - mpi-type-mismatch
+
+mpi-type-mismatch
+=================
+
+This check verifies if buffer type and MPI (Message Passing Interface) datatype
+pairs match for used MPI functions. All MPI datatypes defined by the MPI
+standard (3.1) are verified by this check. User defined typedefs, custom MPI
+datatypes and null pointer constants are skipped, in the course of verification.
+
+Example:
+
+.. code-block:: c++
+
+ // In this case, the buffer type matches MPI datatype.
+ char buf;
+ MPI_Send(&buf, 1, MPI_CHAR, 0, 0, MPI_COMM_WORLD);
+
+ // In the following case, the buffer type does not match MPI datatype.
+ int buf;
+ MPI_Send(&buf, 1, MPI_CHAR, 0, 0, MPI_COMM_WORLD);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-avoid-nserror-init.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-avoid-nserror-init.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-avoid-nserror-init.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-avoid-nserror-init.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,13 @@
+.. title:: clang-tidy - objc-avoid-nserror-init
+
+objc-avoid-nserror-init
+=======================
+
+Finds improper initialization of ``NSError`` objects.
+
+According to Apple developer document, we should always use factory method
+``errorWithDomain:code:userInfo:`` to create new NSError objects instead
+of ``[NSError alloc] init]``. Otherwise it will lead to a warning message
+during runtime.
+
+The corresponding information about ``NSError`` creation: https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ErrorHandlingCocoa/CreateCustomizeNSError/CreateCustomizeNSError.html
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-avoid-spinlock.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-avoid-spinlock.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-avoid-spinlock.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-avoid-spinlock.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,15 @@
+.. title:: clang-tidy - objc-avoid-spinlock
+
+objc-avoid-spinlock
+===================
+
+Finds usages of ``OSSpinlock``, which is deprecated due to potential livelock
+problems.
+
+This check will detect following function invocations:
+
+- ``OSSpinlockLock``
+- ``OSSpinlockTry``
+- ``OSSpinlockUnlock``
+
+The corresponding information about the problem of ``OSSpinlock``: https://blog.postmates.com/why-spinlocks-are-bad-on-ios-b69fc5221058
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-forbidden-subclassing.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-forbidden-subclassing.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-forbidden-subclassing.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-forbidden-subclassing.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,28 @@
+.. title:: clang-tidy - objc-forbidden-subclassing
+
+objc-forbidden-subclassing
+==========================
+
+Finds Objective-C classes which are subclasses of classes which are not designed
+to be subclassed.
+
+By default, includes a list of Objective-C classes which are publicly documented
+as not supporting subclassing.
+
+.. note::
+
+ Instead of using this check, for code under your control, you should add
+ ``__attribute__((objc_subclassing_restricted))`` before your ``@interface``
+ declarations to ensure the compiler prevents others from subclassing your
+ Objective-C classes.
+ See https://clang.llvm.org/docs/AttributeReference.html#objc-subclassing-restricted
+
+Options
+-------
+
+.. option:: ForbiddenSuperClassNames
+
+ Semicolon-separated list of names of Objective-C classes which
+ do not support subclassing.
+
+ Defaults to `ABNewPersonViewController;ABPeoplePickerNavigationController;ABPersonViewController;ABUnknownPersonViewController;NSHashTable;NSMapTable;NSPointerArray;NSPointerFunctions;NSTimer;UIActionSheet;UIAlertView;UIImagePickerController;UITextInputMode;UIWebView`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-property-declaration.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-property-declaration.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-property-declaration.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/objc-property-declaration.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,54 @@
+.. title:: clang-tidy - objc-property-declaration
+
+objc-property-declaration
+=========================
+
+Finds property declarations in Objective-C files that do not follow the pattern
+of property names in Apple's programming guide. The property name should be
+in the format of Lower Camel Case.
+
+For code:
+
+.. code-block:: objc
+
+ @property(nonatomic, assign) int LowerCamelCase;
+
+The fix will be:
+
+.. code-block:: objc
+
+ @property(nonatomic, assign) int lowerCamelCase;
+
+The check will only fix 'CamelCase' to 'camelCase'. In some other cases we will
+only provide warning messages since the property name could be complicated.
+Users will need to come up with a proper name by their own.
+
+This check also accepts special acronyms as prefixes or suffixes. Such prefixes or suffixes
+will suppress the Lower Camel Case check according to the guide:
+https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingBasics.html#//apple_ref/doc/uid/20001281-1002931-BBCFHEAB
+
+For a full list of well-known acronyms:
+https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/APIAbbreviations.html#//apple_ref/doc/uid/20001285-BCIHCGAE
+
+The corresponding style rule: https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingIvarsAndTypes.html#//apple_ref/doc/uid/20001284-1001757
+
+The check will also accept property declared in category with a prefix of
+lowercase letters followed by a '_' to avoid naming conflict. For example:
+
+.. code-block:: objc
+
+ @property(nonatomic, assign) int abc_lowerCamelCase;
+
+The corresponding style rule: https://developer.apple.com/library/content/qa/qa1908/_index.html
+
+
+Options
+-------
+
+.. option:: Acronyms
+
+ This option is deprecated and ignored.
+
+.. option:: IncludeDefaultAcronyms
+
+ This option is deprecated and ignored.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-faster-string-find.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-faster-string-find.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-faster-string-find.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-faster-string-find.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,28 @@
+.. title:: clang-tidy - performance-faster-string-find
+
+performance-faster-string-find
+==============================
+
+Optimize calls to ``std::string::find()`` and friends when the needle passed is
+a single character string literal. The character literal overload is more
+efficient.
+
+Examples:
+
+.. code-block:: c++
+
+ str.find("A");
+
+ // becomes
+
+ str.find('A');
+
+Options
+-------
+
+.. option:: StringLikeClasses
+
+ Semicolon-separated list of names of string-like classes. By default only
+ ``std::basic_string`` is considered. The list of methods to consired is
+ fixed.
+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-for-range-copy.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-for-range-copy.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-for-range-copy.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-for-range-copy.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,34 @@
+.. title:: clang-tidy - performance-for-range-copy
+
+performance-for-range-copy
+==========================
+
+Finds C++11 for ranges where the loop variable is copied in each iteration but
+it would suffice to obtain it by const reference.
+
+The check is only applied to loop variables of types that are expensive to copy
+which means they are not trivially copyable or have a non-trivial copy
+constructor or destructor.
+
+To ensure that it is safe to replace the copy with a const reference the
+following heuristic is employed:
+
+1. The loop variable is const qualified.
+2. The loop variable is not const, but only const methods or operators are
+ invoked on it, or it is used as const reference or value argument in
+ constructors or function calls.
+
+Options
+-------
+
+.. option:: WarnOnAllAutoCopies
+
+ When non-zero, warns on any use of `auto` as the type of the range-based for
+ loop variable. Default is `0`.
+
+.. option:: AllowedTypes
+
+ A semicolon-separated list of names of types allowed to be copied in each
+ iteration. Regular expressions are accepted, e.g. `[Rr]ef(erence)?$` matches
+ every type with suffix `Ref`, `ref`, `Reference` and `reference`. The default
+ is empty.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-implicit-cast-in-loop.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-implicit-cast-in-loop.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-implicit-cast-in-loop.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-implicit-cast-in-loop.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,12 @@
+:orphan:
+
+.. title:: clang-tidy - performance-implicit-cast-in-loop
+.. meta::
+ :http-equiv=refresh: 5;URL=performance-implicit-conversion-in-loop.html
+
+performance-implicit-cast-in-loop
+=================================
+
+This check has been renamed to `performance-implicit-conversion-in-loop
+<performance-implicit-conversion-in-loop.html>`_.
+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-implicit-conversion-in-loop.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-implicit-conversion-in-loop.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-implicit-conversion-in-loop.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-implicit-conversion-in-loop.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,21 @@
+.. title:: clang-tidy - performance-implicit-conversion-in-loop
+
+performance-implicit-conversion-in-loop
+=======================================
+
+This warning appears in a range-based loop with a loop variable of const ref
+type where the type of the variable does not match the one returned by the
+iterator. This means that an implicit conversion happens, which can for example
+result in expensive deep copies.
+
+Example:
+
+.. code-block:: c++
+
+ map<int, vector<string>> my_map;
+ for (const pair<int, vector<string>>& p : my_map) {}
+ // The iterator type is in fact pair<const int, vector<string>>, which means
+ // that the compiler added a conversion, resulting in a copy of the vectors.
+
+The easiest solution is usually to use ``const auto&`` instead of writing the
+type manually.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-inefficient-algorithm.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-inefficient-algorithm.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-inefficient-algorithm.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-inefficient-algorithm.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,29 @@
+.. title:: clang-tidy - performance-inefficient-algorithm
+
+performance-inefficient-algorithm
+=================================
+
+
+Warns on inefficient use of STL algorithms on associative containers.
+
+Associative containers implements some of the algorithms as methods which
+should be preferred to the algorithms in the algorithm header. The methods
+can take advanatage of the order of the elements.
+
+.. code-block:: c++
+
+ std::set<int> s;
+ auto it = std::find(s.begin(), s.end(), 43);
+
+ // becomes
+
+ auto it = s.find(43);
+
+.. code-block:: c++
+
+ std::set<int> s;
+ auto c = std::count(s.begin(), s.end(), 43);
+
+ // becomes
+
+ auto c = s.count(43);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-inefficient-string-concatenation.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-inefficient-string-concatenation.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-inefficient-string-concatenation.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-inefficient-string-concatenation.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,59 @@
+.. title:: clang-tidy - performance-inefficient-string-concatenation
+
+performance-inefficient-string-concatenation
+============================================
+
+This check warns about the performance overhead arising from concatenating
+strings using the ``operator+``, for instance:
+
+.. code-block:: c++
+
+ std::string a("Foo"), b("Bar");
+ a = a + b;
+
+Instead of this structure you should use ``operator+=`` or ``std::string``'s
+(``std::basic_string``) class member function ``append()``. For instance:
+
+.. code-block:: c++
+
+ std::string a("Foo"), b("Baz");
+ for (int i = 0; i < 20000; ++i) {
+ a = a + "Bar" + b;
+ }
+
+Could be rewritten in a greatly more efficient way like:
+
+.. code-block:: c++
+
+ std::string a("Foo"), b("Baz");
+ for (int i = 0; i < 20000; ++i) {
+ a.append("Bar").append(b);
+ }
+
+And this can be rewritten too:
+
+.. code-block:: c++
+
+ void f(const std::string&) {}
+ std::string a("Foo"), b("Baz");
+ void g() {
+ f(a + "Bar" + b);
+ }
+
+In a slightly more efficient way like:
+
+.. code-block:: c++
+
+ void f(const std::string&) {}
+ std::string a("Foo"), b("Baz");
+ void g() {
+ f(std::string(a).append("Bar").append(b));
+ }
+
+Options
+-------
+
+.. option:: StrictMode
+
+ When zero, the check will only check the string usage in ``while``, ``for``
+ and ``for-range`` statements. Default is `0`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-inefficient-vector-operation.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-inefficient-vector-operation.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-inefficient-vector-operation.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-inefficient-vector-operation.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,49 @@
+.. title:: clang-tidy - performance-inefficient-vector-operation
+
+performance-inefficient-vector-operation
+========================================
+
+Finds possible inefficient ``std::vector`` operations (e.g. ``push_back``,
+``emplace_back``) that may cause unnecessary memory reallocations.
+
+Currently, the check only detects following kinds of loops with a single
+statement body:
+
+* Counter-based for loops start with 0:
+
+.. code-block:: c++
+
+ std::vector<int> v;
+ for (int i = 0; i < n; ++i) {
+ v.push_back(n);
+ // This will trigger the warning since the push_back may cause multiple
+ // memory reallocations in v. This can be avoid by inserting a 'reserve(n)'
+ // statement before the for statement.
+ }
+
+
+* For-range loops like ``for (range-declaration : range_expression)``, the type
+ of ``range_expression`` can be ``std::vector``, ``std::array``,
+ ``std::deque``, ``std::set``, ``std::unordered_set``, ``std::map``,
+ ``std::unordered_set``:
+
+.. code-block:: c++
+
+ std::vector<int> data;
+ std::vector<int> v;
+
+ for (auto element : data) {
+ v.push_back(element);
+ // This will trigger the warning since the 'push_back' may cause multiple
+ // memory reallocations in v. This can be avoid by inserting a
+ // 'reserve(data.size())' statement before the for statement.
+ }
+
+
+Options
+-------
+
+.. option:: VectorLikeClasses
+
+ Semicolon-separated list of names of vector-like classes. By default only
+ ``::std::vector`` is considered.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-move-const-arg.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-move-const-arg.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-move-const-arg.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-move-const-arg.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,37 @@
+.. title:: clang-tidy - performance-move-const-arg
+
+performance-move-const-arg
+==========================
+
+The check warns
+
+- if ``std::move()`` is called with a constant argument,
+
+- if ``std::move()`` is called with an argument of a trivially-copyable type,
+
+- if the result of ``std::move()`` is passed as a const reference argument.
+
+In all three cases, the check will suggest a fix that removes the
+``std::move()``.
+
+Here are examples of each of the three cases:
+
+.. code-block:: c++
+
+ const string s;
+ return std::move(s); // Warning: std::move of the const variable has no effect
+
+ int x;
+ return std::move(x); // Warning: std::move of the variable of a trivially-copyable type has no effect
+
+ void f(const string &s);
+ string s;
+ f(std::move(s)); // Warning: passing result of std::move as a const reference argument; no move will actually happen
+
+Options
+-------
+
+.. option:: CheckTriviallyCopyableMove
+
+ If non-zero, enables detection of trivially copyable types that do not
+ have a move constructor. Default is non-zero.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-move-constructor-init.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-move-constructor-init.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-move-constructor-init.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-move-constructor-init.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,18 @@
+.. title:: clang-tidy - performance-move-constructor-init
+
+performance-move-constructor-init
+=================================
+
+"cert-oop11-cpp" redirects here as an alias for this check.
+
+The check flags user-defined move constructors that have a ctor-initializer
+initializing a member or base class through a copy constructor instead of a
+move constructor.
+
+Options
+-------
+
+.. option:: IncludeStyle
+
+ A string specifying which include-style is used, `llvm` or `google`. Default
+ is `llvm`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-noexcept-move-constructor.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-noexcept-move-constructor.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-noexcept-move-constructor.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-noexcept-move-constructor.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,13 @@
+.. title:: clang-tidy - performance-noexcept-move-constructor
+
+performance-noexcept-move-constructor
+=====================================
+
+
+The check flags user-defined move constructors and assignment operators not
+marked with ``noexcept`` or marked with ``noexcept(expr)`` where ``expr``
+evaluates to ``false`` (but is not a ``false`` literal itself).
+
+Move constructors of all the types used with STL containers, for example,
+need to be declared ``noexcept``. Otherwise STL will choose copy constructors
+instead. The same is valid for move assignment operations.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-type-promotion-in-math-fn.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-type-promotion-in-math-fn.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-type-promotion-in-math-fn.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-type-promotion-in-math-fn.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,21 @@
+.. title:: clang-tidy - performance-type-promotion-in-math-fn
+
+performance-type-promotion-in-math-fn
+=====================================
+
+Finds calls to C math library functions (from ``math.h`` or, in C++, ``cmath``)
+with implicit ``float`` to ``double`` promotions.
+
+For example, warns on ``::sin(0.f)``, because this funciton's parameter is a
+double. You probably meant to call ``std::sin(0.f)`` (in C++), or ``sinf(0.f)``
+(in C).
+
+.. code-block:: c++
+
+ float a;
+ asin(a);
+
+ // becomes
+
+ float a;
+ std::asin(a);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-unnecessary-copy-initialization.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-unnecessary-copy-initialization.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-unnecessary-copy-initialization.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-unnecessary-copy-initialization.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,47 @@
+.. title:: clang-tidy - performance-unnecessary-copy-initialization
+
+performance-unnecessary-copy-initialization
+===========================================
+
+Finds local variable declarations that are initialized using the copy
+constructor of a non-trivially-copyable type but it would suffice to obtain a
+const reference.
+
+The check is only applied if it is safe to replace the copy by a const
+reference. This is the case when the variable is const qualified or when it is
+only used as a const, i.e. only const methods or operators are invoked on it, or
+it is used as const reference or value argument in constructors or function
+calls.
+
+Example:
+
+.. code-block:: c++
+
+ const string& constReference();
+ void Function() {
+ // The warning will suggest making this a const reference.
+ const string UnnecessaryCopy = constReference();
+ }
+
+ struct Foo {
+ const string& name() const;
+ };
+ void Function(const Foo& foo) {
+ // The warning will suggest making this a const reference.
+ string UnnecessaryCopy1 = foo.name();
+ UnnecessaryCopy1.find("bar");
+
+ // The warning will suggest making this a const reference.
+ string UnnecessaryCopy2 = UnnecessaryCopy1;
+ UnnecessaryCopy2.find("bar");
+ }
+
+Options
+-------
+
+.. option:: AllowedTypes
+
+ A semicolon-separated list of names of types allowed to be initialized by
+ copying. Regular expressions are accepted, e.g. `[Rr]ef(erence)?$` matches
+ every type with suffix `Ref`, `ref`, `Reference` and `reference`. The
+ default is empty.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-unnecessary-value-param.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-unnecessary-value-param.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-unnecessary-value-param.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/performance-unnecessary-value-param.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,69 @@
+.. title:: clang-tidy - performance-unnecessary-value-param
+
+performance-unnecessary-value-param
+===================================
+
+Flags value parameter declarations of expensive to copy types that are copied
+for each invocation but it would suffice to pass them by const reference.
+
+The check is only applied to parameters of types that are expensive to copy
+which means they are not trivially copyable or have a non-trivial copy
+constructor or destructor.
+
+To ensure that it is safe to replace the value parameter with a const reference
+the following heuristic is employed:
+
+1. the parameter is const qualified;
+2. the parameter is not const, but only const methods or operators are invoked
+ on it, or it is used as const reference or value argument in constructors or
+ function calls.
+
+Example:
+
+.. code-block:: c++
+
+ void f(const string Value) {
+ // The warning will suggest making Value a reference.
+ }
+
+ void g(ExpensiveToCopy Value) {
+ // The warning will suggest making Value a const reference.
+ Value.ConstMethd();
+ ExpensiveToCopy Copy(Value);
+ }
+
+If the parameter is not const, only copied or assigned once and has a
+non-trivial move-constructor or move-assignment operator respectively the check
+will suggest to move it.
+
+Example:
+
+.. code-block:: c++
+
+ void setValue(string Value) {
+ Field = Value;
+ }
+
+Will become:
+
+.. code-block:: c++
+
+ #include <utility>
+
+ void setValue(string Value) {
+ Field = std::move(Value);
+ }
+
+Options
+-------
+
+.. option:: IncludeStyle
+
+ A string specifying which include-style is used, `llvm` or `google`. Default
+ is `llvm`.
+
+.. option:: AllowedTypes
+
+ A semicolon-separated list of names of types allowed to be passed by value.
+ Regular expressions are accepted, e.g. `[Rr]ef(erence)?$` matches every type
+ with suffix `Ref`, `ref`, `Reference` and `reference`. The default is empty.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/portability-simd-intrinsics.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/portability-simd-intrinsics.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/portability-simd-intrinsics.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/portability-simd-intrinsics.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,49 @@
+.. title:: clang-tidy - portability-simd-intrinsics
+
+portability-simd-intrinsics
+===========================
+
+Finds SIMD intrinsics calls and suggests ``std::experimental::simd`` (`P0214`_)
+alternatives.
+
+If the option ``Suggest`` is set to non-zero, for
+
+.. code-block:: c++
+
+ _mm_add_epi32(a, b); // x86
+ vec_add(a, b); // Power
+
+the check suggests an alternative: ``operator+`` on ``std::experimental::simd``
+objects.
+
+Otherwise, it just complains the intrinsics are non-portable (and there are
+`P0214`_ alternatives).
+
+Many architectures provide SIMD operations (e.g. x86 SSE/AVX, Power AltiVec/VSX,
+ARM NEON). It is common that SIMD code implementing the same algorithm, is
+written in multiple target-dispatching pieces to optimize for different
+architectures or micro-architectures.
+
+The C++ standard proposal `P0214`_ and its extensions cover many common SIMD
+operations. By migrating from target-dependent intrinsics to `P0214`_
+operations, the SIMD code can be simplified and pieces for different targets can
+be unified.
+
+Refer to `P0214`_ for introduction and motivation for the data-parallel standard
+library.
+
+Options
+-------
+
+.. option:: Suggest
+
+ If this option is set to non-zero (default is `0`), the check will suggest
+ `P0214`_ alternatives, otherwise it only points out the intrinsic function is
+ non-portable.
+
+.. option:: Std
+
+ The namespace used to suggest `P0214`_ alternatives. If not specified, `std::`
+ for `-std=c++2a` and `std::experimental::` for `-std=c++11`.
+
+.. _P0214: http://wg21.link/p0214
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-avoid-const-params-in-decls.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-avoid-const-params-in-decls.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-avoid-const-params-in-decls.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-avoid-const-params-in-decls.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,17 @@
+.. title:: clang-tidy - readability-avoid-const-params-in-decls
+
+readability-avoid-const-params-in-decls
+=======================================
+
+Checks whether a function declaration has parameters that are top level
+``const``.
+
+``const`` values in declarations do not affect the signature of a function, so
+they should not be put there.
+
+Examples:
+
+.. code-block:: c++
+
+ void f(const string); // Bad: const is top level.
+ void f(const string&); // Good: const is not top level.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-braces-around-statements.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-braces-around-statements.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-braces-around-statements.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-braces-around-statements.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,38 @@
+.. title:: clang-tidy - readability-braces-around-statements
+
+readability-braces-around-statements
+====================================
+
+`google-readability-braces-around-statements` redirects here as an alias for
+this check.
+
+Checks that bodies of ``if`` statements and loops (``for``, ``do while``, and
+``while``) are inside braces.
+
+Before:
+
+.. code-block:: c++
+
+ if (condition)
+ statement;
+
+After:
+
+.. code-block:: c++
+
+ if (condition) {
+ statement;
+ }
+
+Options
+-------
+
+.. option:: ShortStatementLines
+
+ Defines the minimal number of lines that the statement should have in order
+ to trigger this check.
+
+ The number of lines is counted from the end of condition or initial keyword
+ (``do``/``else``) until the last line of the inner statement. Default value
+ `0` means that braces will be added to all statements (not having them
+ already).
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-const-return-type.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-const-return-type.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-const-return-type.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-const-return-type.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,26 @@
+.. title:: clang-tidy - readability-const-return-type
+
+readability-const-return-type
+=============================
+
+Checks for functions with a ``const``-qualified return type and recommends
+removal of the ``const`` keyword. Such use of `const` is usually superfluous,
+and can prevent valuable compiler optimizations. Does not (yet) fix trailing
+return types.
+
+Examples:
+
+.. code-block:: c++
+
+ const int foo();
+ const Clazz foo();
+ Clazz *const foo();
+
+Note that this applies strictly to top-level qualification, which excludes
+pointers or references to const values. For example, these are fine:
+
+.. code-block:: c++
+
+ const int* foo();
+ const int& foo();
+ const Clazz* foo();
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-container-size-empty.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-container-size-empty.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-container-size-empty.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-container-size-empty.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,26 @@
+.. title:: clang-tidy - readability-container-size-empty
+
+readability-container-size-empty
+================================
+
+
+Checks whether a call to the ``size()`` method can be replaced with a call to
+``empty()``.
+
+The emptiness of a container should be checked using the ``empty()`` method
+instead of the ``size()`` method. It is not guaranteed that ``size()`` is a
+constant-time function, and it is generally more efficient and also shows
+clearer intent to use ``empty()``. Furthermore some containers may implement
+the ``empty()`` method but not implement the ``size()`` method. Using
+``empty()`` whenever possible makes it easier to switch to another container in
+the future.
+
+The check issues warning if a container has ``size()`` and ``empty()`` methods
+matching following signatures:
+
+.. code-block:: c++
+
+ size_type size() const;
+ bool empty() const;
+
+`size_type` can be any kind of integer type.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-delete-null-pointer.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-delete-null-pointer.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-delete-null-pointer.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-delete-null-pointer.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,13 @@
+.. title:: clang-tidy - readability-delete-null-pointer
+
+readability-delete-null-pointer
+===============================
+
+Checks the ``if`` statements where a pointer's existence is checked and then deletes the pointer.
+The check is unnecessary as deleting a null pointer has no effect.
+
+.. code:: c++
+
+ int *p;
+ if (p)
+ delete p;
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-deleted-default.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-deleted-default.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-deleted-default.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-deleted-default.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,22 @@
+.. title:: clang-tidy - readability-deleted-default
+
+readability-deleted-default
+===========================
+
+Checks that constructors and assignment operators marked as ``= default`` are
+not actually deleted by the compiler.
+
+.. code-block:: c++
+
+ class Example {
+ public:
+ // This constructor is deleted because I is missing a default value.
+ Example() = default;
+ // This is fine.
+ Example(const Example& Other) = default;
+ // This operator is deleted because I cannot be assigned (it is const).
+ Example& operator=(const Example& Other) = default;
+
+ private:
+ const int I;
+ };
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-else-after-return.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-else-after-return.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-else-after-return.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-else-after-return.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,64 @@
+.. title:: clang-tidy - readability-else-after-return
+
+readability-else-after-return
+=============================
+
+`LLVM Coding Standards <http://llvm.org/docs/CodingStandards.html>`_ advises to
+reduce indentation where possible and where it makes understanding code easier.
+Early exit is one of the suggested enforcements of that. Please do not use
+``else`` or ``else if`` after something that interrupts control flow - like
+``return``, ``break``, ``continue``, ``throw``.
+
+The following piece of code illustrates how the check works. This piece of code:
+
+.. code-block:: c++
+
+ void foo(int Value) {
+ int Local = 0;
+ for (int i = 0; i < 42; i++) {
+ if (Value == 1) {
+ return;
+ } else {
+ Local++;
+ }
+
+ if (Value == 2)
+ continue;
+ else
+ Local++;
+
+ if (Value == 3) {
+ throw 42;
+ } else {
+ Local++;
+ }
+ }
+ }
+
+
+Would be transformed into:
+
+.. code-block:: c++
+
+ void foo(int Value) {
+ int Local = 0;
+ for (int i = 0; i < 42; i++) {
+ if (Value == 1) {
+ return;
+ }
+ Local++;
+
+ if (Value == 2)
+ continue;
+ Local++;
+
+ if (Value == 3) {
+ throw 42;
+ }
+ Local++;
+ }
+ }
+
+
+This check helps to enforce this `LLVM Coding Standards recommendation
+<http://llvm.org/docs/CodingStandards.html#don-t-use-else-after-a-return>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-function-size.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-function-size.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-function-size.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-function-size.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,45 @@
+.. title:: clang-tidy - readability-function-size
+
+readability-function-size
+=========================
+
+`google-readability-function-size` redirects here as an alias for this check.
+
+Checks for large functions based on various metrics.
+
+Options
+-------
+
+.. option:: LineThreshold
+
+ Flag functions exceeding this number of lines. The default is `-1` (ignore
+ the number of lines).
+
+.. option:: StatementThreshold
+
+ Flag functions exceeding this number of statements. This may differ
+ significantly from the number of lines for macro-heavy code. The default is
+ `800`.
+
+.. option:: BranchThreshold
+
+ Flag functions exceeding this number of control statements. The default is
+ `-1` (ignore the number of branches).
+
+.. option:: ParameterThreshold
+
+ Flag functions that exceed a specified number of parameters. The default
+ is `-1` (ignore the number of parameters).
+
+.. option:: NestingThreshold
+
+ Flag compound statements which create next nesting level after
+ `NestingThreshold`. This may differ significantly from the expected value
+ for macro-heavy code. The default is `-1` (ignore the nesting level).
+
+.. option:: VariableThreshold
+
+ Flag functions exceeding this number of variables declared in the body.
+ The default is `-1` (ignore the number of variables).
+ Please note that function parameters and variables declared in lambdas,
+ GNU Statement Expressions, and nested class inline functions are not counted.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-identifier-naming.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-identifier-naming.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-identifier-naming.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-identifier-naming.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,1923 @@
+.. title:: clang-tidy - readability-identifier-naming
+
+readability-identifier-naming
+=============================
+
+Checks for identifiers naming style mismatch.
+
+This check will try to enforce coding guidelines on the identifiers naming. It
+supports one of the following casing types and tries to convert from one to
+another if a mismatch is detected
+
+Casing types inclde:
+
+ - ``lower_case``,
+ - ``UPPER_CASE``,
+ - ``camelBack``,
+ - ``CamelCase``,
+ - ``camel_Snake_Back``,
+ - ``Camel_Snake_Case``,
+ - ``aNy_CasE``.
+
+It also supports a fixed prefix and suffix that will be prepended or appended
+to the identifiers, regardless of the casing.
+
+Many configuration options are available, in order to be able to create
+different rules for different kinds of identifiers. In general, the rules are
+falling back to a more generic rule if the specific case is not configured.
+
+Options
+-------
+
+The following options are describe below:
+
+ - :option:`AbstractClassCase`, :option:`AbstractClassPrefix`, :option:`AbstractClassSuffix`
+ - :option:`ClassCase`, :option:`ClassPrefix`, :option:`ClassSuffix`
+ - :option:`ClassConstantCase`, :option:`ClassConstantPrefix`, :option:`ClassConstantSuffix`
+ - :option:`ClassMemberCase`, :option:`ClassMemberPrefix`, :option:`ClassMemberSuffix`
+ - :option:`ClassMethodCase`, :option:`ClassMethodPrefix`, :option:`ClassMethodSuffix`
+ - :option:`ConstantCase`, :option:`ConstantPrefix`, :option:`ConstantSuffix`
+ - :option:`ConstantMemberCase`, :option:`ConstantMemberPrefix`, :option:`ConstantMemberSuffix`
+ - :option:`ConstantParameterCase`, :option:`ConstantParameterPrefix`, :option:`ConstantParameterSuffix`
+ - :option:`ConstantPointerParameterCase`, :option:`ConstantPointerParameterPrefix`, :option:`ConstantPointerParameterSuffix`
+ - :option:`ConstexprFunctionCase`, :option:`ConstexprFunctionPrefix`, :option:`ConstexprFunctionSuffix`
+ - :option:`ConstexprMethodCase`, :option:`ConstexprMethodPrefix`, :option:`ConstexprMethodSuffix`
+ - :option:`ConstexprVariableCase`, :option:`ConstexprVariablePrefix`, :option:`ConstexprVariableSuffix`
+ - :option:`EnumCase`, :option:`EnumPrefix`, :option:`EnumSuffix`
+ - :option:`EnumConstantCase`, :option:`EnumConstantPrefix`, :option:`EnumConstantSuffix`
+ - :option:`FunctionCase`, :option:`FunctionPrefix`, :option:`FunctionSuffix`
+ - :option:`GlobalConstantCase`, :option:`GlobalConstantPrefix`, :option:`GlobalConstantSuffix`
+ - :option:`GlobalConstantPointerCase`, :option:`GlobalConstantPointerPrefix`, :option:`GlobalConstantPointerSuffix`
+ - :option:`GlobalFunctionCase`, :option:`GlobalFunctionPrefix`, :option:`GlobalFunctionSuffix`
+ - :option:`GlobalPointerCase`, :option:`GlobalPointerPrefix`, :option:`GlobalPointerSuffix`
+ - :option:`GlobalVariableCase`, :option:`GlobalVariablePrefix`, :option:`GlobalVariableSuffix`
+ - :option:`InlineNamespaceCase`, :option:`InlineNamespacePrefix`, :option:`InlineNamespaceSuffix`
+ - :option:`LocalConstantCase`, :option:`LocalConstantPrefix`, :option:`LocalConstantSuffix`
+ - :option:`LocalConstantPointerCase`, :option:`LocalConstantPointerPrefix`, :option:`LocalConstantPointerSuffix`
+ - :option:`LocalPointerCase`, :option:`LocalPointerPrefix`, :option:`LocalPointerSuffix`
+ - :option:`LocalVariableCase`, :option:`LocalVariablePrefix`, :option:`LocalVariableSuffix`
+ - :option:`MemberCase`, :option:`MemberPrefix`, :option:`MemberSuffix`
+ - :option:`MethodCase`, :option:`MethodPrefix`, :option:`MethodSuffix`
+ - :option:`NamespaceCase`, :option:`NamespacePrefix`, :option:`NamespaceSuffix`
+ - :option:`ParameterCase`, :option:`ParameterPrefix`, :option:`ParameterSuffix`
+ - :option:`ParameterPackCase`, :option:`ParameterPackPrefix`, :option:`ParameterPackSuffix`
+ - :option:`PointerParameterCase`, :option:`PointerParameterPrefix`, :option:`PointerParameterSuffix`
+ - :option:`PrivateMemberCase`, :option:`PrivateMemberPrefix`, :option:`PrivateMemberSuffix`
+ - :option:`PrivateMethodCase`, :option:`PrivateMethodPrefix`, :option:`PrivateMethodSuffix`
+ - :option:`ProtectedMemberCase`, :option:`ProtectedMemberPrefix`, :option:`ProtectedMemberSuffix`
+ - :option:`ProtectedMethodCase`, :option:`ProtectedMethodPrefix`, :option:`ProtectedMethodSuffix`
+ - :option:`PublicMemberCase`, :option:`PublicMemberPrefix`, :option:`PublicMemberSuffix`
+ - :option:`PublicMethodCase`, :option:`PublicMethodPrefix`, :option:`PublicMethodSuffix`
+ - :option:`StaticConstantCase`, :option:`StaticConstantPrefix`, :option:`StaticConstantSuffix`
+ - :option:`StaticVariableCase`, :option:`StaticVariablePrefix`, :option:`StaticVariableSuffix`
+ - :option:`StructCase`, :option:`StructPrefix`, :option:`StructSuffix`
+ - :option:`TemplateParameterCase`, :option:`TemplateParameterPrefix`, :option:`TemplateParameterSuffix`
+ - :option:`TemplateTemplateParameterCase`, :option:`TemplateTemplateParameterPrefix`, :option:`TemplateTemplateParameterSuffix`
+ - :option:`TypeAliasCase`, :option:`TypeAliasPrefix`, :option:`TypeAliasSuffix`
+ - :option:`TypedefCase`, :option:`TypedefPrefix`, :option:`TypedefSuffix`
+ - :option:`TypeTemplateParameterCase`, :option:`TypeTemplateParameterPrefix`, :option:`TypeTemplateParameterSuffix`
+ - :option:`UnionCase`, :option:`UnionPrefix`, :option:`UnionSuffix`
+ - :option:`ValueTemplateParameterCase`, :option:`ValueTemplateParameterPrefix`, :option:`ValueTemplateParameterSuffix`
+ - :option:`VariableCase`, :option:`VariablePrefix`, :option:`VariableSuffix`
+ - :option:`VirtualMethodCase`, :option:`VirtualMethodPrefix`, :option:`VirtualMethodSuffix`
+
+.. option:: AbstractClassCase
+
+ When defined, the check will ensure abstract class names conform to the
+ selected casing.
+
+.. option:: AbstractClassPrefix
+
+ When defined, the check will ensure abstract class names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: AbstractClassSuffix
+
+ When defined, the check will ensure abstract class names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - AbstractClassCase of ``lower_case``
+ - AbstractClassPrefix of ``pre_``
+ - AbstractClassSuffix of ``_post``
+
+Identifies and/or transforms abstract class names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class ABSTRACT_CLASS {
+ public:
+ ABSTRACT_CLASS();
+ };
+
+After:
+
+.. code-block:: c++
+
+ class pre_abstract_class_post {
+ public:
+ pre_abstract_class_post();
+ };
+
+.. option:: ClassCase
+
+ When defined, the check will ensure class names conform to the
+ selected casing.
+
+.. option:: ClassPrefix
+
+ When defined, the check will ensure class names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ClassSuffix
+
+ When defined, the check will ensure class names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ClassCase of ``lower_case``
+ - ClassPrefix of ``pre_``
+ - ClassSuffix of ``_post``
+
+Identifies and/or transforms class names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class FOO {
+ public:
+ FOO();
+ ~FOO();
+ };
+
+After:
+
+.. code-block:: c++
+
+ class pre_foo_post {
+ public:
+ pre_foo_post();
+ ~pre_foo_post();
+ };
+
+.. option:: ClassConstantCase
+
+ When defined, the check will ensure class constant names conform to the
+ selected casing.
+
+.. option:: ClassConstantPrefix
+
+ When defined, the check will ensure class constant names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ClassConstantSuffix
+
+ When defined, the check will ensure class constant names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ClassConstantCase of ``lower_case``
+ - ClassConstantPrefix of ``pre_``
+ - ClassConstantSuffix of ``_post``
+
+Identifies and/or transforms class constant names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class FOO {
+ public:
+ static const int CLASS_CONSTANT;
+ };
+
+After:
+
+.. code-block:: c++
+
+ class FOO {
+ public:
+ static const int pre_class_constant_post;
+ };
+
+.. option:: ClassMemberCase
+
+ When defined, the check will ensure class member names conform to the
+ selected casing.
+
+.. option:: ClassMemberPrefix
+
+ When defined, the check will ensure class member names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ClassMemberSuffix
+
+ When defined, the check will ensure class member names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ClassMemberCase of ``lower_case``
+ - ClassMemberPrefix of ``pre_``
+ - ClassMemberSuffix of ``_post``
+
+Identifies and/or transforms class member names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class FOO {
+ public:
+ static int CLASS_CONSTANT;
+ };
+
+After:
+
+.. code-block:: c++
+
+ class FOO {
+ public:
+ static int pre_class_constant_post;
+ };
+
+.. option:: ClassMethodCase
+
+ When defined, the check will ensure class method names conform to the
+ selected casing.
+
+.. option:: ClassMethodPrefix
+
+ When defined, the check will ensure class method names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ClassMethodSuffix
+
+ When defined, the check will ensure class method names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ClassMethodCase of ``lower_case``
+ - ClassMethodPrefix of ``pre_``
+ - ClassMethodSuffix of ``_post``
+
+Identifies and/or transforms class method names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class FOO {
+ public:
+ int CLASS_MEMBER();
+ };
+
+After:
+
+.. code-block:: c++
+
+ class FOO {
+ public:
+ int pre_class_member_post();
+ };
+
+.. option:: ConstantCase
+
+ When defined, the check will ensure constant names conform to the
+ selected casing.
+
+.. option:: ConstantPrefix
+
+ When defined, the check will ensure constant names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ConstantSuffix
+
+ When defined, the check will ensure constant names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ConstantCase of ``lower_case``
+ - ConstantPrefix of ``pre_``
+ - ConstantSuffix of ``_post``
+
+Identifies and/or transforms constant names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ void function() { unsigned const MyConst_array[] = {1, 2, 3}; }
+
+After:
+
+.. code-block:: c++
+
+ void function() { unsigned const pre_myconst_array_post[] = {1, 2, 3}; }
+
+.. option:: ConstantMemberCase
+
+ When defined, the check will ensure constant member names conform to the
+ selected casing.
+
+.. option:: ConstantMemberPrefix
+
+ When defined, the check will ensure constant member names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ConstantMemberSuffix
+
+ When defined, the check will ensure constant member names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ConstantMemberCase of ``lower_case``
+ - ConstantMemberPrefix of ``pre_``
+ - ConstantMemberSuffix of ``_post``
+
+Identifies and/or transforms constant member names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class Foo {
+ char const MY_ConstMember_string[4] = "123";
+ }
+
+After:
+
+.. code-block:: c++
+
+ class Foo {
+ char const pre_my_constmember_string_post[4] = "123";
+ }
+
+.. option:: ConstantParameterCase
+
+ When defined, the check will ensure constant parameter names conform to the
+ selected casing.
+
+.. option:: ConstantParameterPrefix
+
+ When defined, the check will ensure constant parameter names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ConstantParameterSuffix
+
+ When defined, the check will ensure constant parameter names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ConstantParameterCase of ``lower_case``
+ - ConstantParameterPrefix of ``pre_``
+ - ConstantParameterSuffix of ``_post``
+
+Identifies and/or transforms constant parameter names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ void GLOBAL_FUNCTION(int PARAMETER_1, int const CONST_parameter);
+
+After:
+
+.. code-block:: c++
+
+ void GLOBAL_FUNCTION(int PARAMETER_1, int const pre_const_parameter_post);
+
+.. option:: ConstantPointerParameterCase
+
+ When defined, the check will ensure constant pointer parameter names conform to the
+ selected casing.
+
+.. option:: ConstantPointerParameterPrefix
+
+ When defined, the check will ensure constant pointer parameter names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ConstantPointerParameterSuffix
+
+ When defined, the check will ensure constant pointer parameter names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ConstantPointerParameterCase of ``lower_case``
+ - ConstantPointerParameterPrefix of ``pre_``
+ - ConstantPointerParameterSuffix of ``_post``
+
+Identifies and/or transforms constant pointer parameter names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ void GLOBAL_FUNCTION(int const *CONST_parameter);
+
+After:
+
+.. code-block:: c++
+
+ void GLOBAL_FUNCTION(int const *pre_const_parameter_post);
+
+.. option:: ConstexprFunctionCase
+
+ When defined, the check will ensure constexpr function names conform to the
+ selected casing.
+
+.. option:: ConstexprFunctionPrefix
+
+ When defined, the check will ensure constexpr function names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ConstexprFunctionSuffix
+
+ When defined, the check will ensure constexpr function names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ConstexprFunctionCase of ``lower_case``
+ - ConstexprFunctionPrefix of ``pre_``
+ - ConstexprFunctionSuffix of ``_post``
+
+Identifies and/or transforms constexpr function names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ constexpr int CE_function() { return 3; }
+
+After:
+
+.. code-block:: c++
+
+ constexpr int pre_ce_function_post() { return 3; }
+
+.. option:: ConstexprMethodCase
+
+ When defined, the check will ensure constexpr method names conform to the
+ selected casing.
+
+.. option:: ConstexprMethodPrefix
+
+ When defined, the check will ensure constexpr method names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ConstexprMethodSuffix
+
+ When defined, the check will ensure constexpr method names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ConstexprMethodCase of ``lower_case``
+ - ConstexprMethodPrefix of ``pre_``
+ - ConstexprMethodSuffix of ``_post``
+
+Identifies and/or transforms constexpr method names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class Foo {
+ public:
+ constexpr int CST_expr_Method() { return 2; }
+ }
+
+After:
+
+.. code-block:: c++
+
+ class Foo {
+ public:
+ constexpr int pre_cst_expr_method_post() { return 2; }
+ }
+
+.. option:: ConstexprVariableCase
+
+ When defined, the check will ensure constexpr variable names conform to the
+ selected casing.
+
+.. option:: ConstexprVariablePrefix
+
+ When defined, the check will ensure constexpr variable names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ConstexprVariableSuffix
+
+ When defined, the check will ensure constexpr variable names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ConstexprVariableCase of ``lower_case``
+ - ConstexprVariablePrefix of ``pre_``
+ - ConstexprVariableSuffix of ``_post``
+
+Identifies and/or transforms constexpr variable names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ constexpr int ConstExpr_variable = MyConstant;
+
+After:
+
+.. code-block:: c++
+
+ constexpr int pre_constexpr_variable_post = MyConstant;
+
+.. option:: EnumCase
+
+ When defined, the check will ensure enumeration names conform to the
+ selected casing.
+
+.. option:: EnumPrefix
+
+ When defined, the check will ensure enumeration names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: EnumSuffix
+
+ When defined, the check will ensure enumeration names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - EnumCase of ``lower_case``
+ - EnumPrefix of ``pre_``
+ - EnumSuffix of ``_post``
+
+Identifies and/or transforms enumeration names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ enum FOO { One, Two, Three };
+
+After:
+
+.. code-block:: c++
+
+ enum pre_foo_post { One, Two, Three };
+
+.. option:: EnumConstantCase
+
+ When defined, the check will ensure enumeration constant names conform to the
+ selected casing.
+
+.. option:: EnumConstantPrefix
+
+ When defined, the check will ensure enumeration constant names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: EnumConstantSuffix
+
+ When defined, the check will ensure enumeration constant names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - EnumConstantCase of ``lower_case``
+ - EnumConstantPrefix of ``pre_``
+ - EnumConstantSuffix of ``_post``
+
+Identifies and/or transforms enumeration constant names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ enum FOO { One, Two, Three };
+
+After:
+
+.. code-block:: c++
+
+ enum FOO { pre_One_post, pre_Two_post, pre_Three_post };
+
+.. option:: FunctionCase
+
+ When defined, the check will ensure function names conform to the
+ selected casing.
+
+.. option:: FunctionPrefix
+
+ When defined, the check will ensure function names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: FunctionSuffix
+
+ When defined, the check will ensure function names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - FunctionCase of ``lower_case``
+ - FunctionPrefix of ``pre_``
+ - FunctionSuffix of ``_post``
+
+Identifies and/or transforms function names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ char MY_Function_string();
+
+After:
+
+.. code-block:: c++
+
+ char pre_my_function_string_post();
+
+.. option:: GlobalConstantCase
+
+ When defined, the check will ensure global constant names conform to the
+ selected casing.
+
+.. option:: GlobalConstantPrefix
+
+ When defined, the check will ensure global constant names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: GlobalConstantSuffix
+
+ When defined, the check will ensure global constant names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - GlobalConstantCase of ``lower_case``
+ - GlobalConstantPrefix of ``pre_``
+ - GlobalConstantSuffix of ``_post``
+
+Identifies and/or transforms global constant names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ unsigned const MyConstGlobal_array[] = {1, 2, 3};
+
+After:
+
+.. code-block:: c++
+
+ unsigned const pre_myconstglobal_array_post[] = {1, 2, 3};
+
+.. option:: GlobalConstantPointerCase
+
+ When defined, the check will ensure global constant pointer names conform to the
+ selected casing.
+
+.. option:: GlobalConstantPointerPrefix
+
+ When defined, the check will ensure global constant pointer names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: GlobalConstantPointerSuffix
+
+ When defined, the check will ensure global constant pointer names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - GlobalConstantPointerCase of ``lower_case``
+ - GlobalConstantPointerPrefix of ``pre_``
+ - GlobalConstantPointerSuffix of ``_post``
+
+Identifies and/or transforms global constant pointer names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ int *const MyConstantGlobalPointer = nullptr;
+
+After:
+
+.. code-block:: c++
+
+ int *const pre_myconstantglobalpointer_post = nullptr;
+
+.. option:: GlobalFunctionCase
+
+ When defined, the check will ensure global function names conform to the
+ selected casing.
+
+.. option:: GlobalFunctionPrefix
+
+ When defined, the check will ensure global function names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: GlobalFunctionSuffix
+
+ When defined, the check will ensure global function names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - GlobalFunctionCase of ``lower_case``
+ - GlobalFunctionPrefix of ``pre_``
+ - GlobalFunctionSuffix of ``_post``
+
+Identifies and/or transforms global function names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ void GLOBAL_FUNCTION(int PARAMETER_1, int const CONST_parameter);
+
+After:
+
+.. code-block:: c++
+
+ void pre_global_function_post(int PARAMETER_1, int const CONST_parameter);
+
+.. option:: GlobalPointerCase
+
+ When defined, the check will ensure global pointer names conform to the
+ selected casing.
+
+.. option:: GlobalPointerPrefix
+
+ When defined, the check will ensure global pointer names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: GlobalPointerSuffix
+
+ When defined, the check will ensure global pointer names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - GlobalPointerCase of ``lower_case``
+ - GlobalPointerPrefix of ``pre_``
+ - GlobalPointerSuffix of ``_post``
+
+Identifies and/or transforms global pointer names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ int *GLOBAL3;
+
+After:
+
+.. code-block:: c++
+
+ int *pre_global3_post;
+
+.. option:: GlobalVariableCase
+
+ When defined, the check will ensure global variable names conform to the
+ selected casing.
+
+.. option:: GlobalVariablePrefix
+
+ When defined, the check will ensure global variable names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: GlobalVariableSuffix
+
+ When defined, the check will ensure global variable names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - GlobalVariableCase of ``lower_case``
+ - GlobalVariablePrefix of ``pre_``
+ - GlobalVariableSuffix of ``_post``
+
+Identifies and/or transforms global variable names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ int GLOBAL3;
+
+After:
+
+.. code-block:: c++
+
+ int pre_global3_post;
+
+.. option:: InlineNamespaceCase
+
+ When defined, the check will ensure inline namespaces names conform to the
+ selected casing.
+
+.. option:: InlineNamespacePrefix
+
+ When defined, the check will ensure inline namespaces names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: InlineNamespaceSuffix
+
+ When defined, the check will ensure inline namespaces names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - InlineNamespaceCase of ``lower_case``
+ - InlineNamespacePrefix of ``pre_``
+ - InlineNamespaceSuffix of ``_post``
+
+Identifies and/or transforms inline namespaces names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ namespace FOO_NS {
+ inline namespace InlineNamespace {
+ ...
+ }
+ } // namespace FOO_NS
+
+After:
+
+.. code-block:: c++
+
+ namespace FOO_NS {
+ inline namespace pre_inlinenamespace_post {
+ ...
+ }
+ } // namespace FOO_NS
+
+.. option:: LocalConstantCase
+
+ When defined, the check will ensure local constant names conform to the
+ selected casing.
+
+.. option:: LocalConstantPrefix
+
+ When defined, the check will ensure local constant names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: LocalConstantSuffix
+
+ When defined, the check will ensure local constant names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - LocalConstantCase of ``lower_case``
+ - LocalConstantPrefix of ``pre_``
+ - LocalConstantSuffix of ``_post``
+
+Identifies and/or transforms local constant names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ void foo() { int const local_Constant = 3; }
+
+After:
+
+.. code-block:: c++
+
+ void foo() { int const pre_local_constant_post = 3; }
+
+.. option:: LocalConstantPointerCase
+
+ When defined, the check will ensure local constant pointer names conform to the
+ selected casing.
+
+.. option:: LocalConstantPointerPrefix
+
+ When defined, the check will ensure local constant pointer names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: LocalConstantPointerSuffix
+
+ When defined, the check will ensure local constant pointer names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - LocalConstantPointerCase of ``lower_case``
+ - LocalConstantPointerPrefix of ``pre_``
+ - LocalConstantPointerSuffix of ``_post``
+
+Identifies and/or transforms local constant pointer names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ void foo() { int const *local_Constant = 3; }
+
+After:
+
+.. code-block:: c++
+
+ void foo() { int const *pre_local_constant_post = 3; }
+
+.. option:: LocalPointerCase
+
+ When defined, the check will ensure local pointer names conform to the
+ selected casing.
+
+.. option:: LocalPointerPrefix
+
+ When defined, the check will ensure local pointer names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: LocalPointerSuffix
+
+ When defined, the check will ensure local pointer names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - LocalPointerCase of ``lower_case``
+ - LocalPointerPrefix of ``pre_``
+ - LocalPointerSuffix of ``_post``
+
+Identifies and/or transforms local pointer names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ void foo() { int *local_Constant; }
+
+After:
+
+.. code-block:: c++
+
+ void foo() { int *pre_local_constant_post; }
+
+.. option:: LocalVariableCase
+
+ When defined, the check will ensure local variable names conform to the
+ selected casing.
+
+.. option:: LocalVariablePrefix
+
+ When defined, the check will ensure local variable names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: LocalVariableSuffix
+
+ When defined, the check will ensure local variable names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - LocalVariableCase of ``lower_case``
+ - LocalVariablePrefix of ``pre_``
+ - LocalVariableSuffix of ``_post``
+
+Identifies and/or transforms local variable names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ void foo() { int local_Constant; }
+
+After:
+
+.. code-block:: c++
+
+ void foo() { int pre_local_constant_post; }
+
+.. option:: MemberCase
+
+ When defined, the check will ensure member names conform to the
+ selected casing.
+
+.. option:: MemberPrefix
+
+ When defined, the check will ensure member names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: MemberSuffix
+
+ When defined, the check will ensure member names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - MemberCase of ``lower_case``
+ - MemberPrefix of ``pre_``
+ - MemberSuffix of ``_post``
+
+Identifies and/or transforms member names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class Foo {
+ char MY_ConstMember_string[4];
+ }
+
+After:
+
+.. code-block:: c++
+
+ class Foo {
+ char pre_my_constmember_string_post[4];
+ }
+
+.. option:: MethodCase
+
+ When defined, the check will ensure method names conform to the
+ selected casing.
+
+.. option:: MethodPrefix
+
+ When defined, the check will ensure method names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: MethodSuffix
+
+ When defined, the check will ensure method names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - MethodCase of ``lower_case``
+ - MethodPrefix of ``pre_``
+ - MethodSuffix of ``_post``
+
+Identifies and/or transforms method names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class Foo {
+ char MY_Method_string();
+ }
+
+After:
+
+.. code-block:: c++
+
+ class Foo {
+ char pre_my_method_string_post();
+ }
+
+.. option:: NamespaceCase
+
+ When defined, the check will ensure namespace names conform to the
+ selected casing.
+
+.. option:: NamespacePrefix
+
+ When defined, the check will ensure namespace names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: NamespaceSuffix
+
+ When defined, the check will ensure namespace names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - NamespaceCase of ``lower_case``
+ - NamespacePrefix of ``pre_``
+ - NamespaceSuffix of ``_post``
+
+Identifies and/or transforms namespace names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ namespace FOO_NS {
+ ...
+ }
+
+After:
+
+.. code-block:: c++
+
+ namespace pre_foo_ns_post {
+ ...
+ }
+
+.. option:: ParameterCase
+
+ When defined, the check will ensure parameter names conform to the
+ selected casing.
+
+.. option:: ParameterPrefix
+
+ When defined, the check will ensure parameter names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ParameterSuffix
+
+ When defined, the check will ensure parameter names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ParameterCase of ``lower_case``
+ - ParameterPrefix of ``pre_``
+ - ParameterSuffix of ``_post``
+
+Identifies and/or transforms parameter names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ void GLOBAL_FUNCTION(int PARAMETER_1, int const CONST_parameter);
+
+After:
+
+.. code-block:: c++
+
+ void GLOBAL_FUNCTION(int pre_parameter_post, int const CONST_parameter);
+
+.. option:: ParameterPackCase
+
+ When defined, the check will ensure parameter pack names conform to the
+ selected casing.
+
+.. option:: ParameterPackPrefix
+
+ When defined, the check will ensure parameter pack names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ParameterPackSuffix
+
+ When defined, the check will ensure parameter pack names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ParameterPackCase of ``lower_case``
+ - ParameterPackPrefix of ``pre_``
+ - ParameterPackSuffix of ``_post``
+
+Identifies and/or transforms parameter pack names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ template <typename... TYPE_parameters> {
+ void FUNCTION(int... TYPE_parameters);
+ }
+
+After:
+
+.. code-block:: c++
+
+ template <typename... TYPE_parameters> {
+ void FUNCTION(int... pre_type_parameters_post);
+ }
+
+.. option:: PointerParameterCase
+
+ When defined, the check will ensure pointer parameter names conform to the
+ selected casing.
+
+.. option:: PointerParameterPrefix
+
+ When defined, the check will ensure pointer parameter names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: PointerParameterSuffix
+
+ When defined, the check will ensure pointer parameter names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - PointerParameterCase of ``lower_case``
+ - PointerParameterPrefix of ``pre_``
+ - PointerParameterSuffix of ``_post``
+
+Identifies and/or transforms pointer parameter names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ void FUNCTION(int *PARAMETER);
+
+After:
+
+.. code-block:: c++
+
+ void FUNCTION(int *pre_parameter_post);
+
+.. option:: PrivateMemberCase
+
+ When defined, the check will ensure private member names conform to the
+ selected casing.
+
+.. option:: PrivateMemberPrefix
+
+ When defined, the check will ensure private member names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: PrivateMemberSuffix
+
+ When defined, the check will ensure private member names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - PrivateMemberCase of ``lower_case``
+ - PrivateMemberPrefix of ``pre_``
+ - PrivateMemberSuffix of ``_post``
+
+Identifies and/or transforms private member names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class Foo {
+ private:
+ int Member_Variable;
+ }
+
+After:
+
+.. code-block:: c++
+
+ class Foo {
+ private:
+ int pre_member_variable_post;
+ }
+
+.. option:: PrivateMethodCase
+
+ When defined, the check will ensure private method names conform to the
+ selected casing.
+
+.. option:: PrivateMethodPrefix
+
+ When defined, the check will ensure private method names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: PrivateMethodSuffix
+
+ When defined, the check will ensure private method names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - PrivateMethodCase of ``lower_case``
+ - PrivateMethodPrefix of ``pre_``
+ - PrivateMethodSuffix of ``_post``
+
+Identifies and/or transforms private method names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class Foo {
+ private:
+ int Member_Method();
+ }
+
+After:
+
+.. code-block:: c++
+
+ class Foo {
+ private:
+ int pre_member_method_post();
+ }
+
+.. option:: ProtectedMemberCase
+
+ When defined, the check will ensure protected member names conform to the
+ selected casing.
+
+.. option:: ProtectedMemberPrefix
+
+ When defined, the check will ensure protected member names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ProtectedMemberSuffix
+
+ When defined, the check will ensure protected member names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ProtectedMemberCase of ``lower_case``
+ - ProtectedMemberPrefix of ``pre_``
+ - ProtectedMemberSuffix of ``_post``
+
+Identifies and/or transforms protected member names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class Foo {
+ protected:
+ int Member_Variable;
+ }
+
+After:
+
+.. code-block:: c++
+
+ class Foo {
+ protected:
+ int pre_member_variable_post;
+ }
+
+.. option:: ProtectedMethodCase
+
+ When defined, the check will ensure protect method names conform to the
+ selected casing.
+
+.. option:: ProtectedMethodPrefix
+
+ When defined, the check will ensure protect method names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ProtectedMethodSuffix
+
+ When defined, the check will ensure protect method names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ProtectedMethodCase of ``lower_case``
+ - ProtectedMethodPrefix of ``pre_``
+ - ProtectedMethodSuffix of ``_post``
+
+Identifies and/or transforms protect method names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class Foo {
+ protected:
+ int Member_Method();
+ }
+
+After:
+
+.. code-block:: c++
+
+ class Foo {
+ protected:
+ int pre_member_method_post();
+ }
+
+.. option:: PublicMemberCase
+
+ When defined, the check will ensure public member names conform to the
+ selected casing.
+
+.. option:: PublicMemberPrefix
+
+ When defined, the check will ensure public member names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: PublicMemberSuffix
+
+ When defined, the check will ensure public member names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - PublicMemberCase of ``lower_case``
+ - PublicMemberPrefix of ``pre_``
+ - PublicMemberSuffix of ``_post``
+
+Identifies and/or transforms public member names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class Foo {
+ public:
+ int Member_Variable;
+ }
+
+After:
+
+.. code-block:: c++
+
+ class Foo {
+ public:
+ int pre_member_variable_post;
+ }
+
+.. option:: PublicMethodCase
+
+ When defined, the check will ensure public method names conform to the
+ selected casing.
+
+.. option:: PublicMethodPrefix
+
+ When defined, the check will ensure public method names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: PublicMethodSuffix
+
+ When defined, the check will ensure public method names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - PublicMethodCase of ``lower_case``
+ - PublicMethodPrefix of ``pre_``
+ - PublicMethodSuffix of ``_post``
+
+Identifies and/or transforms public method names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class Foo {
+ public:
+ int Member_Method();
+ }
+
+After:
+
+.. code-block:: c++
+
+ class Foo {
+ public:
+ int pre_member_method_post();
+ }
+
+.. option:: StaticConstantCase
+
+ When defined, the check will ensure static constant names conform to the
+ selected casing.
+
+.. option:: StaticConstantPrefix
+
+ When defined, the check will ensure static constant names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: StaticConstantSuffix
+
+ When defined, the check will ensure static constant names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - StaticConstantCase of ``lower_case``
+ - StaticConstantPrefix of ``pre_``
+ - StaticConstantSuffix of ``_post``
+
+Identifies and/or transforms static constant names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ static unsigned const MyConstStatic_array[] = {1, 2, 3};
+
+After:
+
+.. code-block:: c++
+
+ static unsigned const pre_myconststatic_array_post[] = {1, 2, 3};
+
+.. option:: StaticVariableCase
+
+ When defined, the check will ensure static variable names conform to the
+ selected casing.
+
+.. option:: StaticVariablePrefix
+
+ When defined, the check will ensure static variable names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: StaticVariableSuffix
+
+ When defined, the check will ensure static variable names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - StaticVariableCase of ``lower_case``
+ - StaticVariablePrefix of ``pre_``
+ - StaticVariableSuffix of ``_post``
+
+Identifies and/or transforms static variable names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ static unsigned MyStatic_array[] = {1, 2, 3};
+
+After:
+
+.. code-block:: c++
+
+ static unsigned pre_mystatic_array_post[] = {1, 2, 3};
+
+.. option:: StructCase
+
+ When defined, the check will ensure struct names conform to the
+ selected casing.
+
+.. option:: StructPrefix
+
+ When defined, the check will ensure struct names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: StructSuffix
+
+ When defined, the check will ensure struct names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - StructCase of ``lower_case``
+ - StructPrefix of ``pre_``
+ - StructSuffix of ``_post``
+
+Identifies and/or transforms struct names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ struct FOO {
+ FOO();
+ ~FOO();
+ };
+
+After:
+
+.. code-block:: c++
+
+ struct pre_foo_post {
+ pre_foo_post();
+ ~pre_foo_post();
+ };
+
+.. option:: TemplateParameterCase
+
+ When defined, the check will ensure template parameter names conform to the
+ selected casing.
+
+.. option:: TemplateParameterPrefix
+
+ When defined, the check will ensure template parameter names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: TemplateParameterSuffix
+
+ When defined, the check will ensure template parameter names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - TemplateParameterCase of ``lower_case``
+ - TemplateParameterPrefix of ``pre_``
+ - TemplateParameterSuffix of ``_post``
+
+Identifies and/or transforms template parameter names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ template <typename T> class Foo {};
+
+After:
+
+.. code-block:: c++
+
+ template <typename pre_t_post> class Foo {};
+
+.. option:: TemplateTemplateParameterCase
+
+ When defined, the check will ensure template template parameter names conform to the
+ selected casing.
+
+.. option:: TemplateTemplateParameterPrefix
+
+ When defined, the check will ensure template template parameter names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: TemplateTemplateParameterSuffix
+
+ When defined, the check will ensure template template parameter names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - TemplateTemplateParameterCase of ``lower_case``
+ - TemplateTemplateParameterPrefix of ``pre_``
+ - TemplateTemplateParameterSuffix of ``_post``
+
+Identifies and/or transforms template template parameter names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ template <template <typename> class TPL_parameter, int COUNT_params,
+ typename... TYPE_parameters>
+
+After:
+
+.. code-block:: c++
+
+ template <template <typename> class pre_tpl_parameter_post, int COUNT_params,
+ typename... TYPE_parameters>
+
+.. option:: TypeAliasCase
+
+ When defined, the check will ensure type alias names conform to the
+ selected casing.
+
+.. option:: TypeAliasPrefix
+
+ When defined, the check will ensure type alias names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: TypeAliasSuffix
+
+ When defined, the check will ensure type alias names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - TypeAliasCase of ``lower_case``
+ - TypeAliasPrefix of ``pre_``
+ - TypeAliasSuffix of ``_post``
+
+Identifies and/or transforms type alias names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ using MY_STRUCT_TYPE = my_structure;
+
+After:
+
+.. code-block:: c++
+
+ using pre_my_struct_type_post = my_structure;
+
+.. option:: TypedefCase
+
+ When defined, the check will ensure typedef names conform to the
+ selected casing.
+
+.. option:: TypedefPrefix
+
+ When defined, the check will ensure typedef names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: TypedefSuffix
+
+ When defined, the check will ensure typedef names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - TypedefCase of ``lower_case``
+ - TypedefPrefix of ``pre_``
+ - TypedefSuffix of ``_post``
+
+Identifies and/or transforms typedef names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ typedef int MYINT;
+
+After:
+
+.. code-block:: c++
+
+ typedef int pre_myint_post;
+
+.. option:: TypeTemplateParameterCase
+
+ When defined, the check will ensure type template parameter names conform to the
+ selected casing.
+
+.. option:: TypeTemplateParameterPrefix
+
+ When defined, the check will ensure type template parameter names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: TypeTemplateParameterSuffix
+
+ When defined, the check will ensure type template parameter names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - TypeTemplateParameterCase of ``lower_case``
+ - TypeTemplateParameterPrefix of ``pre_``
+ - TypeTemplateParameterSuffix of ``_post``
+
+Identifies and/or transforms type template parameter names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ template <template <typename> class TPL_parameter, int COUNT_params,
+ typename... TYPE_parameters>
+
+After:
+
+.. code-block:: c++
+
+ template <template <typename> class TPL_parameter, int COUNT_params,
+ typename... pre_type_parameters_post>
+
+.. option:: UnionCase
+
+ When defined, the check will ensure union names conform to the
+ selected casing.
+
+.. option:: UnionPrefix
+
+ When defined, the check will ensure union names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: UnionSuffix
+
+ When defined, the check will ensure union names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - UnionCase of ``lower_case``
+ - UnionPrefix of ``pre_``
+ - UnionSuffix of ``_post``
+
+Identifies and/or transforms union names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ union FOO {
+ int a;
+ char b;
+ };
+
+After:
+
+.. code-block:: c++
+
+ union pre_foo_post {
+ int a;
+ char b;
+ };
+
+.. option:: ValueTemplateParameterCase
+
+ When defined, the check will ensure value template parameter names conform to the
+ selected casing.
+
+.. option:: ValueTemplateParameterPrefix
+
+ When defined, the check will ensure value template parameter names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: ValueTemplateParameterSuffix
+
+ When defined, the check will ensure value template parameter names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - ValueTemplateParameterCase of ``lower_case``
+ - ValueTemplateParameterPrefix of ``pre_``
+ - ValueTemplateParameterSuffix of ``_post``
+
+Identifies and/or transforms value template parameter names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ template <template <typename> class TPL_parameter, int COUNT_params,
+ typename... TYPE_parameters>
+
+After:
+
+.. code-block:: c++
+
+ template <template <typename> class TPL_parameter, int pre_count_params_post,
+ typename... TYPE_parameters>
+
+.. option:: VariableCase
+
+ When defined, the check will ensure variable names conform to the
+ selected casing.
+
+.. option:: VariablePrefix
+
+ When defined, the check will ensure variable names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: VariableSuffix
+
+ When defined, the check will ensure variable names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - VariableCase of ``lower_case``
+ - VariablePrefix of ``pre_``
+ - VariableSuffix of ``_post``
+
+Identifies and/or transforms variable names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ unsigned MyVariable;
+
+After:
+
+.. code-block:: c++
+
+ unsigned pre_myvariable_post;
+
+.. option:: VirtualMethodCase
+
+ When defined, the check will ensure virtual method names conform to the
+ selected casing.
+
+.. option:: VirtualMethodPrefix
+
+ When defined, the check will ensure virtual method names will add the
+ prefixed with the given value (regardless of casing).
+
+.. option:: VirtualMethodSuffix
+
+ When defined, the check will ensure virtual method names will add the
+ suffix with the given value (regardless of casing).
+
+For example using values of:
+
+ - VirtualMethodCase of ``lower_case``
+ - VirtualMethodPrefix of ``pre_``
+ - VirtualMethodSuffix of ``_post``
+
+Identifies and/or transforms virtual method names as follows:
+
+Before:
+
+.. code-block:: c++
+
+ class Foo {
+ public:
+ virtual int MemberFunction();
+ }
+
+After:
+
+.. code-block:: c++
+
+ class Foo {
+ public:
+ virtual int pre_member_function_post();
+ }
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-implicit-bool-cast.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-implicit-bool-cast.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-implicit-bool-cast.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-implicit-bool-cast.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,11 @@
+:orphan:
+
+.. title:: clang-tidy - readability-implicit-bool-cast
+.. meta::
+ :http-equiv=refresh: 5;URL=readability-implicit-bool-conversion.html
+
+readability-implicit-bool-cast
+==============================
+
+This check has been renamed to `readability-implicit-bool-conversion
+<readability-implicit-bool-conversion.html>`_.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-implicit-bool-conversion.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-implicit-bool-conversion.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-implicit-bool-conversion.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-implicit-bool-conversion.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,135 @@
+.. title:: clang-tidy - readability-implicit-bool-conversion
+
+readability-implicit-bool-conversion
+====================================
+
+This check can be used to find implicit conversions between built-in types and
+booleans. Depending on use case, it may simply help with readability of the code,
+or in some cases, point to potential bugs which remain unnoticed due to implicit
+conversions.
+
+The following is a real-world example of bug which was hiding behind implicit
+``bool`` conversion:
+
+.. code-block:: c++
+
+ class Foo {
+ int m_foo;
+
+ public:
+ void setFoo(bool foo) { m_foo = foo; } // warning: implicit conversion bool -> int
+ int getFoo() { return m_foo; }
+ };
+
+ void use(Foo& foo) {
+ bool value = foo.getFoo(); // warning: implicit conversion int -> bool
+ }
+
+This code is the result of unsuccessful refactoring, where type of ``m_foo``
+changed from ``bool`` to ``int``. The programmer forgot to change all
+occurrences of ``bool``, and the remaining code is no longer correct, yet it
+still compiles without any visible warnings.
+
+In addition to issuing warnings, fix-it hints are provided to help solve the
+reported issues. This can be used for improving readability of code, for
+example:
+
+.. code-block:: c++
+
+ void conversionsToBool() {
+ float floating;
+ bool boolean = floating;
+ // ^ propose replacement: bool boolean = floating != 0.0f;
+
+ int integer;
+ if (integer) {}
+ // ^ propose replacement: if (integer != 0) {}
+
+ int* pointer;
+ if (!pointer) {}
+ // ^ propose replacement: if (pointer == nullptr) {}
+
+ while (1) {}
+ // ^ propose replacement: while (true) {}
+ }
+
+ void functionTakingInt(int param);
+
+ void conversionsFromBool() {
+ bool boolean;
+ functionTakingInt(boolean);
+ // ^ propose replacement: functionTakingInt(static_cast<int>(boolean));
+
+ functionTakingInt(true);
+ // ^ propose replacement: functionTakingInt(1);
+ }
+
+In general, the following conversion types are checked:
+
+- integer expression/literal to boolean (conversion from a single bit bitfield
+ to boolean is explicitly allowed, since there's no ambiguity / information
+ loss in this case),
+
+- floating expression/literal to boolean,
+
+- pointer/pointer to member/``nullptr``/``NULL`` to boolean,
+
+- boolean expression/literal to integer (conversion from boolean to a single
+ bit bitfield is explicitly allowed),
+
+- boolean expression/literal to floating.
+
+The rules for generating fix-it hints are:
+
+- in case of conversions from other built-in type to bool, an explicit
+ comparison is proposed to make it clear what exaclty is being compared:
+
+ - ``bool boolean = floating;`` is changed to
+ ``bool boolean = floating == 0.0f;``,
+
+ - for other types, appropriate literals are used (``0``, ``0u``, ``0.0f``,
+ ``0.0``, ``nullptr``),
+
+- in case of negated expressions conversion to bool, the proposed replacement
+ with comparison is simplified:
+
+ - ``if (!pointer)`` is changed to ``if (pointer == nullptr)``,
+
+- in case of conversions from bool to other built-in types, an explicit
+ ``static_cast`` is proposed to make it clear that a conversion is taking
+ place:
+
+ - ``int integer = boolean;`` is changed to
+ ``int integer = static_cast<int>(boolean);``,
+
+- if the conversion is performed on type literals, an equivalent literal is
+ proposed, according to what type is actually expected, for example:
+
+ - ``functionTakingBool(0);`` is changed to ``functionTakingBool(false);``,
+
+ - ``functionTakingInt(true);`` is changed to ``functionTakingInt(1);``,
+
+ - for other types, appropriate literals are used (``false``, ``true``, ``0``,
+ ``1``, ``0u``, ``1u``, ``0.0f``, ``1.0f``, ``0.0``, ``1.0f``).
+
+Some additional accommodations are made for pre-C++11 dialects:
+
+- ``false`` literal conversion to pointer is detected,
+
+- instead of ``nullptr`` literal, ``0`` is proposed as replacement.
+
+Occurrences of implicit conversions inside macros and template instantiations
+are deliberately ignored, as it is not clear how to deal with such cases.
+
+Options
+-------
+
+.. option:: AllowIntegerConditions
+
+ When non-zero, the check will allow conditional integer conversions. Default
+ is `0`.
+
+.. option:: AllowPointerConditions
+
+ When non-zero, the check will allow conditional pointer conversions. Default
+ is `0`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-inconsistent-declaration-parameter-name.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-inconsistent-declaration-parameter-name.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-inconsistent-declaration-parameter-name.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-inconsistent-declaration-parameter-name.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,63 @@
+.. title:: clang-tidy - readability-inconsistent-declaration-parameter-name
+
+readability-inconsistent-declaration-parameter-name
+===================================================
+
+Find function declarations which differ in parameter names.
+
+Example:
+
+.. code-block:: c++
+
+ // in foo.hpp:
+ void foo(int a, int b, int c);
+
+ // in foo.cpp:
+ void foo(int d, int e, int f); // warning
+
+This check should help to enforce consistency in large projects, where it often
+happens that a definition of function is refactored, changing the parameter
+names, but its declaration in header file is not updated. With this check, we
+can easily find and correct such inconsistencies, keeping declaration and
+definition always in sync.
+
+Unnamed parameters are allowed and are not taken into account when comparing
+function declarations, for example:
+
+.. code-block:: c++
+
+ void foo(int a);
+ void foo(int); // no warning
+
+One name is also allowed to be a case-insensitive prefix/suffix of the other:
+
+.. code-block:: c++
+
+ void foo(int count);
+ void foo(int count_input) { // no warning
+ int count = adjustCount(count_input);
+ }
+
+To help with refactoring, in some cases fix-it hints are generated to align
+parameter names to a single naming convention. This works with the assumption
+that the function definition is the most up-to-date version, as it directly
+references parameter names in its body. Example:
+
+.. code-block:: c++
+
+ void foo(int a); // warning and fix-it hint (replace "a" to "b")
+ int foo(int b) { return b + 2; } // definition with use of "b"
+
+In the case of multiple redeclarations or function template specializations,
+a warning is issued for every redeclaration or specialization inconsistent with
+the definition or the first declaration seen in a translation unit.
+
+.. option:: IgnoreMacros
+
+ If this option is set to non-zero (default is `1`), the check will not warn
+ about names declared inside macros.
+
+.. option:: Strict
+
+ If this option is set to non-zero (default is `0`), then names must match
+ exactly (or be absent).
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-isolate-declaration.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-isolate-declaration.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-isolate-declaration.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-isolate-declaration.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,100 @@
+.. title:: clang-tidy - readability-isolate-declaration
+
+readability-isolate-declaration
+===============================
+
+Detects local variable declarations declaring more than one variable and
+tries to refactor the code to one statement per declaration.
+
+The automatic code-transformation will use the same indentation as the original
+for every created statement and add a line break after each statement.
+It keeps the order of the variable declarations consistent, too.
+
+.. code-block:: c++
+
+ void f() {
+ int * pointer = nullptr, value = 42, * const const_ptr = &value;
+ // This declaration will be diagnosed and transformed into:
+ // int * pointer = nullptr;
+ // int value = 42;
+ // int * const const_ptr = &value;
+ }
+
+
+The check excludes places where it is necessary or common to declare
+multiple variables in one statement and there is no other way supported in the
+language. Please note that structured bindings are not considered.
+
+.. code-block:: c++
+
+ // It is not possible to transform this declaration and doing the declaration
+ // before the loop will increase the scope of the variable 'Begin' and 'End'
+ // which is undesirable.
+ for (int Begin = 0, End = 100; Begin < End; ++Begin);
+ if (int Begin = 42, Result = some_function(Begin); Begin == Result);
+
+ // It is not possible to transform this declaration because the result is
+ // not functionality preserving as 'j' and 'k' would not be part of the
+ // 'if' statement anymore.
+ if (SomeCondition())
+ int i = 42, j = 43, k = function(i,j);
+
+
+Limitations
+-----------
+
+Global variables and member variables are excluded.
+
+The check currently does not support the automatic transformation of
+member-pointer-types.
+
+.. code-block:: c++
+
+ struct S {
+ int a;
+ const int b;
+ void f() {}
+ };
+
+ void f() {
+ // Only a diagnostic message is emitted
+ int S::*p = &S::a, S::*const q = &S::a;
+ }
+
+Furthermore, the transformation is very cautious when it detects various kinds
+of macros or preprocessor directives in the range of the statement. In this
+case the transformation will not happen to avoid unexpected side-effects due to
+macros.
+
+.. code-block:: c++
+
+ #define NULL 0
+ #define MY_NICE_TYPE int **
+ #define VAR_NAME(name) name##__LINE__
+ #define A_BUNCH_OF_VARIABLES int m1 = 42, m2 = 43, m3 = 44;
+
+ void macros() {
+ int *p1 = NULL, *p2 = NULL;
+ // Will be transformed to
+ // int *p1 = NULL;
+ // int *p2 = NULL;
+
+ MY_NICE_TYPE p3, v1, v2;
+ // Won't be transformed, but a diagnostic is emitted.
+
+ int VAR_NAME(v3),
+ VAR_NAME(v4),
+ VAR_NAME(v5);
+ // Won't be transformed, but a diagnostic is emitted.
+
+ A_BUNCH_OF_VARIABLES
+ // Won't be transformed, but a diagnostic is emitted.
+
+ int Unconditional,
+ #if CONFIGURATION
+ IfConfigured = 42,
+ #else
+ IfConfigured = 0;
+ #endif
+ // Won't be transformed, but a diagnostic is emitted.
+ }
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-magic-numbers.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-magic-numbers.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-magic-numbers.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-magic-numbers.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,113 @@
+.. title:: clang-tidy - readability-magic-numbers
+
+readability-magic-numbers
+=========================
+
+Detects magic numbers, integer or floating point literals that are embedded in
+code and not introduced via constants or symbols.
+
+Many coding guidelines advise replacing the magic values with symbolic
+constants to improve readability. Here are a few references:
+
+ * `Rule ES.45: Avoid âmagic constantsâ; use symbolic constants in C++ Core Guidelines <http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-magic>`_
+ * `Rule 5.1.1 Use symbolic names instead of literal values in code in High Integrity C++ <http://www.codingstandard.com/rule/5-1-1-use-symbolic-names-instead-of-literal-values-in-code/>`_
+ * Item 17 in "C++ Coding Standards: 101 Rules, Guidelines and Best
+ Practices" by Herb Sutter and Andrei Alexandrescu
+ * Chapter 17 in "Clean Code - A handbook of agile software craftsmanship."
+ by Robert C. Martin
+ * Rule 20701 in "TRAIN REAL TIME DATA PROTOCOL Coding Rules" by Armin-Hagen
+ Weiss, Bombardier
+ * http://wiki.c2.com/?MagicNumber
+
+
+Examples of magic values:
+
+.. code-block:: c++
+
+ double circleArea = 3.1415926535 * radius * radius;
+
+ double totalCharge = 1.08 * itemPrice;
+
+ int getAnswer() {
+ return -3; // FILENOTFOUND
+ }
+
+ for (int mm = 1; mm <= 12; ++mm) {
+ std::cout << month[mm] << '\n';
+ }
+
+Example with magic values refactored:
+
+.. code-block:: c++
+
+ double circleArea = M_PI * radius * radius;
+
+ const double TAX_RATE = 0.08; // or make it variable and read from a file
+
+ double totalCharge = (1.0 + TAX_RATE) * itemPrice;
+
+ int getAnswer() {
+ return E_FILE_NOT_FOUND;
+ }
+
+ for (int mm = 1; mm <= MONTHS_IN_A_YEAR; ++mm) {
+ std::cout << month[mm] << '\n';
+ }
+
+For integral literals by default only `0` and `1` (and `-1`) integer values
+are accepted without a warning. This can be overridden with the
+:option:`IgnoredIntegerValues` option. Negative values are accepted if their
+absolute value is present in the :option:`IgnoredIntegerValues` list.
+
+As a special case for integral values, all powers of two can be accepted
+without warning by enabling the :option:`IgnorePowersOf2IntegerValues` option.
+
+For floating point literals by default the `0.0` floating point value is
+accepted without a warning. The set of ignored floating point literals can
+be configured using the :option:`IgnoredFloatingPointValues` option.
+For each value in that set, the given string value is converted to a
+floating-point value representation used by the target architecture. If a
+floating-point literal value compares equal to one of the converted values,
+then that literal is not diagnosed by this check. Because floating-point
+equality is used to determine whether to diagnose or not, the user needs to
+be aware of the details of floating-point representations for any values that
+cannot be precisely represented for their target architecture.
+
+For each value in the :option:`IgnoredFloatingPointValues` set, both the
+single-precision form and double-precision form are accepted (for example, if
+3.14 is in the set, neither 3.14f nor 3.14 will produce a warning).
+
+Scientific notation is supported for both source code input and option.
+Alternatively, the check for the floating point numbers can be disabled for
+all floating point values by enabling the
+:option:`IgnoreAllFloatingPointValues` option.
+
+Since values `0` and `0.0` are so common as the base counter of loops,
+or initialization values for sums, they are always accepted without warning,
+even if not present in the respective ignored values list.
+
+Options
+-------
+
+.. option:: IgnoredIntegerValues
+
+ Semicolon-separated list of magic positive integers that will be accepted
+ without a warning. Default values are `{1, 2, 3, 4}`, and `0` is accepted
+ unconditionally.
+
+.. option:: IgnorePowersOf2IntegerValues
+
+ Boolean value indicating whether to accept all powers-of-two integer values
+ without warning. Default value is `false`.
+
+.. option:: IgnoredFloatingPointValues
+
+ Semicolon-separated list of magic positive floating point values that will
+ be accepted without a warning. Default values are `{1.0, 100.0}` and `0.0`
+ is accepted unconditionally.
+
+.. option:: IgnoreAllFloatingPointValues
+
+ Boolean value indicating whether to accept all floating point values without
+ warning. Default value is `false`.
+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-misleading-indentation.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-misleading-indentation.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-misleading-indentation.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-misleading-indentation.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,38 @@
+.. title:: clang-tidy - readability-misleading-indentation
+
+readability-misleading-indentation
+==================================
+
+Correct indentation helps to understand code. Mismatch of the syntactical
+structure and the indentation of the code may hide serious problems.
+Missing braces can also make it significantly harder to read the code,
+therefore it is important to use braces.
+
+The way to avoid dangling else is to always check that an ``else`` belongs
+to the ``if`` that begins in the same column.
+
+You can omit braces when your inner part of e.g. an ``if`` statement has only
+one statement in it. Although in that case you should begin the next statement
+in the same column with the ``if``.
+
+Examples:
+
+.. code-block:: c++
+
+ // Dangling else:
+ if (cond1)
+ if (cond2)
+ foo1();
+ else
+ foo2(); // Wrong indentation: else belongs to if(cond2) statement.
+
+ // Missing braces:
+ if (cond1)
+ foo1();
+ foo2(); // Not guarded by if(cond1).
+
+Limitations
+-----------
+
+Note that this check only works as expected when the tabs or spaces are used
+consistently and not mixed.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-misplaced-array-index.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-misplaced-array-index.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-misplaced-array-index.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-misplaced-array-index.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,27 @@
+.. title:: clang-tidy - readability-misplaced-array-index
+
+readability-misplaced-array-index
+=================================
+
+This check warns for unusual array index syntax.
+
+The following code has unusual array index syntax:
+
+.. code-block:: c++
+
+ void f(int *X, int Y) {
+ Y[X] = 0;
+ }
+
+becomes
+
+.. code-block:: c++
+
+ void f(int *X, int Y) {
+ X[Y] = 0;
+ }
+
+The check warns about such unusual syntax for readability reasons:
+ * There are programmers that are not familiar with this unusual syntax.
+ * It is possible that variables are mixed up.
+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-named-parameter.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-named-parameter.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-named-parameter.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-named-parameter.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,16 @@
+.. title:: clang-tidy - readability-named-parameter
+
+readability-named-parameter
+===========================
+
+Find functions with unnamed arguments.
+
+The check implements the following rule originating in the Google C++ Style
+Guide:
+
+https://google.github.io/styleguide/cppguide.html#Function_Declarations_and_Definitions
+
+All parameters should be named, with identical names in the declaration and
+implementation.
+
+Corresponding cpplint.py check name: `readability/function`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-non-const-parameter.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-non-const-parameter.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-non-const-parameter.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-non-const-parameter.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,46 @@
+.. title:: clang-tidy - readability-non-const-parameter
+
+readability-non-const-parameter
+===============================
+
+The check finds function parameters of a pointer type that could be changed to
+point to a constant type instead.
+
+When ``const`` is used properly, many mistakes can be avoided. Advantages when
+using ``const`` properly:
+
+- prevent unintentional modification of data;
+
+- get additional warnings such as using uninitialized data;
+
+- make it easier for developers to see possible side effects.
+
+This check is not strict about constness, it only warns when the constness will
+make the function interface safer.
+
+.. code-block:: c++
+
+ // warning here; the declaration "const char *p" would make the function
+ // interface safer.
+ char f1(char *p) {
+ return *p;
+ }
+
+ // no warning; the declaration could be more const "const int * const p" but
+ // that does not make the function interface safer.
+ int f2(const int *p) {
+ return *p;
+ }
+
+ // no warning; making x const does not make the function interface safer
+ int f3(int x) {
+ return x;
+ }
+
+ // no warning; Technically, *p can be const ("const struct S *p"). But making
+ // *p const could be misleading. People might think that it's safe to pass
+ // const data to this function.
+ struct S { int *a; int *b; };
+ int f3(struct S *p) {
+ *(p->a) = 0;
+ }
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-control-flow.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-control-flow.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-control-flow.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-control-flow.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,50 @@
+.. title:: clang-tidy - readability-redundant-control-flow
+
+readability-redundant-control-flow
+==================================
+
+This check looks for procedures (functions returning no value) with ``return``
+statements at the end of the function. Such ``return`` statements are redundant.
+
+Loop statements (``for``, ``while``, ``do while``) are checked for redundant
+``continue`` statements at the end of the loop body.
+
+Examples:
+
+The following function `f` contains a redundant ``return`` statement:
+
+.. code-block:: c++
+
+ extern void g();
+ void f() {
+ g();
+ return;
+ }
+
+becomes
+
+.. code-block:: c++
+
+ extern void g();
+ void f() {
+ g();
+ }
+
+The following function `k` contains a redundant ``continue`` statement:
+
+.. code-block:: c++
+
+ void k() {
+ for (int i = 0; i < 10; ++i) {
+ continue;
+ }
+ }
+
+becomes
+
+.. code-block:: c++
+
+ void k() {
+ for (int i = 0; i < 10; ++i) {
+ }
+ }
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-declaration.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-declaration.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-declaration.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-declaration.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,37 @@
+.. title:: clang-tidy - readability-redundant-declaration
+
+readability-redundant-declaration
+=================================
+
+Finds redundant variable and function declarations.
+
+.. code-block:: c++
+
+ extern int X;
+ extern int X;
+
+becomes
+
+.. code-block:: c++
+
+ extern int X;
+
+Such redundant declarations can be removed without changing program behaviour.
+They can for instance be unintentional left overs from previous refactorings
+when code has been moved around. Having redundant declarations could in worst
+case mean that there are typos in the code that cause bugs.
+
+Normally the code can be automatically fixed, :program:`clang-tidy` can remove
+the second declaration. However there are 2 cases when you need to fix the code
+manually:
+
+* When the declarations are in different header files;
+* When multiple variables are declared together.
+
+Options
+-------
+
+.. option:: IgnoreMacros
+
+ If set to non-zero, the check will not give warnings inside macros. Default
+ is `1`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-function-ptr-dereference.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-function-ptr-dereference.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-function-ptr-dereference.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-function-ptr-dereference.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,24 @@
+.. title:: clang-tidy - readability-redundant-function-ptr-dereference
+
+readability-redundant-function-ptr-dereference
+==============================================
+
+Finds redundant dereferences of a function pointer.
+
+Before:
+
+.. code-block:: c++
+
+ int f(int,int);
+ int (*p)(int, int) = &f;
+
+ int i = (**p)(10, 50);
+
+After:
+
+.. code-block:: c++
+
+ int f(int,int);
+ int (*p)(int, int) = &f;
+
+ int i = (*p)(10, 50);
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-member-init.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-member-init.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-member-init.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-member-init.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,20 @@
+.. title:: clang-tidy - readability-redundant-member-init
+
+readability-redundant-member-init
+=================================
+
+Finds member initializations that are unnecessary because the same default
+constructor would be called if they were not present.
+
+Example:
+
+.. code-block:: c++
+
+ // Explicitly initializing the member s is unnecessary.
+ class Foo {
+ public:
+ Foo() : s() {}
+
+ private:
+ std::string s;
+ };
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-preprocessor.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-preprocessor.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-preprocessor.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-preprocessor.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,61 @@
+.. title:: clang-tidy - readability-redundant-preprocessor
+
+readability-redundant-preprocessor
+==================================
+
+Finds potentially redundant preprocessor directives. At the moment the
+following cases are detected:
+
+* `#ifdef` .. `#endif` pairs which are nested inside an outer pair with the
+ same condition. For example:
+
+.. code-block:: c++
+
+ #ifdef FOO
+ #ifdef FOO // inner ifdef is considered redundant
+ void f();
+ #endif
+ #endif
+
+* Same for `#ifndef` .. `#endif` pairs. For example:
+
+.. code-block:: c++
+
+ #ifndef FOO
+ #ifndef FOO // inner ifndef is considered redundant
+ void f();
+ #endif
+ #endif
+
+* `#ifndef` inside an `#ifdef` with the same condition:
+
+.. code-block:: c++
+
+ #ifdef FOO
+ #ifndef FOO // inner ifndef is considered redundant
+ void f();
+ #endif
+ #endif
+
+* `#ifdef` inside an `#ifndef` with the same condition:
+
+.. code-block:: c++
+
+ #ifndef FOO
+ #ifdef FOO // inner ifdef is considered redundant
+ void f();
+ #endif
+ #endif
+
+* `#if` .. `#endif` pairs which are nested inside an outer pair with the same
+ condition. For example:
+
+.. code-block:: c++
+
+ #define FOO 4
+ #if FOO == 4
+ #if FOO == 4 // inner if is considered redundant
+ void f();
+ #endif
+ #endif
+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-smartptr-get.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-smartptr-get.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-smartptr-get.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-smartptr-get.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,21 @@
+.. title:: clang-tidy - readability-redundant-smartptr-get
+
+readability-redundant-smartptr-get
+==================================
+
+Find and remove redundant calls to smart pointer's ``.get()`` method.
+
+Examples:
+
+.. code-block:: c++
+
+ ptr.get()->Foo() ==> ptr->Foo()
+ *ptr.get() ==> *ptr
+ *ptr->get() ==> **ptr
+ if (ptr.get() == nullptr) ... => if (ptr == nullptr) ...
+
+
+.. option:: IgnoreMacros
+
+ If this option is set to non-zero (default is `1`), the check will not warn
+ about calls inside macros.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-string-cstr.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-string-cstr.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-string-cstr.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-string-cstr.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,7 @@
+.. title:: clang-tidy - readability-redundant-string-cstr
+
+readability-redundant-string-cstr
+=================================
+
+
+Finds unnecessary calls to ``std::string::c_str()`` and ``std::string::data()``.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-string-init.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-string-init.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-string-init.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-redundant-string-init.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,19 @@
+.. title:: clang-tidy - readability-redundant-string-init
+
+readability-redundant-string-init
+=================================
+
+Finds unnecessary string initializations.
+
+Examples:
+
+.. code-block:: c++
+
+ // Initializing string with empty string literal is unnecessary.
+ std::string a = "";
+ std::string b("");
+
+ // becomes
+
+ std::string a;
+ std::string b;
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-simplify-boolean-expr.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-simplify-boolean-expr.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-simplify-boolean-expr.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-simplify-boolean-expr.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,86 @@
+.. title:: clang-tidy - readability-simplify-boolean-expr
+
+readability-simplify-boolean-expr
+=================================
+
+Looks for boolean expressions involving boolean constants and simplifies
+them to use the appropriate boolean expression directly.
+
+Examples:
+
+=========================================== ================
+Initial expression Result
+------------------------------------------- ----------------
+``if (b == true)`` ``if (b)``
+``if (b == false)`` ``if (!b)``
+``if (b && true)`` ``if (b)``
+``if (b && false)`` ``if (false)``
+``if (b || true)`` ``if (true)``
+``if (b || false)`` ``if (b)``
+``e ? true : false`` ``e``
+``e ? false : true`` ``!e``
+``if (true) t(); else f();`` ``t();``
+``if (false) t(); else f();`` ``f();``
+``if (e) return true; else return false;`` ``return e;``
+``if (e) return false; else return true;`` ``return !e;``
+``if (e) b = true; else b = false;`` ``b = e;``
+``if (e) b = false; else b = true;`` ``b = !e;``
+``if (e) return true; return false;`` ``return e;``
+``if (e) return false; return true;`` ``return !e;``
+=========================================== ================
+
+The resulting expression ``e`` is modified as follows:
+ 1. Unnecessary parentheses around the expression are removed.
+ 2. Negated applications of ``!`` are eliminated.
+ 3. Negated applications of comparison operators are changed to use the
+ opposite condition.
+ 4. Implicit conversions of pointers, including pointers to members, to
+ ``bool`` are replaced with explicit comparisons to ``nullptr`` in C++11
+ or ``NULL`` in C++98/03.
+ 5. Implicit casts to ``bool`` are replaced with explicit casts to ``bool``.
+ 6. Object expressions with ``explicit operator bool`` conversion operators
+ are replaced with explicit casts to ``bool``.
+ 7. Implicit conversions of integral types to ``bool`` are replaced with
+ explicit comparisons to ``0``.
+
+Examples:
+ 1. The ternary assignment ``bool b = (i < 0) ? true : false;`` has redundant
+ parentheses and becomes ``bool b = i < 0;``.
+
+ 2. The conditional return ``if (!b) return false; return true;`` has an
+ implied double negation and becomes ``return b;``.
+
+ 3. The conditional return ``if (i < 0) return false; return true;`` becomes
+ ``return i >= 0;``.
+
+ The conditional return ``if (i != 0) return false; return true;`` becomes
+ ``return i == 0;``.
+
+ 4. The conditional return ``if (p) return true; return false;`` has an
+ implicit conversion of a pointer to ``bool`` and becomes
+ ``return p != nullptr;``.
+
+ The ternary assignment ``bool b = (i & 1) ? true : false;`` has an
+ implicit conversion of ``i & 1`` to ``bool`` and becomes
+ ``bool b = (i & 1) != 0;``.
+
+ 5. The conditional return ``if (i & 1) return true; else return false;`` has
+ an implicit conversion of an integer quantity ``i & 1`` to ``bool`` and
+ becomes ``return (i & 1) != 0;``
+
+ 6. Given ``struct X { explicit operator bool(); };``, and an instance ``x`` of
+ ``struct X``, the conditional return ``if (x) return true; return false;``
+ becomes ``return static_cast<bool>(x);``
+
+Options
+-------
+
+.. option:: ChainedConditionalReturn
+
+ If non-zero, conditional boolean return statements at the end of an
+ ``if/else if`` chain will be transformed. Default is `0`.
+
+.. option:: ChainedConditionalAssignment
+
+ If non-zero, conditional boolean assignments at the end of an ``if/else
+ if`` chain will be transformed. Default is `0`.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-simplify-subscript-expr.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-simplify-subscript-expr.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-simplify-subscript-expr.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-simplify-subscript-expr.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,23 @@
+.. title:: clang-tidy - readability-simplify-subscript-expr
+
+readability-simplify-subscript-expr
+===================================
+
+This check simplifies subscript expressions. Currently this covers calling
+``.data()`` and immediately doing an array subscript operation to obtain a
+single element, in which case simply calling ``operator[]`` suffice.
+
+Examples:
+
+.. code-block:: c++
+
+ std::string s = ...;
+ char c = s.data()[i]; // char c = s[i];
+
+Options
+-------
+
+.. option:: Types
+
+ The list of type(s) that triggers this check. Default is
+ `::std::basic_string;::std::basic_string_view;::std::vector;::std::array`
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-static-accessed-through-instance.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-static-accessed-through-instance.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-static-accessed-through-instance.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-static-accessed-through-instance.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,31 @@
+.. title:: clang-tidy - readability-static-accessed-through-instance
+
+readability-static-accessed-through-instance
+============================================
+
+Checks for member expressions that access static members through instances, and
+replaces them with uses of the appropriate qualified-id.
+
+Example:
+
+The following code:
+
+.. code-block:: c++
+
+ struct C {
+ static void foo();
+ static int x;
+ };
+
+ C *c1 = new C();
+ c1->foo();
+ c1->x;
+
+is changed to:
+
+.. code-block:: c++
+
+ C *c1 = new C();
+ C::foo();
+ C::x;
+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-static-definition-in-anonymous-namespace.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,18 @@
+.. title:: clang-tidy - readability-static-definition-in-anonymous-namespace
+
+readability-static-definition-in-anonymous-namespace
+====================================================
+
+Finds static function and variable definitions in anonymous namespace.
+
+In this case, ``static`` is redundant, because anonymous namespace limits the
+visibility of definitions to a single translation unit.
+
+.. code-block:: c++
+
+ namespace {
+ static int a = 1; // Warning.
+ static const b = 1; // Warning.
+ }
+
+The check will apply a fix by removing the redundant ``static`` qualifier.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-string-compare.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-string-compare.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-string-compare.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-string-compare.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,54 @@
+.. title:: clang-tidy - readability-string-compare
+
+readability-string-compare
+==========================
+
+Finds string comparisons using the compare method.
+
+A common mistake is to use the string's ``compare`` method instead of using the
+equality or inequality operators. The compare method is intended for sorting
+functions and thus returns a negative number, a positive number or
+zero depending on the lexicographical relationship between the strings compared.
+If an equality or inequality check can suffice, that is recommended. This is
+recommended to avoid the risk of incorrect interpretation of the return value
+and to simplify the code. The string equality and inequality operators can
+also be faster than the ``compare`` method due to early termination.
+
+Examples:
+
+.. code-block:: c++
+
+ std::string str1{"a"};
+ std::string str2{"b"};
+
+ // use str1 != str2 instead.
+ if (str1.compare(str2)) {
+ }
+
+ // use str1 == str2 instead.
+ if (!str1.compare(str2)) {
+ }
+
+ // use str1 == str2 instead.
+ if (str1.compare(str2) == 0) {
+ }
+
+ // use str1 != str2 instead.
+ if (str1.compare(str2) != 0) {
+ }
+
+ // use str1 == str2 instead.
+ if (0 == str1.compare(str2)) {
+ }
+
+ // use str1 != str2 instead.
+ if (0 != str1.compare(str2)) {
+ }
+
+ // Use str1 == "foo" instead.
+ if (str1.compare("foo") == 0) {
+ }
+
+The above code examples shows the list of if-statements that this check will
+give a warning for. All of them uses ``compare`` to check if equality or
+inequality of two strings instead of using the correct operators.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-uniqueptr-delete-release.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-uniqueptr-delete-release.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-uniqueptr-delete-release.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-uniqueptr-delete-release.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,17 @@
+.. title:: clang-tidy - readability-uniqueptr-delete-release
+
+readability-uniqueptr-delete-release
+====================================
+
+Replace ``delete <unique_ptr>.release()`` with ``<unique_ptr> = nullptr``.
+The latter is shorter, simpler and does not require use of raw pointer APIs.
+
+.. code-block:: c++
+
+ std::unique_ptr<int> P;
+ delete P.release();
+
+ // becomes
+
+ std::unique_ptr<int> P;
+ P = nullptr;
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-uppercase-literal-suffix.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-uppercase-literal-suffix.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-uppercase-literal-suffix.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/readability-uppercase-literal-suffix.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,56 @@
+.. title:: clang-tidy - readability-uppercase-literal-suffix
+
+readability-uppercase-literal-suffix
+====================================
+
+`cert-dcl16-c` redirects here as an alias for this check.
+By default, only the suffixes that begin with ``l`` (``l``, ``ll``, ``lu``,
+``llu``, but not ``u``, ``ul``, ``ull``) are diagnosed by that alias.
+
+`hicpp-uppercase-literal-suffix` redirects here as an alias for this check.
+
+Detects when the integral literal or floating point (decimal or hexadecimal)
+literal has a non-uppercase suffix and provides a fix-it hint with the uppercase
+suffix.
+
+All valid combinations of suffixes are supported.
+
+.. code:: c
+
+ auto x = 1; // OK, no suffix.
+
+ auto x = 1u; // warning: integer literal suffix 'u' is not upper-case
+
+ auto x = 1U; // OK, suffix is uppercase.
+
+ ...
+
+Options
+-------
+
+.. option:: NewSuffixes
+
+ Optionally, a list of the destination suffixes can be provided. When the
+ suffix is found, a case-insensitive lookup in that list is made, and if a
+ replacement is found that is different from the current suffix, then the
+ diagnostic is issued. This allows for fine-grained control of what suffixes to
+ consider and what their replacements should be.
+
+Example
+^^^^^^^
+
+Given a list `L;uL`:
+
+* ``l`` -> ``L``
+* ``L`` will be kept as is.
+* ``ul`` -> ``uL``
+* ``Ul`` -> ``uL``
+* ``UL`` -> ``uL``
+* ``uL`` will be kept as is.
+* ``ull`` will be kept as is, since it is not in the list
+* and so on.
+
+.. option:: IgnoreMacros
+
+ If this option is set to non-zero (default is `1`), the check will not warn
+ about literal suffixes inside macros.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/zircon-temporary-objects.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/zircon-temporary-objects.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/zircon-temporary-objects.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/checks/zircon-temporary-objects.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,53 @@
+.. title:: clang-tidy - zircon-temporary-objects
+
+zircon-temporary-objects
+========================
+
+Warns on construction of specific temporary objects in the Zircon kernel.
+If the object should be flagged, If the object should be flagged, the fully
+qualified type name must be explicitly passed to the check.
+
+For example, given the list of classes "Foo" and "NS::Bar", all of the
+following will trigger the warning:
+
+.. code-block:: c++
+
+ Foo();
+ Foo F = Foo();
+ func(Foo());
+
+ namespace NS {
+
+ Bar();
+
+ }
+
+With the same list, the following will not trigger the warning:
+
+.. code-block:: c++
+
+ Foo F; // Non-temporary construction okay
+ Foo F(param); // Non-temporary construction okay
+ Foo *F = new Foo(); // New construction okay
+
+ Bar(); // Not NS::Bar, so okay
+ NS::Bar B; // Non-temporary construction okay
+
+Note that objects must be explicitly specified in order to be flagged,
+and so objects that inherit a specified object will not be flagged.
+
+This check matches temporary objects without regard for inheritance and so a
+prohibited base class type does not similarly prohibit derived class types.
+
+.. code-block:: c++
+
+ class Derived : Foo {} // Derived is not explicitly disallowed
+ Derived(); // and so temporary construction is okay
+
+Options
+-------
+
+.. option:: Names
+
+ A semi-colon-separated list of fully-qualified names of C++ classes that
+ should not be constructed as temporaries. Default is empty.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/index.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/index.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/index.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clang-tidy/index.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,314 @@
+==========
+Clang-Tidy
+==========
+
+.. contents::
+
+See also:
+
+.. toctree::
+ :maxdepth: 1
+
+ The list of clang-tidy checks <checks/list>
+ Clang-tidy IDE/Editor Integrations <Integrations>
+ Getting Involved <Contributing>
+
+:program:`clang-tidy` is a clang-based C++ "linter" tool. Its purpose is to
+provide an extensible framework for diagnosing and fixing typical programming
+errors, like style violations, interface misuse, or bugs that can be deduced via
+static analysis. :program:`clang-tidy` is modular and provides a convenient
+interface for writing new checks.
+
+
+Using clang-tidy
+================
+
+:program:`clang-tidy` is a `LibTooling`_-based tool, and it's easier to work
+with if you set up a compile command database for your project (for an example
+of how to do this see `How To Setup Tooling For LLVM`_). You can also specify
+compilation options on the command line after ``--``:
+
+.. code-block:: console
+
+ $ clang-tidy test.cpp -- -Imy_project/include -DMY_DEFINES ...
+
+:program:`clang-tidy` has its own checks and can also run Clang static analyzer
+checks. Each check has a name and the checks to run can be chosen using the
+``-checks=`` option, which specifies a comma-separated list of positive and
+negative (prefixed with ``-``) globs. Positive globs add subsets of checks,
+negative globs remove them. For example,
+
+.. code-block:: console
+
+ $ clang-tidy test.cpp -checks=-*,clang-analyzer-*,-clang-analyzer-cplusplus*
+
+will disable all default checks (``-*``) and enable all ``clang-analyzer-*``
+checks except for ``clang-analyzer-cplusplus*`` ones.
+
+The ``-list-checks`` option lists all the enabled checks. When used without
+``-checks=``, it shows checks enabled by default. Use ``-checks=*`` to see all
+available checks or with any other value of ``-checks=`` to see which checks are
+enabled by this value.
+
+.. _checks-groups-table:
+
+There are currently the following groups of checks:
+
+====================== =========================================================
+Name prefix Description
+====================== =========================================================
+``abseil-`` Checks related to Abseil library.
+``android-`` Checks related to Android.
+``boost-`` Checks related to Boost library.
+``bugprone-`` Checks that target bugprone code constructs.
+``cert-`` Checks related to CERT Secure Coding Guidelines.
+``cppcoreguidelines-`` Checks related to C++ Core Guidelines.
+``clang-analyzer-`` Clang Static Analyzer checks.
+``fuchsia-`` Checks related to Fuchsia coding conventions.
+``google-`` Checks related to Google coding conventions.
+``hicpp-`` Checks related to High Integrity C++ Coding Standard.
+``llvm-`` Checks related to the LLVM coding conventions.
+``misc-`` Checks that we didn't have a better category for.
+``modernize-`` Checks that advocate usage of modern (currently "modern"
+ means "C++11") language constructs.
+``mpi-`` Checks related to MPI (Message Passing Interface).
+``objc-`` Checks related to Objective-C coding conventions.
+``performance-`` Checks that target performance-related issues.
+``portability-`` Checks that target portability-related issues that don't
+ relate to any particular coding style.
+``readability-`` Checks that target readability-related issues that don't
+ relate to any particular coding style.
+``zircon-`` Checks related to Zircon kernel coding conventions.
+====================== =========================================================
+
+Clang diagnostics are treated in a similar way as check diagnostics. Clang
+diagnostics are displayed by :program:`clang-tidy` and can be filtered out using
+``-checks=`` option. However, the ``-checks=`` option does not affect
+compilation arguments, so it can not turn on Clang warnings which are not
+already turned on in build configuration. The ``-warnings-as-errors=`` option
+upgrades any warnings emitted under the ``-checks=`` flag to errors (but it
+does not enable any checks itself).
+
+Clang diagnostics have check names starting with ``clang-diagnostic-``.
+Diagnostics which have a corresponding warning option, are named
+``clang-diagnostic-<warning-option>``, e.g. Clang warning controlled by
+``-Wliteral-conversion`` will be reported with check name
+``clang-diagnostic-literal-conversion``.
+
+The ``-fix`` flag instructs :program:`clang-tidy` to fix found errors if
+supported by corresponding checks.
+
+An overview of all the command-line options:
+
+.. code-block:: console
+
+ $ clang-tidy --help
+ USAGE: clang-tidy [options] <source0> [... <sourceN>]
+
+ OPTIONS:
+
+ Generic Options:
+
+ -help - Display available options (-help-hidden for more)
+ -help-list - Display list of available options (-help-list-hidden for more)
+ -version - Display the version of this program
+
+ clang-tidy options:
+
+ -checks=<string> -
+ Comma-separated list of globs with optional '-'
+ prefix. Globs are processed in order of
+ appearance in the list. Globs without '-'
+ prefix add checks with matching names to the
+ set, globs with the '-' prefix remove checks
+ with matching names from the set of enabled
+ checks. This option's value is appended to the
+ value of the 'Checks' option in .clang-tidy
+ file, if any.
+ -config=<string> -
+ Specifies a configuration in YAML/JSON format:
+ -config="{Checks: '*',
+ CheckOptions: [{key: x,
+ value: y}]}"
+ When the value is empty, clang-tidy will
+ attempt to find a file named .clang-tidy for
+ each source file in its parent directories.
+ -dump-config -
+ Dumps configuration in the YAML format to
+ stdout. This option can be used along with a
+ file name (and '--' if the file is outside of a
+ project with configured compilation database).
+ The configuration used for this file will be
+ printed.
+ Use along with -checks=* to include
+ configuration of all checks.
+ -enable-check-profile -
+ Enable per-check timing profiles, and print a
+ report to stderr.
+ -explain-config -
+ For each enabled check explains, where it is
+ enabled, i.e. in clang-tidy binary, command
+ line or a specific configuration file.
+ -export-fixes=<filename> -
+ YAML file to store suggested fixes in. The
+ stored fixes can be applied to the input source
+ code with clang-apply-replacements.
+ -extra-arg=<string> - Additional argument to append to the compiler command line
+ -extra-arg-before=<string> - Additional argument to prepend to the compiler command line
+ -fix -
+ Apply suggested fixes. Without -fix-errors
+ clang-tidy will bail out if any compilation
+ errors were found.
+ -fix-errors -
+ Apply suggested fixes even if compilation
+ errors were found. If compiler errors have
+ attached fix-its, clang-tidy will apply them as
+ well.
+ -format-style=<string> -
+ Style for formatting code around applied fixes:
+ - 'none' (default) turns off formatting
+ - 'file' (literally 'file', not a placeholder)
+ uses .clang-format file in the closest parent
+ directory
+ - '{ <json> }' specifies options inline, e.g.
+ -format-style='{BasedOnStyle: llvm, IndentWidth: 8}'
+ - 'llvm', 'google', 'webkit', 'mozilla'
+ See clang-format documentation for the up-to-date
+ information about formatting styles and options.
+ This option overrides the 'FormatStyle` option in
+ .clang-tidy file, if any.
+ -header-filter=<string> -
+ Regular expression matching the names of the
+ headers to output diagnostics from. Diagnostics
+ from the main file of each translation unit are
+ always displayed.
+ Can be used together with -line-filter.
+ This option overrides the 'HeaderFilter' option
+ in .clang-tidy file, if any.
+ -line-filter=<string> -
+ List of files with line ranges to filter the
+ warnings. Can be used together with
+ -header-filter. The format of the list is a
+ JSON array of objects:
+ [
+ {"name":"file1.cpp","lines":[[1,3],[5,7]]},
+ {"name":"file2.h"}
+ ]
+ -list-checks -
+ List all enabled checks and exit. Use with
+ -checks=* to list all available checks.
+ -p=<string> - Build path
+ -quiet -
+ Run clang-tidy in quiet mode. This suppresses
+ printing statistics about ignored warnings and
+ warnings treated as errors if the respective
+ options are specified.
+ -store-check-profile=<prefix> -
+ By default reports are printed in tabulated
+ format to stderr. When this option is passed,
+ these per-TU profiles are instead stored as JSON.
+ -system-headers - Display the errors from system headers.
+ -vfsoverlay=<filename> -
+ Overlay the virtual filesystem described by file
+ over the real file system.
+ -warnings-as-errors=<string> -
+ Upgrades warnings to errors. Same format as
+ '-checks'.
+ This option's value is appended to the value of
+ the 'WarningsAsErrors' option in .clang-tidy
+ file, if any.
+
+ -p <build-path> is used to read a compile command database.
+
+ For example, it can be a CMake build directory in which a file named
+ compile_commands.json exists (use -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
+ CMake option to get this output). When no build path is specified,
+ a search for compile_commands.json will be attempted through all
+ parent paths of the first input file . See:
+ http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html for an
+ example of setting up Clang Tooling on a source tree.
+
+ <source0> ... specify the paths of source files. These paths are
+ looked up in the compile command database. If the path of a file is
+ absolute, it needs to point into CMake's source tree. If the path is
+ relative, the current working directory needs to be in the CMake
+ source tree and the file must be in a subdirectory of the current
+ working directory. "./" prefixes in the relative files will be
+ automatically removed, but the rest of a relative path must be a
+ suffix of a path in the compile command database.
+
+
+ Configuration files:
+ clang-tidy attempts to read configuration for each source file from a
+ .clang-tidy file located in the closest parent directory of the source
+ file. If any configuration options have a corresponding command-line
+ option, command-line option takes precedence. The effective
+ configuration can be inspected using -dump-config:
+
+ $ clang-tidy -dump-config
+ ---
+ Checks: '-*,some-check'
+ WarningsAsErrors: ''
+ HeaderFilterRegex: ''
+ FormatStyle: none
+ User: user
+ CheckOptions:
+ - key: some-check.SomeOption
+ value: 'some value'
+ ...
+
+Suppressing Undesired Diagnostics
+=================================
+
+:program:`clang-tidy` diagnostics are intended to call out code that does
+not adhere to a coding standard, or is otherwise problematic in some way.
+However, if it is known that the code is correct, the check-specific ways
+to silence the diagnostics could be used, if they are available (e.g.
+bugprone-use-after-move can be silenced by re-initializing the variable after it
+has been moved out, bugprone-string-integer-assignment can be suppressed by
+explicitly casting the integer to char, readability-implicit-bool-conversion can
+also be suppressed by using explicit casts, etc.). If they are not available or
+if changing the semantics of the code is not desired, the ``NOLINT`` or
+``NOLINTNEXTLINE`` comments can be used instead. For example:
+
+.. code-block:: c++
+
+ class Foo
+ {
+ // Silent all the diagnostics for the line
+ Foo(int param); // NOLINT
+
+ // Silent only the specified checks for the line
+ Foo(double param); // NOLINT(google-explicit-constructor, google-runtime-int)
+
+ // Silent only the specified diagnostics for the next line
+ // NOLINTNEXTLINE(google-explicit-constructor, google-runtime-int)
+ Foo(bool param);
+ };
+
+The formal syntax of ``NOLINT``/``NOLINTNEXTLINE`` is the following:
+
+.. parsed-literal::
+
+ lint-comment:
+ lint-command
+ lint-command lint-args
+
+ lint-args:
+ **(** check-name-list **)**
+
+ check-name-list:
+ *check-name*
+ check-name-list **,** *check-name*
+
+ lint-command:
+ **NOLINT**
+ **NOLINTNEXTLINE**
+
+Note that whitespaces between ``NOLINT``/``NOLINTNEXTLINE`` and the opening
+parenthesis are not allowed (in this case the comment will be treated just as
+``NOLINT``/``NOLINTNEXTLINE``), whereas in check names list (inside
+the parenthesis) whitespaces can be used and will be ignored.
+
+.. _LibTooling: http://clang.llvm.org/docs/LibTooling.html
+.. _How To Setup Tooling For LLVM: http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1 @@
+:orphan:
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/DeveloperDocumentation.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/DeveloperDocumentation.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/DeveloperDocumentation.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/DeveloperDocumentation.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,29 @@
+==================================
+Developer documentation for clangd
+==================================
+
+.. toctree::
+ :maxdepth: 1
+
+ Extensions
+
+Compiling clangd
+================
+
+To build clangd from source, please follow the instructions for `building Clang
+<https://clang.llvm.org/get_started.html>`_ and include LLVM, Clang, and the
+"extra Clang tools" in your build.
+
+Contributing to clangd
+======================
+
+A good place for interested contributors is the `Clangd developer mailing list
+<https://lists.llvm.org/mailman/listinfo/clangd-dev>`_. For discussions with
+the broader community on topics not only related to Clangd, use `Clang
+developer mailing list <https://lists.llvm.org/mailman/listinfo/cfe-dev>`_. If
+you're also interested in contributing patches to clangd, take a look at the
+`LLVM Developer Policy <https://llvm.org/docs/DeveloperPolicy.html>`_ and `Code
+Reviews <https://llvm.org/docs/Phabricator.html>`_ page. Contributions of new
+features to the `Language Server Protocol
+<https://github.com/Microsoft/language-server-protocol>`_ itself would also be
+very useful, so that clangd can eventually implement them in a conforming way.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/Extensions.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/Extensions.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/Extensions.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/Extensions.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,181 @@
+===================
+Protocol extensions
+===================
+
+clangd supports some features that are not in the official
+`Language Server Protocol specification
+<https://microsoft.github.io/language-server-protocol/specification>`__.
+
+We cautious about adding extensions. The most important considerations are:
+
+- **Editor support**: How many users will the feature be available to?
+- **Standardization**: Is the feature stable? Is it likely to be adopted by more
+ editors over time?
+- **Utility**: Does the feature provide a lot of value?
+- **Complexity**: Is this hard to implement in clangd, or constrain future work?
+ Is the protocol complicated?
+
+These extensions may evolve or disappear over time. If you use them, try to
+recover gracefully if the structures aren't what's expected.
+
+Switch between the implementation file and the header
+=====================================================
+
+*This extension is supported in clangd 6 and newer.*
+
+Switching between the implementation file and the header is an important
+feature for C++. A language server that understands C++ can do a better job
+than the editor.
+
+**New client->server request**: ``textDocument/switchSourceHeader``.
+
+Lets editors switch between the main source file (``*.cpp``) and header (``*.h``).
+
+Parameter: ``TextDocumentIdentifier``: an open file.
+
+Result: ``string``: the URI of the corresponding header (if a source file was
+provided) or source file (if a header was provided).
+
+If the corresponding file can't be determined, ``""`` is returned.
+
+.. _lsp-extension-file-status:
+
+File status
+===========
+
+*This extension is supported in clangd 8 and newer.*
+
+It is important to provide feedback to the user when the UI is not responsive.
+
+This extension provides information about activity on clangd's per-file worker
+thread. This information can be displayed to users to let them know that the
+language server is busy with something. For example, in clangd, building the
+AST blocks many other operations.
+
+**New server->client notification**: ``textDocument/clangd.fileStatus``
+
+Sent when the current activity for a file changes. Replaces previous activity
+for that file.
+
+Parameter: ``FileStatus`` object with properties:
+
+- ``uri : string``: the document whose status is being updated.
+- ``state : string``: human-readable information about current activity.
+
+**New initialization option**: ``initializationOptions.clangdFileStatus : bool``
+
+Enables receiving ``textDocument/clangd.fileStatus`` notifications.
+
+.. _lsp-extension-compilation-commands:
+
+Compilation commands
+====================
+
+*This extension is supported in clangd 8 and newer.*
+
+clangd relies on knowing accurate compilation options to correctly interpret a
+file. Typically they are found in a ``compile_commands.json`` file in a
+directory that contains the file, or an ancestor directory. The following
+extensions allow editors to supply the commands over LSP instead.
+
+**New initialization option**: ``initializationOptions.compilationDatabasePath : string``
+
+Specifies the directory containing the compilation database (e.g.,
+``compile_commands.json``). This path will be used for all files, instead of
+searching their ancestor directories.
+
+**New initialization option**: ``initializationOptions.fallbackFlags : string[]``
+
+Controls the flags used when no specific compile command is found. The compile
+command will be approximately ``clang $FILE $fallbackFlags`` in this case.
+
+**New configuration setting**: ``settings.compilationDatabaseChanges : {string: CompileCommand}``
+
+Provides compile commands for files. This can also be provided on startup as
+``initializationOptions.compilationDatabaseChanges``.
+
+Keys are file paths (Not URIs!)
+
+Values are ``{workingDirectory: string, compilationCommand: string[]}``.
+
+Force diagnostics generation
+============================
+
+*This extension is supported in clangd 7 and newer.*
+
+Clangd does not regenerate diagnostics for every version of a file (e.g., after
+every keystroke), as that would be too slow. Its heuristics ensure:
+
+- diagnostics do not get too stale,
+- if you stop editing, diagnostics will catch up.
+
+This extension allows editors to force diagnostics to be generated or not
+generated at a particular revision.
+
+**New property of** ``textDocument/didChange`` **request**: ``wantDiagnostics : bool``
+
+- if true, diagnostics will be produced for exactly this version.
+- if false, diagnostics will not be produced for this version, even if there
+ are no further edits.
+- if unset, diagnostics will be produced for this version or some subsequent
+ one in a bounded amount of time.
+
+Diagnostic categories
+=====================
+
+*This extension is supported in clangd 8 and newer.*
+
+Clang compiler groups diagnostics into categories (e.g., "Inline Assembly
+Issue"). Clangd can emit these categories for interested editors.
+
+**New property of** ``Diagnostic`` **object**: ``category : string``:
+
+A human-readable name for a group of related diagnostics. Diagnostics with the
+same code will always have the same category.
+
+**New client capability**: ``textDocument.publishDiagnostics.categorySupport``:
+
+Requests that clangd send ``Diagnostic.category``.
+
+.. _lsp-extension-code-actions-in-diagnostics:
+
+Inline fixes for diagnostics
+============================
+
+*This extension is supported in clangd 8 and newer.*
+
+LSP specifies that code actions for diagnostics (fixes) are retrieved
+asynchronously using ``textDocument/codeAction``. clangd always computes fixes
+eagerly. Providing them alongside diagnostics can improve the UX in editors.
+
+**New property of** ``Diagnostic`` **object**: ``codeActions : CodeAction[]``:
+
+All the code actions that address this diagnostic.
+
+**New client capability**: ``textDocument.publishDiagnostics.codeActionsInline : bool``
+
+Requests clangd to send ``Diagnostic.codeActions``.
+
+.. _lsp-extension-symbol-info:
+
+Symbol info request
+===================
+
+*This extension is supported in clangd 8 and newer.*
+
+**New client->server request**: ``textDocument/symbolInfo``:
+
+This request attempts to resolve the symbol under the cursor, without
+retrieving further information (like definition location, which may require
+consulting an index). This request was added to support integration with
+indexes outside clangd.
+
+Parameter: ``TextDocumentPositionParams``
+
+Response: ``SymbolDetails``, an object with properties:
+
+- ``name : string`` the unqualified name of the symbol
+- ``containerName : string`` the enclosing namespace, class etc (without
+ trailing ``::``)
+- ``usr : string``: the clang-specific "unified symbol resolution" identifier
+- ``id : string?``: the clangd-specific opaque symbol ID
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/Features.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/Features.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/Features.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/Features.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,231 @@
+========
+Features
+========
+
+.. role:: raw-html(raw)
+ :format: html
+
+Here is what clangd can do for you. Screenshots below show `VSCode
+<https://code.visualstudio.com/>`__; the available features and UI depend on
+the editor.
+
+Errors and warnings
+===================
+
+clangd runs the clang compiler on your code as you type, and shows errors and
+warnings in-place. Some errors are suppressed: diagnostics that require
+expanding templates in headers are disabled for performance reasons.
+
+:raw-html:`<details><summary markdown="span">Screenshot</summary>`
+
+.. image:: ErrorsInVSCode.png
+ :align: center
+ :alt: Demonstration of errors
+
+:raw-html:`</details>`
+
+Fixes in errors and warnings
+----------------------------
+
+The compiler can suggest fixes for many common problems automatically, and
+clangd can update the code for you.
+
+:raw-html:`<details><summary markdown="span">Animated demo</summary>`
+
+.. image:: ApplyFixInVSCode.gif
+ :align: center
+ :alt: Applying a fix suggested by the compiler
+
+:raw-html:`</details>`
+
+Code completion
+===============
+
+You'll see suggestions as you type based on what methods, variables, etc are
+available in this context.
+
+:raw-html:`<details><summary markdown="span">Screenshot</summary>`
+
+.. image:: CodeCompletionInVSCode.png
+ :align: center
+ :alt: Code completion demonstration
+
+:raw-html:`</details>`
+
+Abbreviating words may help you find the right result faster. If you type in
+``camelCase`` but the function you're looking for is ``snake_case``, that's OK.
+
+Insertion of namespace qualifiers and includes
+----------------------------------------------
+
+**(New in v8)**
+clangd will sometimes suggest results from other files and namespaces. In this
+case the correct qualifier and ``#include`` directive will be inserted.
+
+:raw-html:`<details><summary markdown="span">Animated demo</summary>`
+
+.. image:: CodeCompletionInsertsNamespaceQualifiersInVSCode.gif
+ :align: center
+ :alt: Code completion inserts namespace qualifiers
+
+:raw-html:`</details>`
+
+Signature help
+--------------
+
+Some editors will show you the parameters of the function you're calling, as
+you fill them in.
+
+:raw-html:`<details><summary markdown="span">Animated demo</summary>`
+
+.. image:: SignatureHelpInVSCode.gif
+ :align: center
+ :alt: Demonstration of the signature help feature
+
+:raw-html:`</details>`
+
+Cross-references
+================
+
+The following features let you navigate your codebase.
+
+If there is no project-wide index, cross-references work across the files
+you have opened.
+
+Find definition/declaration
+---------------------------
+
+Jump to the definition or declaration of a symbol under the cursor.
+
+:raw-html:`<details><summary markdown="span">Animated demo</summary>`
+
+.. image:: GoToDefinitionInVSCode.gif
+ :align: center
+ :alt: Demonstration of the "Go to definition" feature
+
+:raw-html:`</details>`
+
+Find references
+---------------
+
+Show all references to a symbol under the cursor.
+
+:raw-html:`<details><summary markdown="span">Animated demo</summary>`
+
+.. image:: FindAllReferencesInVSCode.gif
+ :align: center
+ :alt: Demonstration of the "Find all references" feature
+
+:raw-html:`</details>`
+
+Some editors will automatically highlight local references to the selected
+symbol as you move around a file.
+
+Navigation
+==========
+
+clangd informs the editor of the code structure in the current file.
+Some editors use this to present an outline view:
+
+:raw-html:`<details><summary markdown="span">Screenshot</summary>`
+
+.. image:: OutlineInVSCode.png
+ :align: center
+ :alt: Outline of a file
+
+:raw-html:`</details>`
+
+In VSCode, the outline is also presented as breadcrumbs that allow jumping to a
+symbol within the current file. Searching for symbols within the scope of the
+whole project is also possible.
+
+:raw-html:`<details><summary markdown="span">Animated demo</summary>`
+
+.. image:: NavigationWithBreadcrumbsInVSCode.gif
+ :align: center
+ :alt: Navigation with breadcrumbs
+
+:raw-html:`</details>`
+
+Formatting
+==========
+
+clangd embeds `clang-format <https://clang.llvm.org/docs/ClangFormat.html>`__,
+which can reformat your code: fixing indentation, breaking lines, and reflowing
+comments.
+
+:raw-html:`<details><summary markdown="span">Animated demo</summary>`
+
+.. image:: FormatSelectionInVSCode.gif
+ :align: center
+ :alt: Formatting selected code
+
+:raw-html:`</details>`
+
+clangd respects your project's ``.clang-format`` file which controls styling
+options.
+
+Format-as-you-type is experimental and doesn't work well yet.
+
+Complete list of features
+=========================
+
+Here is a list of features that could be useful for editors, together with the
+implementation status in clangd, and specification in the Language Server
+Protocol.
+
+It is not clear whether or not some of the features mentioned below should be a
+part of the Language Server Protocol; those features might be eventually
+developed outside clangd or become clangd extensions to LSP.
+
++-------------------------------------+------------+----------+
+| C/C++ Editor feature | LSP | Clangd |
++=====================================+============+==========+
+| Formatting | Yes | Yes |
++-------------------------------------+------------+----------+
+| Completion | Yes | Yes |
++-------------------------------------+------------+----------+
+| Diagnostics | Yes | Yes |
++-------------------------------------+------------+----------+
+| Fix-its | Yes | Yes |
++-------------------------------------+------------+----------+
+| Go to Definition | Yes | Yes |
++-------------------------------------+------------+----------+
+| Signature Help | Yes | Yes |
++-------------------------------------+------------+----------+
+| Document Highlights | Yes | Yes |
++-------------------------------------+------------+----------+
+| Rename | Yes | Yes |
++-------------------------------------+------------+----------+
+| Source hover | Yes | Yes |
++-------------------------------------+------------+----------+
+| Find References | Yes | Yes |
++-------------------------------------+------------+----------+
+| Document Symbols | Yes | Yes |
++-------------------------------------+------------+----------+
+| Workspace Symbols | Yes | Yes |
++-------------------------------------+------------+----------+
+| Code Lens | Yes | No |
++-------------------------------------+------------+----------+
+| Code folding | Yes | No |
++-------------------------------------+------------+----------+
+| Extract Local Variable | Yes | No |
++-------------------------------------+------------+----------+
+| Extract Function/Method | Yes | No |
++-------------------------------------+------------+----------+
+| Quick Assist | Yes | No |
++-------------------------------------+------------+----------+
+| Hide Method | Yes | No |
++-------------------------------------+------------+----------+
+| Implement Method | Yes | No |
++-------------------------------------+------------+----------+
+| Gen. Getters/Setters | Yes | No |
++-------------------------------------+------------+----------+
+| Syntax and Semantic Coloring | No | No |
++-------------------------------------+------------+----------+
+| Call hierarchy | No | No |
++-------------------------------------+------------+----------+
+| Type hierarchy | No | No |
++-------------------------------------+------------+----------+
+| Organize Includes | No | No |
++-------------------------------------+------------+----------+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/Installation.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/Installation.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/Installation.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/Installation.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,371 @@
+===========================
+Getting started with clangd
+===========================
+
+.. role:: raw-html(raw)
+ :format: html
+
+To use clangd, you need to:
+
+- install clangd,
+- install a plugin for your editor,
+- tell clangd how your project is built.
+
+Installing clangd
+=================
+
+You need a **recent** version of clangd: 7.0 was the first usable release, and
+8.0 is much better.
+
+After installing, ``clangd --version`` should print ``clangd version 7.0.0`` or
+later.
+
+:raw-html:`<details><summary markdown="span">macOS</summary>`
+
+`Homebrew <https://brew.sh>`__ can install clangd along with LLVM:
+
+.. code-block:: console
+
+ $ brew install llvm
+
+If you don't want to use Homebrew, you can download the a binary release of
+LLVM from `releases.llvm.org <http://releases.llvm.org/download.html>`__.
+Alongside ``bin/clangd`` you will need at least ``lib/clang/*/include``:
+
+.. code-block:: console
+
+ $ cp clang+llvm-7.0.0/bin/clangd /usr/local/bin/clangd
+ $ cp -r clang+llvm-7.0.0/lib/clang/ /usr/local/lib/
+
+:raw-html:`</details>`
+
+:raw-html:`<details><summary markdown="span">Windows</summary>`
+
+Download and run the LLVM installer from `releases.llvm.org
+<http://releases.llvm.org/download.html>`__.
+
+:raw-html:`</details>`
+
+:raw-html:`<details><summary markdown="span">Debian/Ubuntu</summary>`
+
+The ``clang-tools`` package usually contains an old version of clangd.
+
+Try to install the latest release (8.0):
+
+.. code-block:: console
+
+ $ sudo apt-get install clang-tools-8
+
+If that is not found, at least ``clang-tools-7`` should be available.
+
+The ``clangd`` executable will be installed as ``/usr/bin/clangd-8``. Make it
+the default ``clangd``:
+
+.. code-block:: console
+
+ $ sudo update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-8 100
+
+:raw-html:`</details>`
+
+:raw-html:`<details><summary markdown="span">Other systems</summary>`
+
+Most distributions include clangd in a ``clang-tools`` package, or in the full
+``llvm`` distribution.
+
+For some platforms, binaries are also avaliable at `releases.llvm.org
+<http://releases.llvm.org/download.html>`__.
+
+:raw-html:`</details>`
+
+Editor plugins
+==============
+
+Language Server plugins are available for many editors. In principle, clangd
+should work with any of them, though the feature set and UI may vary.
+
+Here are some plugins we know work well with clangd.
+
+:raw-html:`<details><summary markdown="span">YouCompleteMe for Vim</summary>`
+
+`YouCompleteMe <https://valloric.github.io/YouCompleteMe/>`__ supports clangd.
+However, clangd support is not turned on by default, so you must install
+YouCompleteMe with ``install.py --clangd-completer``.
+
+We recommend changing a couple of YCM's default settings. In ``.vimrc`` add:
+
+::
+
+ " Let clangd fully control code completion
+ let g:ycm_clangd_uses_ycmd_caching = 0
+ " Use installed clangd, not YCM-bundled clangd which doesn't get updates.
+ let g:ycm_clangd_binary_path = exepath("clangd")
+
+You should see errors highlighted and code completions as you type.
+
+.. image:: CodeCompletionInYCM.png
+ :align: center
+ :alt: Code completion in YouCompleteMe
+
+YouCompleteMe supports many of clangd's features:
+
+- code completion,
+- diagnostics and fixes (``:YcmCompleter FixIt``),
+- find declarations, references, and definitions (``:YcmCompleter GoTo`` etc),
+- rename symbol (``:YcmCompleter RefactorRename``).
+
+**Under the hood**
+
+- **Debug logs**: run ``:YcmDebugInfo`` to see clangd status, and ``:YcmToggleLogs``
+ to view clangd's debug logs.
+- **Command-line flags**: Set ``g:ycm_clangd_args`` in ``.vimrc``, e.g.:
+
+ ::
+
+ let g:ycm_clangd_args = ['-log=verbose', '-pretty']
+
+- **Alternate clangd binary**: set ``g:ycm_clangd_binary_path`` in ``.vimrc``.
+
+:raw-html:`</details>`
+
+:raw-html:`<details><summary markdown="span">LanguageClient for Vim and Neovim</summary>`
+
+`LanguageClient-neovim <https://github.com/autozimu/LanguageClient-neovim>`__
+has `instructions for using clangd
+<https://github.com/autozimu/LanguageClient-neovim/wiki/Clangd>`__, and **may**
+be easier to install than YouCompleteMe.
+
+:raw-html:`</details>`
+
+:raw-html:`<details><summary markdown="span">Eglot for Emacs</summary>`
+
+`eglot <https://github.com/joaotavora/eglot>`__ can be configured to work with
+clangd.
+
+Install eglot with ``M-x package-install RET eglot RET``.
+
+Add the following to ``~/.emacs`` to enable clangd:
+
+::
+
+ (require 'eglot)
+ (add-to-list 'eglot-server-programs '((c++-mode c-mode) "clangd"))
+ (add-hook 'c-mode-hook 'eglot-ensure)
+ (add-hook 'c++-mode-hook 'eglot-ensure)
+
+After restarting you should see diagnostics for errors in your code, and ``M-x
+completion-at-point`` should work.
+
+.. image:: DiagnosticsInEmacsEglot.png
+ :align: center
+ :alt: Diagnostics in Emacs
+
+eglot supports many of clangd's features, with caveats:
+
+- code completion, though the interaction is quite poor (even with
+ ``company-mode``, see below),
+- diagnostics and fixes,
+- find definitions and references (``M-x xref-find-definitions`` etc),
+- hover and highlights,
+- code actions (``M-x eglot-code-actions``).
+
+**company-mode**
+
+eglot does have basic integration with company-mode, which provides a more
+fluent completion UI.
+
+You can install it with ``M-x package-install RET company RET``, and enable it
+with ``M-x company-mode``.
+
+**company-clang is enabled by default**, and will interfere with clangd.
+Disable it in ``M-x customize-variable RET company-backends RET``.
+
+Completion still has some major limitations:
+
+- completions are alphabetically sorted, not ranked.
+- only pure-prefix completions are shown - no fuzzy matches.
+- completion triggering seems to be a bit hit-and-miss.
+
+.. image:: CodeCompletionInEmacsCompanyMode.png
+ :align: center
+ :alt: Completion in company-mode
+
+**Under the hood**
+
+- **Debug logs**: available in the ``EGLOT stderr`` buffer.
+- **Command-line flags and alternate binary**: instead of adding ``"clangd"``
+ to ``eglot-server-programs``, add ``("/path/to/clangd" "-log=verbose")`` etc.
+
+:raw-html:`</details>`
+
+:raw-html:`<details><summary markdown="span">Visual Studio Code</summary>`
+
+The official extension is `vscode-clangd
+<https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd>`__
+and can be installed from within VSCode.
+
+Choose **View** --> **Extensions**, then search for "clangd". (Make sure the
+Microsoft C/C++ extension is **not** installed).
+
+After restarting, you should see red underlines underneath errors, and you
+should get rich code completions including e.g. function parameters.
+
+.. image:: CodeCompletionInVSCode.png
+ :align: center
+ :alt: Code completion in VSCode
+
+vscode-clangd has excellent support for all clangd features, including:
+
+- code completion
+- diagnostics and fixes
+- find declarations, references, and definitions
+- find symbol in file (``Ctrl-P @foo``) or workspace (``Ctrl-P #foo``)
+- hover and highlights
+- code actions
+
+**Under the hood**
+
+- **Debug logs**: when clangd is running, you should see "Clang Language
+ Server" in the dropdown of the Output panel (**View** -> **Output**).
+
+- **Command-line flags**: these can be passed in the ``clangd.arguments`` array
+ in your ``settings.json``. (**File** -> **Preferences** -> **Settings**).
+
+- **Alternate clangd binary**: set the ``clangd.path`` string in
+ ``settings.json``.
+
+:raw-html:`</details>`
+
+:raw-html:`<details><summary markdown="span">Sublime Text</summary>`
+
+`tomv564/LSP <https://github.com/tomv564/LSP>`__ works with clangd out of the box.
+
+Select **Tools** --> **Install Package Control** (if you haven't installed it
+yet).
+
+Press ``Ctrl-Shift-P`` and select **Package Control: Install Package**. Select
+**LSP**.
+
+Press ``Ctrl-Shift-P`` and select **LSP: Enable Language Server Globally**.
+Select **clangd**.
+
+Open a C++ file, and you should see diagnostics and completion:
+
+.. image:: CodeCompletionInSublimeText.png
+ :align: center
+ :alt: Code completion in Sublime Text
+
+
+The LSP package has excellent support for all most clangd features, including:
+
+- code completion (a bit noisy due to how snippets are presented)
+- diagnostics and fixes
+- find definition and references
+- hover and highlights
+- code actions
+
+**Under the hood**
+
+Settings can be tweaked under **Preferences** --> **Package Settings** -->
+**LSP**.
+
+- **Debug logs**: add ``"log_stderr": true``
+- **Command-line flags and alternate clangd binary**: inside the ``"clients":
+ {"clangd": { ... } }`` section, add ``"command": ["/path/to/clangd",
+ "-log=verbose"]`` etc.
+
+:raw-html:`</details>`
+
+:raw-html:`<details><summary markdown="span">Other editors</summary>`
+
+There is a directory of LSP clients at `langserver.org
+<http://langserver.org>`__.
+
+A generic client should be configured to run the command ``clangd``, and
+communicate via the language server protocol on standard input/output.
+
+If you don't have strong feelings about an editor, we suggest you try out
+`VSCode <https://code.visualstudio.com/>`__, it has excellent language server
+support and most faithfully demonstrates what clangd can do.
+
+:raw-html:`</details>`
+
+Project setup
+=============
+
+To understand source code in your project, clangd needs to know the build
+flags. (This is just a fact of life in C++, source files are not
+self-contained.)
+
+By default, clangd will assume that source code is built as ``clang
+some_file.cc``, and you'll probably get spurious errors about missing
+``#include``\ d files, etc. There are a couple of ways to fix this.
+
+``compile_commands.json``
+-------------------------
+
+``compile_commands.json`` file provides compile commands for all source files
+in the project. This file is usually generated by the build system, or tools
+integrated with the build system. Clangd will look for this file in the parent
+directories of the files you edit.
+
+:raw-html:`<details><summary markdown="span">CMake-based projects</summary>`
+
+If your project builds with CMake, it can generate ``compile_commands.json``.
+You should enable it with:
+
+::
+
+ $ cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1
+
+``compile_commands.json`` will be written to your build directory. You should
+symlink it (or copy it) to the root of your source tree, if they are different.
+
+::
+
+ $ ln -s ~/myproject/compile_commands.json ~/myproject-build/
+
+:raw-html:`</details>`
+
+:raw-html:`<details><summary markdown="span">Other build systems, using Bear</summary>`
+
+`Bear <https://github.com/rizsotto/Bear>`__ is a tool that generates a
+``compile_commands.json`` file by recording a complete build.
+
+For a ``make``-based build, you can run ``make clean; bear make`` to generate the
+file (and run a clean build!)
+
+:raw-html:`</details>`
+
+Other tools can also generate this file. See `the compile_commands.json
+specification <https://clang.llvm.org/docs/JSONCompilationDatabase.html>`__.
+
+``compile_flags.txt``
+---------------------
+
+If all files in a project use the same build flags, you can put those flags,
+one flag per line, in ``compile_flags.txt`` in your source root.
+
+Clangd will assume the compile command is ``clang $FLAGS some_file.cc``.
+
+Creating this file by hand is a reasonable place to start if your project is
+quite simple.
+
+.. _project-wide-index:
+
+Project-wide Index
+==================
+
+By default clangd only has a view on symbols coming from files you are
+currently editing. You can extend this view to whole project by providing a
+project-wide index to clangd. There are two ways to do this.
+
+- Pass an experimental `-background-index` command line argument. With
+ this feature enabled, clangd incrementally builds an index of projects
+ that you work on and uses the just-built index automatically.
+
+- Generate an index file using `clangd-indexer
+ <https://github.com/llvm/llvm-project/blob/master/clang-tools-extra/clangd/indexer/IndexerMain.cpp>`__
+ Then you can pass generated index file to clangd using
+ `-index-file=/path/to/index_file`. *Note that clangd-indexer isn't
+ included alongside clangd in the Debian clang-tools package. You will
+ likely have to build clangd from source to use this option.*
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/index.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/index.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/index.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/clangd/index.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,27 @@
+======
+clangd
+======
+
+.. toctree::
+ :maxdepth: 1
+
+ Installation
+ Features
+
+What is clangd?
+===============
+
+clangd understands your C++ code and adds smart features to your editor: code
+completion, compile errors, go-to-definition and more.
+
+clangd is a language server that implements the `Language Server Protocol
+<https://github.com/Microsoft/language-server-protocol>`__; it can work with
+many editors through a plugin. Here's Visual Studio Code with the clangd
+plugin, demonstrating code completion:
+
+.. image:: CodeCompletionInVSCode.png
+ :align: center
+ :alt: Code completion in VSCode
+
+clangd is based on the `Clang <https://clang.llvm.org>`__ C++ compiler, and is
+part of the `LLVM <https://llvm.org>`__ project.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/cpp11-migrate.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/cpp11-migrate.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/cpp11-migrate.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/cpp11-migrate.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,4 @@
+:orphan:
+
+All :program:`clang-modernize` transforms have moved to :doc:`clang-tidy/index`
+(see the ``modernize`` module).
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/include-fixer.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/include-fixer.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/include-fixer.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/include-fixer.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,155 @@
+===================
+Clang-Include-Fixer
+===================
+
+.. contents::
+
+One of the major nuisances of C++ compared to other languages is the manual
+management of ``#include`` directives in any file.
+:program:`clang-include-fixer` addresses one aspect of this problem by providing
+an automated way of adding ``#include`` directives for missing symbols in one
+translation unit.
+
+While inserting missing ``#include``, :program:`clang-include-fixer` adds
+missing namespace qualifiers to all instances of an unidentified symbol if
+the symbol is missing some prefix namespace qualifiers.
+
+Setup
+=====
+
+To use :program:`clang-include-fixer` two databases are required. Both can be
+generated with existing tools.
+
+- Compilation database. Contains the compiler commands for any given file in a
+ project and can be generated by CMake, see `How To Setup Tooling For LLVM`_.
+- Symbol index. Contains all symbol information in a project to match a given
+ identifier to a header file.
+
+Ideally both databases (``compile_commands.json`` and
+``find_all_symbols_db.yaml``) are linked into the root of the source tree they
+correspond to. Then the :program:`clang-include-fixer` can automatically pick
+them up if called with a source file from that tree. Note that by default
+``compile_commands.json`` as generated by CMake does not include header files,
+so only implementation files can be handled by tools.
+
+.. _How To Setup Tooling For LLVM: http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html
+
+Creating a Symbol Index From a Compilation Database
+---------------------------------------------------
+
+The include fixer contains :program:`find-all-symbols`, a tool to create a
+symbol database in YAML format from a compilation database by parsing all
+source files listed in it. The following list of commands shows how to set up a
+database for LLVM, any project built by CMake should follow similar steps.
+
+.. code-block:: console
+
+ $ cd path/to/llvm-build
+ $ ninja find-all-symbols // build find-all-symbols tool.
+ $ ninja clang-include-fixer // build clang-include-fixer tool.
+ $ ls compile_commands.json # Make sure compile_commands.json exists.
+ compile_commands.json
+ $ path/to/llvm/source/tools/clang/tools/extra/include-fixer/find-all-symbols/tool/run-find-all-symbols.py
+ ... wait as clang indexes the code base ...
+ $ ln -s $PWD/find_all_symbols_db.yaml path/to/llvm/source/ # Link database into the source tree.
+ $ ln -s $PWD/compile_commands.json path/to/llvm/source/ # Also link compilation database if it's not there already.
+ $ cd path/to/llvm/source
+ $ /path/to/clang-include-fixer -db=yaml path/to/file/with/missing/include.cpp
+ Added #include "foo.h"
+
+Integrate with Vim
+------------------
+To run `clang-include-fixer` on a potentially unsaved buffer in Vim. Add the
+following key binding to your ``.vimrc``:
+
+.. code-block:: console
+
+ noremap <leader>cf :pyf path/to/llvm/source/tools/clang/tools/extra/include-fixer/tool/clang-include-fixer.py<cr>
+
+This enables `clang-include-fixer` for NORMAL and VISUAL mode. Change
+`<leader>cf` to another binding if you need clang-include-fixer on a different
+key. The `<leader> key
+<http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_3)#Map_leader>`_
+is a reference to a specific key defined by the mapleader variable and is bound
+to backslash by default.
+
+Make sure vim can find :program:`clang-include-fixer`:
+
+- Add the path to :program:`clang-include-fixer` to the PATH environment variable.
+- Or set ``g:clang_include_fixer_path`` in vimrc: ``let g:clang_include_fixer_path=path/to/clang-include-fixer``
+
+You can customize the number of headers being shown by setting
+``let g:clang_include_fixer_maximum_suggested_headers=5``
+
+Customized settings in `.vimrc`:
+
+- ``let g:clang_include_fixer_path = "clang-include-fixer"``
+
+ Set clang-include-fixer binary file path.
+
+- ``let g:clang_include_fixer_maximum_suggested_headers = 3``
+
+ Set the maximum number of ``#includes`` to show. Default is 3.
+
+- ``let g:clang_include_fixer_increment_num = 5``
+
+ Set the increment number of #includes to show every time when pressing ``m``.
+ Default is 5.
+
+- ``let g:clang_include_fixer_jump_to_include = 0``
+
+ Set to 1 if you want to jump to the new inserted ``#include`` line. Default is
+ 0.
+
+- ``let g:clang_include_fixer_query_mode = 0``
+
+ Set to 1 if you want to insert ``#include`` for the symbol under the cursor.
+ Default is 0. Compared to normal mode, this mode won't parse the source file
+ and only search the sysmbol from database, which is faster than normal mode.
+
+See ``clang-include-fixer.py`` for more details.
+
+Integrate with Emacs
+--------------------
+To run `clang-include-fixer` on a potentially unsaved buffer in Emacs.
+Ensure that Emacs finds ``clang-include-fixer.el`` by adding the directory
+containing the file to the ``load-path`` and requiring the `clang-include-fixer`
+in your ``.emacs``:
+
+.. code-block:: console
+
+ (add-to-list 'load-path "path/to/llvm/source/tools/clang/tools/extra/include-fixer/tool/"
+ (require 'clang-include-fixer)
+
+Within Emacs the tool can be invoked with the command
+``M-x clang-include-fixer``. This will insert the header that defines the
+first undefined symbol; if there is more than one header that would define the
+symbol, the user is prompted to select one.
+
+To include the header that defines the symbol at point, run
+``M-x clang-include-fixer-at-point``.
+
+Make sure Emacs can find :program:`clang-include-fixer`:
+
+- Either add the parent directory of :program:`clang-include-fixer` to the PATH
+ environment variable, or customize the Emacs user option
+ ``clang-include-fixer-executable`` to point to the file name of the program.
+
+How it Works
+============
+
+To get the most information out of Clang at parse time,
+:program:`clang-include-fixer` runs in tandem with the parse and receives
+callbacks from Clang's semantic analysis. In particular it reuses the existing
+support for typo corrections. Whenever Clang tries to correct a potential typo
+it emits a callback to the include fixer which then looks for a corresponding
+file. At this point rich lookup information is still available, which is not
+available in the AST at a later stage.
+
+The identifier that should be typo corrected is then sent to the database, if a
+header file is returned it is added as an include directive at the top of the
+file.
+
+Currently :program:`clang-include-fixer` only inserts a single include at a
+time to avoid getting caught in follow-up errors. If multiple `#include`
+additions are desired the program can be rerun until a fix-point is reached.
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/index.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/index.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/index.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/index.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,32 @@
+.. title:: Welcome to Extra Clang Tools's documentation!
+
+Introduction
+============
+Welcome to the clang-tools-extra project which contains extra tools built using
+Clang's tooling APIs.
+
+.. toctree::
+ :maxdepth: 1
+
+ ReleaseNotes
+
+Contents
+========
+.. toctree::
+ :maxdepth: 2
+
+ clang-tidy/index
+ include-fixer
+ modularize
+ pp-trace
+ clang-rename
+ clangd/index
+ clangd/DeveloperDocumentation
+ clang-doc
+
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`search`
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/modularize.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/modularize.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/modularize.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/modularize.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,265 @@
+.. index:: modularize
+
+==================================
+Modularize User's Manual
+==================================
+
+.. toctree::
+ :hidden:
+
+ ModularizeUsage
+
+:program:`modularize` is a standalone tool that checks whether a set of headers
+provides the consistent definitions required to use modules. For example, it
+detects whether the same entity (say, a NULL macro or size_t typedef) is
+defined in multiple headers or whether a header produces different definitions
+under different circumstances. These conditions cause modules built from the
+headers to behave poorly, and should be fixed before introducing a module
+map.
+
+:program:`modularize` also has an assistant mode option for generating
+a module map file based on the provided header list. The generated file
+is a functional module map that can be used as a starting point for a
+module.map file.
+
+Getting Started
+===============
+
+To build from source:
+
+1. Read `Getting Started with the LLVM System`_ and `Clang Tools
+ Documentation`_ for information on getting sources for LLVM, Clang, and
+ Clang Extra Tools.
+
+2. `Getting Started with the LLVM System`_ and `Building LLVM with CMake`_ give
+ directions for how to build. With sources all checked out into the
+ right place the LLVM build will build Clang Extra Tools and their
+ dependencies automatically.
+
+ * If using CMake, you can also use the ``modularize`` target to build
+ just the modularize tool and its dependencies.
+
+Before continuing, take a look at :doc:`ModularizeUsage` to see how to invoke
+modularize.
+
+.. _Getting Started with the LLVM System: http://llvm.org/docs/GettingStarted.html
+.. _Building LLVM with CMake: http://llvm.org/docs/CMake.html
+.. _Clang Tools Documentation: http://clang.llvm.org/docs/ClangTools.html
+
+What Modularize Checks
+======================
+
+Modularize will check for the following:
+
+* Duplicate global type and variable definitions
+* Duplicate macro definitions
+* Macro instances, 'defined(macro)', or #if, #elif, #ifdef, #ifndef conditions
+ that evaluate differently in a header
+* #include directives inside 'extern "C/C++" {}' or 'namespace (name) {}' blocks
+* Module map header coverage completeness (in the case of a module map input
+ only)
+
+Modularize will do normal C/C++ parsing, reporting normal errors and warnings,
+but will also report special error messages like the following::
+
+ error: '(symbol)' defined at multiple locations:
+ (file):(row):(column)
+ (file):(row):(column)
+
+ error: header '(file)' has different contents depending on how it was included
+
+The latter might be followed by messages like the following::
+
+ note: '(symbol)' in (file) at (row):(column) not always provided
+
+Checks will also be performed for macro expansions, defined(macro)
+expressions, and preprocessor conditional directives that evaluate
+inconsistently, and can produce error messages like the following::
+
+ (...)/SubHeader.h:11:5:
+ #if SYMBOL == 1
+ ^
+ error: Macro instance 'SYMBOL' has different values in this header,
+ depending on how it was included.
+ 'SYMBOL' expanded to: '1' with respect to these inclusion paths:
+ (...)/Header1.h
+ (...)/SubHeader.h
+ (...)/SubHeader.h:3:9:
+ #define SYMBOL 1
+ ^
+ Macro defined here.
+ 'SYMBOL' expanded to: '2' with respect to these inclusion paths:
+ (...)/Header2.h
+ (...)/SubHeader.h
+ (...)/SubHeader.h:7:9:
+ #define SYMBOL 2
+ ^
+ Macro defined here.
+
+Checks will also be performed for '#include' directives that are
+nested inside 'extern "C/C++" {}' or 'namespace (name) {}' blocks,
+and can produce error message like the following::
+
+ IncludeInExtern.h:2:3:
+ #include "Empty.h"
+ ^
+ error: Include directive within extern "C" {}.
+ IncludeInExtern.h:1:1:
+ extern "C" {
+ ^
+ The "extern "C" {}" block is here.
+
+.. _module-map-coverage:
+
+Module Map Coverage Check
+=========================
+
+The coverage check uses the Clang library to read and parse the
+module map file. Starting at the module map file directory, or just the
+include paths, if specified, it will collect the names of all the files it
+considers headers (no extension, .h, or .inc--if you need more, modify the
+isHeader function). It then compares the headers against those referenced
+in the module map, either explicitly named, or implicitly named via an
+umbrella directory or umbrella file, as parsed by the ModuleMap object.
+If headers are found which are not referenced or covered by an umbrella
+directory or file, warning messages will be produced, and this program
+will return an error code of 1. If no problems are found, an error code of
+0 is returned.
+
+Note that in the case of umbrella headers, this tool invokes the compiler
+to preprocess the file, and uses a callback to collect the header files
+included by the umbrella header or any of its nested includes. If any
+front end options are needed for these compiler invocations, these
+can be included on the command line after the module map file argument.
+
+Warning message have the form:
+
+ warning: module.modulemap does not account for file: Level3A.h
+
+Note that for the case of the module map referencing a file that does
+not exist, the module map parser in Clang will (at the time of this
+writing) display an error message.
+
+To limit the checks :program:`modularize` does to just the module
+map coverage check, use the ``-coverage-check-only option``.
+
+For example::
+
+ modularize -coverage-check-only module.modulemap
+
+.. _module-map-generation:
+
+Module Map Generation
+=====================
+
+If you specify the ``-module-map-path=<module map file>``,
+:program:`modularize` will output a module map based on the input header list.
+A module will be created for each header. Also, if the header in the header
+list is a partial path, a nested module hierarchy will be created in which a
+module will be created for each subdirectory component in the header path,
+with the header itself represented by the innermost module. If other headers
+use the same subdirectories, they will be enclosed in these same modules also.
+
+For example, for the header list::
+
+ SomeTypes.h
+ SomeDecls.h
+ SubModule1/Header1.h
+ SubModule1/Header2.h
+ SubModule2/Header3.h
+ SubModule2/Header4.h
+ SubModule2.h
+
+The following module map will be generated::
+
+ // Output/NoProblemsAssistant.txt
+ // Generated by: modularize -module-map-path=Output/NoProblemsAssistant.txt \
+ -root-module=Root NoProblemsAssistant.modularize
+
+ module SomeTypes {
+ header "SomeTypes.h"
+ export *
+ }
+ module SomeDecls {
+ header "SomeDecls.h"
+ export *
+ }
+ module SubModule1 {
+ module Header1 {
+ header "SubModule1/Header1.h"
+ export *
+ }
+ module Header2 {
+ header "SubModule1/Header2.h"
+ export *
+ }
+ }
+ module SubModule2 {
+ module Header3 {
+ header "SubModule2/Header3.h"
+ export *
+ }
+ module Header4 {
+ header "SubModule2/Header4.h"
+ export *
+ }
+ header "SubModule2.h"
+ export *
+ }
+
+An optional ``-root-module=<root-name>`` option can be used to cause a root module
+to be created which encloses all the modules.
+
+An optional ``-problem-files-list=<problem-file-name>`` can be used to input
+a list of files to be excluded, perhaps as a temporary stop-gap measure until
+problem headers can be fixed.
+
+For example, with the same header list from above::
+
+ // Output/NoProblemsAssistant.txt
+ // Generated by: modularize -module-map-path=Output/NoProblemsAssistant.txt \
+ -root-module=Root NoProblemsAssistant.modularize
+
+ module Root {
+ module SomeTypes {
+ header "SomeTypes.h"
+ export *
+ }
+ module SomeDecls {
+ header "SomeDecls.h"
+ export *
+ }
+ module SubModule1 {
+ module Header1 {
+ header "SubModule1/Header1.h"
+ export *
+ }
+ module Header2 {
+ header "SubModule1/Header2.h"
+ export *
+ }
+ }
+ module SubModule2 {
+ module Header3 {
+ header "SubModule2/Header3.h"
+ export *
+ }
+ module Header4 {
+ header "SubModule2/Header4.h"
+ export *
+ }
+ header "SubModule2.h"
+ export *
+ }
+ }
+
+Note that headers with dependents will be ignored with a warning, as the
+Clang module mechanism doesn't support headers the rely on other headers
+to be included first.
+
+The module map format defines some keywords which can't be used in module
+names. If a header has one of these names, an underscore ('_') will be
+prepended to the name. For example, if the header name is ``header.h``,
+because ``header`` is a keyword, the module name will be ``_header``.
+For a list of the module map keywords, please see:
+`Lexical structure <http://clang.llvm.org/docs/Modules.html#lexical-structure>`_
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/pp-trace.rst.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/pp-trace.rst.txt?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/pp-trace.rst.txt (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_sources/pp-trace.rst.txt Tue Aug 6 07:50:31 2019
@@ -0,0 +1,825 @@
+.. index:: pp-trace
+
+==================================
+pp-trace User's Manual
+==================================
+
+.. toctree::
+ :hidden:
+
+:program:`pp-trace` is a standalone tool that traces preprocessor
+activity. It's also used as a test of Clang's PPCallbacks interface.
+It runs a given source file through the Clang preprocessor, displaying
+selected information from callback functions overridden in a
+`PPCallbacks <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html>`_
+derivation. The output is in a high-level YAML format, described in
+:ref:`OutputFormat`.
+
+.. _Usage:
+
+pp-trace Usage
+==============
+
+Command Line Format
+-------------------
+
+``pp-trace [<pp-trace-options>] <source-file> [<front-end-options>]``
+
+``<pp-trace-options>`` is a place-holder for options
+specific to pp-trace, which are described below in
+:ref:`CommandLineOptions`.
+
+``<source-file>`` specifies the source file to run through the preprocessor.
+
+``<front-end-options>`` is a place-holder for regular
+`Clang Compiler Options <http://clang.llvm.org/docs/UsersManual.html#command-line-options>`_,
+which must follow the <source-file>.
+
+.. _CommandLineOptions:
+
+Command Line Options
+--------------------
+
+.. option:: -ignore <callback-name-list>
+
+ This option specifies a comma-separated list of names of callbacks
+ that shouldn't be traced. It can be used to eliminate unwanted
+ trace output. The callback names are the name of the actual
+ callback function names in the PPCallbacks class:
+
+ * FileChanged
+ * FileSkipped
+ * FileNotFound
+ * InclusionDirective
+ * moduleImport
+ * EndOfMainFile
+ * Ident
+ * PragmaDirective
+ * PragmaComment
+ * PragmaDetectMismatch
+ * PragmaDebug
+ * PragmaMessage
+ * PragmaDiagnosticPush
+ * PragmaDiagnosticPop
+ * PragmaDiagnostic
+ * PragmaOpenCLExtension
+ * PragmaWarning
+ * PragmaWarningPush
+ * PragmaWarningPop
+ * MacroExpands
+ * MacroDefined
+ * MacroUndefined
+ * Defined
+ * SourceRangeSkipped
+ * If
+ * Elif
+ * Ifdef
+ * Ifndef
+ * Else
+ * Endif
+
+.. option:: -output <output-file>
+
+ By default, pp-trace outputs the trace information to stdout. Use this
+ option to output the trace information to a file.
+
+.. _OutputFormat:
+
+pp-trace Output Format
+======================
+
+The pp-trace output is formatted as YAML. See http://yaml.org/ for general
+YAML information. It's arranged as a sequence of information about the
+callback call, including the callback name and argument information, for
+example:::
+
+ ---
+ - Callback: Name
+ Argument1: Value1
+ Argument2: Value2
+ (etc.)
+ ...
+
+With real data:::
+
+ ---
+ - Callback: FileChanged
+ Loc: "c:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-include.cpp:1:1"
+ Reason: EnterFile
+ FileType: C_User
+ PrevFID: (invalid)
+ (etc.)
+ - Callback: FileChanged
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-include.cpp:5:1"
+ Reason: ExitFile
+ FileType: C_User
+ PrevFID: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/Input/Level1B.h"
+ - Callback: EndOfMainFile
+ ...
+
+In all but one case (MacroDirective) the "Argument" scalars have the same
+name as the argument in the corresponding PPCallbacks callback function.
+
+Callback Details
+----------------
+
+The following sections describe the pupose and output format for each callback.
+
+Click on the callback name in the section heading to see the Doxygen
+documentation for the callback.
+
+The argument descriptions table describes the callback argument information
+displayed.
+
+The Argument Name field in most (but not all) cases is the same name as the
+callback function parameter.
+
+The Argument Value Syntax field describes the values that will be displayed
+for the argument value. It uses an ad hoc representation that mixes literal
+and symbolic representations. Enumeration member symbols are shown as the
+actual enum member in a (member1|member2|...) form. A name in parentheses
+can either represent a place holder for the described value, or confusingly,
+it might be a literal, such as (null), for a null pointer.
+Locations are shown as quoted only to avoid confusing the documentation generator.
+
+The Clang C++ Type field is the type from the callback function declaration.
+
+The description describes the argument or what is displayed for it.
+
+Note that in some cases, such as when a structure pointer is an argument
+value, only some key member or members are shown to represent the value,
+instead of trying to display all members of the structure.
+
+`FileChanged <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a7cc8cfaf34114fc65e92af621cd6464e>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+FileChanged is called when the preprocessor enters or exits a file, both the
+top level file being compiled, as well as any #include directives. It will
+also be called as a result of a system header pragma or in internal renaming
+of a file.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==============================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==============================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+Reason (EnterFile|ExitFile|SystemHeaderPragma|RenameFile) PPCallbacks::FileChangeReason Reason for change.
+FileType (C_User|C_System|C_ExternCSystem) SrcMgr::CharacteristicKind Include type.
+PrevFID ((file)|(invalid)) FileID Previous file, if any.
+============== ================================================== ============================== ==============================
+
+Example:::
+
+ - Callback: FileChanged
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-include.cpp:1:1"
+ Reason: EnterFile
+ FileType: C_User
+ PrevFID: (invalid)
+
+`FileSkipped <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#ab5b338a0670188eb05fa7685bbfb5128>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+FileSkipped is called when a source file is skipped as the result of header
+guard optimization.
+
+Argument descriptions:
+
+============== ================================================== ============================== ========================================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ========================================================
+ParentFile ("(file)" or (null)) const FileEntry The file that #included the skipped file.
+FilenameTok (token) const Token The token in ParentFile that indicates the skipped file.
+FileType (C_User|C_System|C_ExternCSystem) SrcMgr::CharacteristicKind The file type.
+============== ================================================== ============================== ========================================================
+
+Example:::
+
+ - Callback: FileSkipped
+ ParentFile: "/path/filename.h"
+ FilenameTok: "filename.h"
+ FileType: C_User
+
+`FileNotFound <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a3045151545f987256bfa8d978916ef00>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+FileNotFound is called when an inclusion directive results in a file-not-found error.
+
+Argument descriptions:
+
+============== ================================================== ============================== =====================================================================================================================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== =====================================================================================================================================
+FileName "(file)" StringRef The name of the file being included, as written in the source code.
+RecoveryPath (path) SmallVectorImpl<char> If this client indicates that it can recover from this missing file, the client should set this as an additional header search patch.
+============== ================================================== ============================== =====================================================================================================================================
+
+Example:::
+
+ - Callback: FileNotFound
+ FileName: "/path/filename.h"
+ RecoveryPath:
+
+`InclusionDirective <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a557d9738c329793513a6f57d6b60de52>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+InclusionDirective is called when an inclusion directive of any kind (#include</code>, #import</code>, etc.) has been processed, regardless of whether the inclusion will actually result in an inclusion.
+
+Argument descriptions:
+
+============== ================================================== ============================== ============================================================================================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ============================================================================================================
+HashLoc "(file):(line):(col)" SourceLocation The location of the '#' that starts the inclusion directive.
+IncludeTok (token) const Token The token that indicates the kind of inclusion directive, e.g., 'include' or 'import'.
+FileName "(file)" StringRef The name of the file being included, as written in the source code.
+IsAngled (true|false) bool Whether the file name was enclosed in angle brackets; otherwise, it was enclosed in quotes.
+FilenameRange "(file)" CharSourceRange The character range of the quotes or angle brackets for the written file name.
+File "(file)" const FileEntry The actual file that may be included by this inclusion directive.
+SearchPath "(path)" StringRef Contains the search path which was used to find the file in the file system.
+RelativePath "(path)" StringRef The path relative to SearchPath, at which the include file was found.
+Imported ((module name)|(null)) const Module The module, whenever an inclusion directive was automatically turned into a module import or null otherwise.
+============== ================================================== ============================== ============================================================================================================
+
+Example:::
+
+ - Callback: InclusionDirective
+ IncludeTok: include
+ FileName: "Input/Level1B.h"
+ IsAngled: false
+ FilenameRange: "Input/Level1B.h"
+ File: "D:/Clang/llvmnewmod/tools/clang/tools/extra/test/pp-trace/Input/Level1B.h"
+ SearchPath: "D:/Clang/llvmnewmod/tools/clang/tools/extra/test/pp-trace"
+ RelativePath: "Input/Level1B.h"
+ Imported: (null)
+
+`moduleImport <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#af32dcf1b8b7c179c7fcd3e24e89830fe>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+moduleImport is called when there was an explicit module-import syntax.
+
+Argument descriptions:
+
+============== ================================================== ============================== ===========================================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ===========================================================
+ImportLoc "(file):(line):(col)" SourceLocation The location of import directive token.
+Path "(path)" ModuleIdPath The identifiers (and their locations) of the module "path".
+Imported ((module name)|(null)) const Module The imported module; can be null if importing failed.
+============== ================================================== ============================== ===========================================================
+
+Example:::
+
+ - Callback: moduleImport
+ ImportLoc: "d:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-modules.cpp:4:2"
+ Path: [{Name: Level1B, Loc: "d:/Clang/llvmnewmod/tools/clang/tools/extra/test/pp-trace/pp-trace-modules.cpp:4:9"}, {Name: Level2B, Loc: "d:/Clang/llvmnewmod/tools/clang/tools/extra/test/pp-trace/pp-trace-modules.cpp:4:17"}]
+ Imported: Level2B
+
+`EndOfMainFile <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a63e170d069e99bc1c9c7ea0f3bed8bcc>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+EndOfMainFile is called when the end of the main file is reached.
+
+Argument descriptions:
+
+============== ================================================== ============================== ======================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ======================
+(no arguments)
+============== ================================================== ============================== ======================
+
+Example:::
+
+ - Callback: EndOfMainFile
+
+`Ident <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a3683f1d1fa513e9b6193d446a5cc2b66>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Ident is called when a #ident or #sccs directive is read.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==============================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==============================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+str (name) const std::string The text of the directive.
+============== ================================================== ============================== ==============================
+
+Example:::
+
+ - Callback: Ident
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-ident.cpp:3:1"
+ str: "$Id$"
+
+`PragmaDirective <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a0a2d7a72c62184b3cbde31fb62c6f2f7>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+PragmaDirective is called when start reading any pragma directive.
+
+Argument descriptions:
+
+============== ================================================== ============================== =================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== =================================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+Introducer (PIK_HashPragma|PIK__Pragma|PIK___pragma) PragmaIntroducerKind The type of the pragma directive.
+============== ================================================== ============================== =================================
+
+Example:::
+
+ - Callback: PragmaDirective
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+ Introducer: PIK_HashPragma
+
+`PragmaComment <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#ace0d940fc2c12ab76441466aab58dc37>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+PragmaComment is called when a #pragma comment directive is read.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==============================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==============================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+Kind ((name)|(null)) const IdentifierInfo The comment kind symbol.
+Str (message directive) const std::string The comment message directive.
+============== ================================================== ============================== ==============================
+
+Example:::
+
+ - Callback: PragmaComment
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+ Kind: library
+ Str: kernel32.lib
+
+`PragmaDetectMismatch <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#ab11158c9149fb8ad8af1903f4a6cd65d>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+PragmaDetectMismatch is called when a #pragma detect_mismatch directive is read.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==============================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==============================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+Name "(name)" const std::string The name.
+Value (string) const std::string The value.
+============== ================================================== ============================== ==============================
+
+Example:::
+
+ - Callback: PragmaDetectMismatch
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+ Name: name
+ Value: value
+
+`PragmaDebug <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a57cdccb6dcc07e926513ac3d5b121466>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+PragmaDebug is called when a #pragma clang __debug directive is read.
+
+Argument descriptions:
+
+============== ================================================== ============================== ================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ================================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+DebugType (string) StringRef Indicates type of debug message.
+============== ================================================== ============================== ================================
+
+Example:::
+
+ - Callback: PragmaDebug
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+ DebugType: warning
+
+`PragmaMessage <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#abb42935d9a9fd8e2c4f51cfdc4ea2ae1>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+PragmaMessage is called when a #pragma message directive is read.
+
+Argument descriptions:
+
+============== ================================================== ============================== =======================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== =======================================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+Namespace (name) StringRef The namespace of the message directive.
+Kind (PMK_Message|PMK_Warning|PMK_Error) PPCallbacks::PragmaMessageKind The type of the message directive.
+Str (string) StringRef The text of the message directive.
+============== ================================================== ============================== =======================================
+
+Example:::
+
+ - Callback: PragmaMessage
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+ Namespace: "GCC"
+ Kind: PMK_Message
+ Str: The message text.
+
+`PragmaDiagnosticPush <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a0f3ff19762baa38fe6c5c58022d32979>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+PragmaDiagnosticPush is called when a #pragma gcc dianostic push directive is read.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==============================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==============================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+Namespace (name) StringRef Namespace name.
+============== ================================================== ============================== ==============================
+
+Example:::
+
+ - Callback: PragmaDiagnosticPush
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+ Namespace: "GCC"
+
+`PragmaDiagnosticPop <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#ac94d789873122221fba8d76f6c5ea45e>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+PragmaDiagnosticPop is called when a #pragma gcc dianostic pop directive is read.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==============================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==============================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+Namespace (name) StringRef Namespace name.
+============== ================================================== ============================== ==============================
+
+Example:::
+
+ - Callback: PragmaDiagnosticPop
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+ Namespace: "GCC"
+
+`PragmaDiagnostic <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#afe7938f38a83cb7b4b25a13edfdd7bdd>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+PragmaDiagnostic is called when a #pragma gcc dianostic directive is read.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==============================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==============================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+Namespace (name) StringRef Namespace name.
+mapping (0|MAP_IGNORE|MAP_WARNING|MAP_ERROR|MAP_FATAL) diag::Severity Mapping type.
+Str (string) StringRef Warning/error name.
+============== ================================================== ============================== ==============================
+
+Example:::
+
+ - Callback: PragmaDiagnostic
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+ Namespace: "GCC"
+ mapping: MAP_WARNING
+ Str: WarningName
+
+`PragmaOpenCLExtension <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a92a20a21fadbab4e2c788f4e27fe07e7>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+PragmaOpenCLExtension is called when OpenCL extension is either disabled or enabled with a pragma.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==========================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==========================
+NameLoc "(file):(line):(col)" SourceLocation The location of the name.
+Name (name) const IdentifierInfo Name symbol.
+StateLoc "(file):(line):(col)" SourceLocation The location of the state.
+State (1|0) unsigned Enabled/disabled state.
+============== ================================================== ============================== ==========================
+
+Example:::
+
+ - Callback: PragmaOpenCLExtension
+ NameLoc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:10"
+ Name: Name
+ StateLoc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:18"
+ State: 1
+
+`PragmaWarning <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#aa17169d25fa1cf0a6992fc944d1d8730>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+PragmaWarning is called when a #pragma warning directive is read.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==============================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==============================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+WarningSpec (string) StringRef The warning specifier.
+Ids [(number)[, ...]] ArrayRef<int> The warning numbers.
+============== ================================================== ============================== ==============================
+
+Example:::
+
+ - Callback: PragmaWarning
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+ WarningSpec: disable
+ Ids: 1,2,3
+
+`PragmaWarningPush <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#ae5626ef70502687a859f323a809ed0b6>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+PragmaWarningPush is called when a #pragma warning(push) directive is read.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==============================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==============================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+Level (number) int Warning level.
+============== ================================================== ============================== ==============================
+
+Example:::
+
+ - Callback: PragmaWarningPush
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+ Level: 1
+
+`PragmaWarningPop <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#ac98d502af8811b8a6e7342d7cd2b3b95>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+PragmaWarningPop is called when a #pragma warning(pop) directive is read.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==============================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==============================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+============== ================================================== ============================== ==============================
+
+Example:::
+
+ - Callback: PragmaWarningPop
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma.cpp:3:1"
+
+`MacroExpands <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a9bc725209d3a071ea649144ab996d515>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+MacroExpands is called when ::HandleMacroExpandedIdentifier when a macro invocation is found.
+
+Argument descriptions:
+
+============== ================================================== ============================== ======================================================================================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ======================================================================================================
+MacroNameTok (token) const Token The macro name token.
+MacroDirective (MD_Define|MD_Undefine|MD_Visibility) const MacroDirective The kind of macro directive from the MacroDirective structure.
+Range ["(file):(line):(col)", "(file):(line):(col)"] SourceRange The source range for the expansion.
+Args [(name)|(number)|<(token name)>[, ...]] const MacroArgs The argument tokens. Names and numbers are literal, everything else is of the form '<' tokenName '>'.
+============== ================================================== ============================== ======================================================================================================
+
+Example:::
+
+ - Callback: MacroExpands
+ MacroNameTok: X_IMPL
+ MacroDirective: MD_Define
+ Range: [(nonfile), (nonfile)]
+ Args: [a <plus> y, b]
+
+`MacroDefined <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a8448fc9f96f22ad1b93ff393cffc5a76>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+MacroDefined is called when a macro definition is seen.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==============================================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==============================================================
+MacroNameTok (token) const Token The macro name token.
+MacroDirective (MD_Define|MD_Undefine|MD_Visibility) const MacroDirective The kind of macro directive from the MacroDirective structure.
+============== ================================================== ============================== ==============================================================
+
+Example:::
+
+ - Callback: MacroDefined
+ MacroNameTok: X_IMPL
+ MacroDirective: MD_Define
+
+`MacroUndefined <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#acb80fc6171a839db8e290945bf2c9d7a>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+MacroUndefined is called when a macro #undef is seen.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==============================================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==============================================================
+MacroNameTok (token) const Token The macro name token.
+MacroDirective (MD_Define|MD_Undefine|MD_Visibility) const MacroDirective The kind of macro directive from the MacroDirective structure.
+============== ================================================== ============================== ==============================================================
+
+Example:::
+
+ - Callback: MacroUndefined
+ MacroNameTok: X_IMPL
+ MacroDirective: MD_Define
+
+`Defined <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a3cc2a644533d0e4088a13d2baf90db94>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Defined is called when the 'defined' operator is seen.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==============================================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==============================================================
+MacroNameTok (token) const Token The macro name token.
+MacroDirective (MD_Define|MD_Undefine|MD_Visibility) const MacroDirective The kind of macro directive from the MacroDirective structure.
+Range ["(file):(line):(col)", "(file):(line):(col)"] SourceRange The source range for the directive.
+============== ================================================== ============================== ==============================================================
+
+Example:::
+
+ - Callback: Defined
+ MacroNameTok: MACRO
+ MacroDirective: (null)
+ Range: ["D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:5", "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:19"]
+
+`SourceRangeSkipped <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#abdb4ebe11610f079ac33515965794b46>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+SourceRangeSkipped is called when a source range is skipped.
+
+Argument descriptions:
+
+============== ================================================== ============================== =========================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== =========================
+Range ["(file):(line):(col)", "(file):(line):(col)"] SourceRange The source range skipped.
+============== ================================================== ============================== =========================
+
+Example:::
+
+ - Callback: SourceRangeSkipped
+ Range: [":/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:2", ":/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:9:2"]
+
+`If <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a645edcb0d6becbc6f256f02fd1287778>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+If is called when an #if is seen.
+
+Argument descriptions:
+
+============== ================================================== ============================== ===================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ===================================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+ConditionRange ["(file):(line):(col)", "(file):(line):(col)"] SourceRange The source range for the condition.
+ConditionValue (true|false) bool The condition value.
+============== ================================================== ============================== ===================================
+
+Example:::
+
+ - Callback: If
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:2"
+ ConditionRange: ["D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:4", "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:9:1"]
+ ConditionValue: false
+
+`Elif <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a180c9e106a28d60a6112e16b1bb8302a>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Elif is called when an #elif is seen.
+
+Argument descriptions:
+
+============== ================================================== ============================== ===================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ===================================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+ConditionRange ["(file):(line):(col)", "(file):(line):(col)"] SourceRange The source range for the condition.
+ConditionValue (true|false) bool The condition value.
+IfLoc "(file):(line):(col)" SourceLocation The location of the directive.
+============== ================================================== ============================== ===================================
+
+Example:::
+
+ - Callback: Elif
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:10:2"
+ ConditionRange: ["D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:10:4", "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:11:1"]
+ ConditionValue: false
+ IfLoc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:2"
+
+`Ifdef <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a0ce79575dda307784fd51a6dd4eec33d>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Ifdef is called when an #ifdef is seen.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==============================================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==============================================================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+MacroNameTok (token) const Token The macro name token.
+MacroDirective (MD_Define|MD_Undefine|MD_Visibility) const MacroDirective The kind of macro directive from the MacroDirective structure.
+============== ================================================== ============================== ==============================================================
+
+Example:::
+
+ - Callback: Ifdef
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-conditional.cpp:3:1"
+ MacroNameTok: MACRO
+ MacroDirective: MD_Define
+
+`Ifndef <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#a767af69f1cdcc4cd880fa2ebf77ad3ad>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Ifndef is called when an #ifndef is seen.
+
+Argument descriptions:
+
+============== ================================================== ============================== ==============================================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ==============================================================
+Loc "(file):(line):(col)" SourceLocation The location of the directive.
+MacroNameTok (token) const Token The macro name token.
+MacroDirective (MD_Define|MD_Undefine|MD_Visibility) const MacroDirective The kind of macro directive from the MacroDirective structure.
+============== ================================================== ============================== ==============================================================
+
+Example:::
+
+ - Callback: Ifndef
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-conditional.cpp:3:1"
+ MacroNameTok: MACRO
+ MacroDirective: MD_Define
+
+`Else <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#ad57f91b6d9c3cbcca326a2bfb49e0314>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Else is called when an #else is seen.
+
+Argument descriptions:
+
+============== ================================================== ============================== ===================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ===================================
+Loc "(file):(line):(col)" SourceLocation The location of the else directive.
+IfLoc "(file):(line):(col)" SourceLocation The location of the if directive.
+============== ================================================== ============================== ===================================
+
+Example:::
+
+ - Callback: Else
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:10:2"
+ IfLoc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:2"
+
+`Endif <http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html#afc62ca1401125f516d58b1629a2093ce>`_ Callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Endif is called when an #endif is seen.
+
+Argument descriptions:
+
+============== ================================================== ============================== ====================================
+Argument Name Argument Value Syntax Clang C++ Type Description
+============== ================================================== ============================== ====================================
+Loc "(file):(line):(col)" SourceLocation The location of the endif directive.
+IfLoc "(file):(line):(col)" SourceLocation The location of the if directive.
+============== ================================================== ============================== ====================================
+
+Example:::
+
+ - Callback: Endif
+ Loc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:10:2"
+ IfLoc: "D:/Clang/llvm/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp:8:2"
+
+Building pp-trace
+=================
+
+To build from source:
+
+1. Read `Getting Started with the LLVM System`_ and `Clang Tools
+ Documentation`_ for information on getting sources for LLVM, Clang, and
+ Clang Extra Tools.
+
+2. `Getting Started with the LLVM System`_ and `Building LLVM with CMake`_ give
+ directions for how to build. With sources all checked out into the
+ right place the LLVM build will build Clang Extra Tools and their
+ dependencies automatically.
+
+ * If using CMake, you can also use the ``pp-trace`` target to build
+ just the pp-trace tool and its dependencies.
+
+.. _Getting Started with the LLVM System: http://llvm.org/docs/GettingStarted.html
+.. _Building LLVM with CMake: http://llvm.org/docs/CMake.html
+.. _Clang Tools Documentation: http://clang.llvm.org/docs/ClangTools.html
+
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/ajax-loader.gif
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/ajax-loader.gif?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/ajax-loader.gif
------------------------------------------------------------------------------
svn:mime-type = image/gif
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/alert_info_32.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/alert_info_32.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/alert_info_32.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/alert_warning_32.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/alert_warning_32.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/alert_warning_32.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/basic.css
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/basic.css?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/basic.css (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/basic.css Tue Aug 6 07:50:31 2019
@@ -0,0 +1,665 @@
+/*
+ * basic.css
+ * ~~~~~~~~~
+ *
+ * Sphinx stylesheet -- basic theme.
+ *
+ * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/* -- main layout ----------------------------------------------------------- */
+
+div.clearer {
+ clear: both;
+}
+
+/* -- relbar ---------------------------------------------------------------- */
+
+div.related {
+ width: 100%;
+ font-size: 90%;
+}
+
+div.related h3 {
+ display: none;
+}
+
+div.related ul {
+ margin: 0;
+ padding: 0 0 0 10px;
+ list-style: none;
+}
+
+div.related li {
+ display: inline;
+}
+
+div.related li.right {
+ float: right;
+ margin-right: 5px;
+}
+
+/* -- sidebar --------------------------------------------------------------- */
+
+div.sphinxsidebarwrapper {
+ padding: 10px 5px 0 10px;
+}
+
+div.sphinxsidebar {
+ float: left;
+ width: 230px;
+ margin-left: -100%;
+ font-size: 90%;
+ word-wrap: break-word;
+ overflow-wrap : break-word;
+}
+
+div.sphinxsidebar ul {
+ list-style: none;
+}
+
+div.sphinxsidebar ul ul,
+div.sphinxsidebar ul.want-points {
+ margin-left: 20px;
+ list-style: square;
+}
+
+div.sphinxsidebar ul ul {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+div.sphinxsidebar form {
+ margin-top: 10px;
+}
+
+div.sphinxsidebar input {
+ border: 1px solid #98dbcc;
+ font-family: sans-serif;
+ font-size: 1em;
+}
+
+div.sphinxsidebar #searchbox input[type="text"] {
+ float: left;
+ width: 80%;
+ padding: 0.25em;
+ box-sizing: border-box;
+}
+
+div.sphinxsidebar #searchbox input[type="submit"] {
+ float: left;
+ width: 20%;
+ border-left: none;
+ padding: 0.25em;
+ box-sizing: border-box;
+}
+
+
+img {
+ border: 0;
+ max-width: 100%;
+}
+
+/* -- search page ----------------------------------------------------------- */
+
+ul.search {
+ margin: 10px 0 0 20px;
+ padding: 0;
+}
+
+ul.search li {
+ padding: 5px 0 5px 20px;
+ background-image: url(file.png);
+ background-repeat: no-repeat;
+ background-position: 0 7px;
+}
+
+ul.search li a {
+ font-weight: bold;
+}
+
+ul.search li div.context {
+ color: #888;
+ margin: 2px 0 0 30px;
+ text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+ font-weight: bold;
+}
+
+/* -- index page ------------------------------------------------------------ */
+
+table.contentstable {
+ width: 90%;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+table.contentstable p.biglink {
+ line-height: 150%;
+}
+
+a.biglink {
+ font-size: 1.3em;
+}
+
+span.linkdescr {
+ font-style: italic;
+ padding-top: 5px;
+ font-size: 90%;
+}
+
+/* -- general index --------------------------------------------------------- */
+
+table.indextable {
+ width: 100%;
+}
+
+table.indextable td {
+ text-align: left;
+ vertical-align: top;
+}
+
+table.indextable ul {
+ margin-top: 0;
+ margin-bottom: 0;
+ list-style-type: none;
+}
+
+table.indextable > tbody > tr > td > ul {
+ padding-left: 0em;
+}
+
+table.indextable tr.pcap {
+ height: 10px;
+}
+
+table.indextable tr.cap {
+ margin-top: 10px;
+ background-color: #f2f2f2;
+}
+
+img.toggler {
+ margin-right: 3px;
+ margin-top: 3px;
+ cursor: pointer;
+}
+
+div.modindex-jumpbox {
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+ margin: 1em 0 1em 0;
+ padding: 0.4em;
+}
+
+div.genindex-jumpbox {
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+ margin: 1em 0 1em 0;
+ padding: 0.4em;
+}
+
+/* -- domain module index --------------------------------------------------- */
+
+table.modindextable td {
+ padding: 2px;
+ border-collapse: collapse;
+}
+
+/* -- general body styles --------------------------------------------------- */
+
+div.body {
+ min-width: 59em;
+ max-width: 70em;
+}
+
+div.body p, div.body dd, div.body li, div.body blockquote {
+ -moz-hyphens: auto;
+ -ms-hyphens: auto;
+ -webkit-hyphens: auto;
+ hyphens: auto;
+}
+
+a.headerlink {
+ visibility: hidden;
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink,
+caption:hover > a.headerlink,
+p.caption:hover > a.headerlink,
+div.code-block-caption:hover > a.headerlink {
+ visibility: visible;
+}
+
+div.body p.caption {
+ text-align: inherit;
+}
+
+div.body td {
+ text-align: left;
+}
+
+.first {
+ margin-top: 0 !important;
+}
+
+p.rubric {
+ margin-top: 30px;
+ font-weight: bold;
+}
+
+img.align-left, .figure.align-left, object.align-left {
+ clear: left;
+ float: left;
+ margin-right: 1em;
+}
+
+img.align-right, .figure.align-right, object.align-right {
+ clear: right;
+ float: right;
+ margin-left: 1em;
+}
+
+img.align-center, .figure.align-center, object.align-center {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.align-left {
+ text-align: left;
+}
+
+.align-center {
+ text-align: center;
+}
+
+.align-right {
+ text-align: right;
+}
+
+/* -- sidebars -------------------------------------------------------------- */
+
+div.sidebar {
+ margin: 0 0 0.5em 1em;
+ border: 1px solid #ddb;
+ padding: 7px 7px 0 7px;
+ background-color: #ffe;
+ width: 40%;
+ float: right;
+}
+
+p.sidebar-title {
+ font-weight: bold;
+}
+
+/* -- topics ---------------------------------------------------------------- */
+
+div.topic {
+ border: 1px solid #ccc;
+ padding: 7px 7px 0 7px;
+ margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 10px;
+}
+
+/* -- admonitions ----------------------------------------------------------- */
+
+div.admonition {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding: 7px;
+}
+
+div.admonition dt {
+ font-weight: bold;
+}
+
+div.admonition dl {
+ margin-bottom: 0;
+}
+
+p.admonition-title {
+ margin: 0px 10px 5px 0px;
+ font-weight: bold;
+}
+
+div.body p.centered {
+ text-align: center;
+ margin-top: 25px;
+}
+
+/* -- tables ---------------------------------------------------------------- */
+
+table.docutils {
+ border: 0;
+ border-collapse: collapse;
+}
+
+table.align-center {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+table caption span.caption-number {
+ font-style: italic;
+}
+
+table caption span.caption-text {
+}
+
+table.docutils td, table.docutils th {
+ padding: 1px 8px 1px 5px;
+ border-top: 0;
+ border-left: 0;
+ border-right: 0;
+ border-bottom: 1px solid #aaa;
+}
+
+table.footnote td, table.footnote th {
+ border: 0 !important;
+}
+
+th {
+ text-align: left;
+ padding-right: 5px;
+}
+
+table.citation {
+ border-left: solid 1px gray;
+ margin-left: 1px;
+}
+
+table.citation td {
+ border-bottom: none;
+}
+
+/* -- figures --------------------------------------------------------------- */
+
+div.figure {
+ margin: 0.5em;
+ padding: 0.5em;
+}
+
+div.figure p.caption {
+ padding: 0.3em;
+}
+
+div.figure p.caption span.caption-number {
+ font-style: italic;
+}
+
+div.figure p.caption span.caption-text {
+}
+
+/* -- field list styles ----------------------------------------------------- */
+
+table.field-list td, table.field-list th {
+ border: 0 !important;
+}
+
+.field-list ul {
+ margin: 0;
+ padding-left: 1em;
+}
+
+.field-list p {
+ margin: 0;
+}
+
+.field-name {
+ -moz-hyphens: manual;
+ -ms-hyphens: manual;
+ -webkit-hyphens: manual;
+ hyphens: manual;
+}
+
+/* -- other body styles ----------------------------------------------------- */
+
+ol.arabic {
+ list-style: decimal;
+}
+
+ol.loweralpha {
+ list-style: lower-alpha;
+}
+
+ol.upperalpha {
+ list-style: upper-alpha;
+}
+
+ol.lowerroman {
+ list-style: lower-roman;
+}
+
+ol.upperroman {
+ list-style: upper-roman;
+}
+
+dl {
+ margin-bottom: 15px;
+}
+
+dd p {
+ margin-top: 0px;
+}
+
+dd ul, dd table {
+ margin-bottom: 10px;
+}
+
+dd {
+ margin-top: 3px;
+ margin-bottom: 10px;
+ margin-left: 30px;
+}
+
+dt:target, span.highlighted {
+ background-color: #fbe54e;
+}
+
+rect.highlighted {
+ fill: #fbe54e;
+}
+
+dl.glossary dt {
+ font-weight: bold;
+ font-size: 1.1em;
+}
+
+.optional {
+ font-size: 1.3em;
+}
+
+.sig-paren {
+ font-size: larger;
+}
+
+.versionmodified {
+ font-style: italic;
+}
+
+.system-message {
+ background-color: #fda;
+ padding: 5px;
+ border: 3px solid red;
+}
+
+.footnote:target {
+ background-color: #ffa;
+}
+
+.line-block {
+ display: block;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+.line-block .line-block {
+ margin-top: 0;
+ margin-bottom: 0;
+ margin-left: 1.5em;
+}
+
+.guilabel, .menuselection {
+ font-family: sans-serif;
+}
+
+.accelerator {
+ text-decoration: underline;
+}
+
+.classifier {
+ font-style: oblique;
+}
+
+abbr, acronym {
+ border-bottom: dotted 1px;
+ cursor: help;
+}
+
+/* -- code displays --------------------------------------------------------- */
+
+pre {
+ overflow: auto;
+ overflow-y: hidden; /* fixes display issues on Chrome browsers */
+}
+
+span.pre {
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ -webkit-hyphens: none;
+ hyphens: none;
+}
+
+td.linenos pre {
+ padding: 5px 0px;
+ border: 0;
+ background-color: transparent;
+ color: #aaa;
+}
+
+table.highlighttable {
+ margin-left: 0.5em;
+}
+
+table.highlighttable td {
+ padding: 0 0.5em 0 0.5em;
+}
+
+div.code-block-caption {
+ padding: 2px 5px;
+ font-size: small;
+}
+
+div.code-block-caption code {
+ background-color: transparent;
+}
+
+div.code-block-caption + div > div.highlight > pre {
+ margin-top: 0;
+}
+
+div.code-block-caption span.caption-number {
+ padding: 0.1em 0.3em;
+ font-style: italic;
+}
+
+div.code-block-caption span.caption-text {
+}
+
+div.literal-block-wrapper {
+ padding: 1em 1em 0;
+}
+
+div.literal-block-wrapper div.highlight {
+ margin: 0;
+}
+
+code.descname {
+ background-color: transparent;
+ font-weight: bold;
+ font-size: 1.2em;
+}
+
+code.descclassname {
+ background-color: transparent;
+}
+
+code.xref, a code {
+ background-color: transparent;
+ font-weight: bold;
+}
+
+h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
+ background-color: transparent;
+}
+
+.viewcode-link {
+ float: right;
+}
+
+.viewcode-back {
+ float: right;
+ font-family: sans-serif;
+}
+
+div.viewcode-block:target {
+ margin: -1px -10px;
+ padding: 0 10px;
+}
+
+/* -- math display ---------------------------------------------------------- */
+
+img.math {
+ vertical-align: middle;
+}
+
+div.body div.math p {
+ text-align: center;
+}
+
+span.eqno {
+ float: right;
+}
+
+span.eqno a.headerlink {
+ position: relative;
+ left: 0px;
+ z-index: 1;
+}
+
+div.math:hover a.headerlink {
+ visibility: visible;
+}
+
+/* -- printout stylesheet --------------------------------------------------- */
+
+ at media print {
+ div.document,
+ div.documentwrapper,
+ div.bodywrapper {
+ margin: 0 !important;
+ width: 100%;
+ }
+
+ div.sphinxsidebar,
+ div.related,
+ div.footer,
+ #top-link {
+ display: none;
+ }
+}
\ No newline at end of file
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/bg-page.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/bg-page.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/bg-page.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/bullet_orange.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/bullet_orange.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/bullet_orange.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/clang-tools-extra-styles.css
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/clang-tools-extra-styles.css?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/clang-tools-extra-styles.css (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/clang-tools-extra-styles.css Tue Aug 6 07:50:31 2019
@@ -0,0 +1,23 @@
+details {
+ background-color: rgba(50, 150, 220, 0.08);
+ margin-bottom: 0.5em;
+ padding: 0 1em;
+ overflow-y: hidden; /* Suppress margin-collapsing */
+}
+details[open] {
+ border-bottom: 1px solid rgba(0, 0, 128, 0.2);
+ margin-bottom: 1em;
+}
+details summary {
+ font-weight: bold;
+ background-color: rgba(50, 150, 220, 0.1);
+ border-color: rgba(0, 0, 128, 0.2);
+ border-width: 1px;
+ border-style: solid none;
+ padding: 0.2em;
+ margin: 0 -1em;
+}
+details summary:hover {
+ background-color: rgba(50, 150, 220, 0.2);
+ cursor: pointer;
+}
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/comment-bright.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/comment-bright.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/comment-bright.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/comment-close.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/comment-close.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/comment-close.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/comment.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/comment.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/comment.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/doctools.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/doctools.js?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/doctools.js (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/doctools.js Tue Aug 6 07:50:31 2019
@@ -0,0 +1,313 @@
+/*
+ * doctools.js
+ * ~~~~~~~~~~~
+ *
+ * Sphinx JavaScript utilities for all documentation.
+ *
+ * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/**
+ * select a different prefix for underscore
+ */
+$u = _.noConflict();
+
+/**
+ * make the code below compatible with browsers without
+ * an installed firebug like debugger
+if (!window.console || !console.firebug) {
+ var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
+ "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
+ "profile", "profileEnd"];
+ window.console = {};
+ for (var i = 0; i < names.length; ++i)
+ window.console[names[i]] = function() {};
+}
+ */
+
+/**
+ * small helper function to urldecode strings
+ */
+jQuery.urldecode = function(x) {
+ return decodeURIComponent(x).replace(/\+/g, ' ');
+};
+
+/**
+ * small helper function to urlencode strings
+ */
+jQuery.urlencode = encodeURIComponent;
+
+/**
+ * This function returns the parsed url parameters of the
+ * current request. Multiple values per key are supported,
+ * it will always return arrays of strings for the value parts.
+ */
+jQuery.getQueryParameters = function(s) {
+ if (typeof s === 'undefined')
+ s = document.location.search;
+ var parts = s.substr(s.indexOf('?') + 1).split('&');
+ var result = {};
+ for (var i = 0; i < parts.length; i++) {
+ var tmp = parts[i].split('=', 2);
+ var key = jQuery.urldecode(tmp[0]);
+ var value = jQuery.urldecode(tmp[1]);
+ if (key in result)
+ result[key].push(value);
+ else
+ result[key] = [value];
+ }
+ return result;
+};
+
+/**
+ * highlight a given string on a jquery object by wrapping it in
+ * span elements with the given class name.
+ */
+jQuery.fn.highlightText = function(text, className) {
+ function highlight(node, addItems) {
+ if (node.nodeType === 3) {
+ var val = node.nodeValue;
+ var pos = val.toLowerCase().indexOf(text);
+ if (pos >= 0 &&
+ !jQuery(node.parentNode).hasClass(className) &&
+ !jQuery(node.parentNode).hasClass("nohighlight")) {
+ var span;
+ var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
+ if (isInSVG) {
+ span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+ } else {
+ span = document.createElement("span");
+ span.className = className;
+ }
+ span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+ node.parentNode.insertBefore(span, node.parentNode.insertBefore(
+ document.createTextNode(val.substr(pos + text.length)),
+ node.nextSibling));
+ node.nodeValue = val.substr(0, pos);
+ if (isInSVG) {
+ var bbox = span.getBBox();
+ var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+ rect.x.baseVal.value = bbox.x;
+ rect.y.baseVal.value = bbox.y;
+ rect.width.baseVal.value = bbox.width;
+ rect.height.baseVal.value = bbox.height;
+ rect.setAttribute('class', className);
+ var parentOfText = node.parentNode.parentNode;
+ addItems.push({
+ "parent": node.parentNode,
+ "target": rect});
+ }
+ }
+ }
+ else if (!jQuery(node).is("button, select, textarea")) {
+ jQuery.each(node.childNodes, function() {
+ highlight(this, addItems);
+ });
+ }
+ }
+ var addItems = [];
+ var result = this.each(function() {
+ highlight(this, addItems);
+ });
+ for (var i = 0; i < addItems.length; ++i) {
+ jQuery(addItems[i].parent).before(addItems[i].target);
+ }
+ return result;
+};
+
+/*
+ * backward compatibility for jQuery.browser
+ * This will be supported until firefox bug is fixed.
+ */
+if (!jQuery.browser) {
+ jQuery.uaMatch = function(ua) {
+ ua = ua.toLowerCase();
+
+ var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
+ /(webkit)[ \/]([\w.]+)/.exec(ua) ||
+ /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
+ /(msie) ([\w.]+)/.exec(ua) ||
+ ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
+ [];
+
+ return {
+ browser: match[ 1 ] || "",
+ version: match[ 2 ] || "0"
+ };
+ };
+ jQuery.browser = {};
+ jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
+}
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+var Documentation = {
+
+ init : function() {
+ this.fixFirefoxAnchorBug();
+ this.highlightSearchWords();
+ this.initIndexTable();
+
+ },
+
+ /**
+ * i18n support
+ */
+ TRANSLATIONS : {},
+ PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; },
+ LOCALE : 'unknown',
+
+ // gettext and ngettext don't access this so that the functions
+ // can safely bound to a different name (_ = Documentation.gettext)
+ gettext : function(string) {
+ var translated = Documentation.TRANSLATIONS[string];
+ if (typeof translated === 'undefined')
+ return string;
+ return (typeof translated === 'string') ? translated : translated[0];
+ },
+
+ ngettext : function(singular, plural, n) {
+ var translated = Documentation.TRANSLATIONS[singular];
+ if (typeof translated === 'undefined')
+ return (n == 1) ? singular : plural;
+ return translated[Documentation.PLURALEXPR(n)];
+ },
+
+ addTranslations : function(catalog) {
+ for (var key in catalog.messages)
+ this.TRANSLATIONS[key] = catalog.messages[key];
+ this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
+ this.LOCALE = catalog.locale;
+ },
+
+ /**
+ * add context elements like header anchor links
+ */
+ addContextElements : function() {
+ $('div[id] > :header:first').each(function() {
+ $('<a class="headerlink">\u00B6</a>').
+ attr('href', '#' + this.id).
+ attr('title', _('Permalink to this headline')).
+ appendTo(this);
+ });
+ $('dt[id]').each(function() {
+ $('<a class="headerlink">\u00B6</a>').
+ attr('href', '#' + this.id).
+ attr('title', _('Permalink to this definition')).
+ appendTo(this);
+ });
+ },
+
+ /**
+ * workaround a firefox stupidity
+ * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
+ */
+ fixFirefoxAnchorBug : function() {
+ if (document.location.hash && $.browser.mozilla)
+ window.setTimeout(function() {
+ document.location.href += '';
+ }, 10);
+ },
+
+ /**
+ * highlight the search words provided in the url in the text
+ */
+ highlightSearchWords : function() {
+ var params = $.getQueryParameters();
+ var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
+ if (terms.length) {
+ var body = $('div.body');
+ if (!body.length) {
+ body = $('body');
+ }
+ window.setTimeout(function() {
+ $.each(terms, function() {
+ body.highlightText(this.toLowerCase(), 'highlighted');
+ });
+ }, 10);
+ $('<p class="highlight-link"><a href="javascript:Documentation.' +
+ 'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
+ .appendTo($('#searchbox'));
+ }
+ },
+
+ /**
+ * init the domain index toggle buttons
+ */
+ initIndexTable : function() {
+ var togglers = $('img.toggler').click(function() {
+ var src = $(this).attr('src');
+ var idnum = $(this).attr('id').substr(7);
+ $('tr.cg-' + idnum).toggle();
+ if (src.substr(-9) === 'minus.png')
+ $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
+ else
+ $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
+ }).css('display', '');
+ if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
+ togglers.click();
+ }
+ },
+
+ /**
+ * helper function to hide the search marks again
+ */
+ hideSearchWords : function() {
+ $('#searchbox .highlight-link').fadeOut(300);
+ $('span.highlighted').removeClass('highlighted');
+ },
+
+ /**
+ * make the url absolute
+ */
+ makeURL : function(relativeURL) {
+ return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
+ },
+
+ /**
+ * get the current relative url
+ */
+ getCurrentURL : function() {
+ var path = document.location.pathname;
+ var parts = path.split(/\//);
+ $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
+ if (this === '..')
+ parts.pop();
+ });
+ var url = parts.join('/');
+ return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
+ },
+
+ initOnKeyListeners: function() {
+ $(document).keyup(function(event) {
+ var activeElementType = document.activeElement.tagName;
+ // don't navigate when in search box or textarea
+ if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') {
+ switch (event.keyCode) {
+ case 37: // left
+ var prevHref = $('link[rel="prev"]').prop('href');
+ if (prevHref) {
+ window.location.href = prevHref;
+ return false;
+ }
+ case 39: // right
+ var nextHref = $('link[rel="next"]').prop('href');
+ if (nextHref) {
+ window.location.href = nextHref;
+ return false;
+ }
+ }
+ }
+ });
+ }
+};
+
+// quick alias for translations
+_ = Documentation.gettext;
+
+$(document).ready(function() {
+ Documentation.init();
+});
\ No newline at end of file
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/documentation_options.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/documentation_options.js?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/documentation_options.js (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/documentation_options.js Tue Aug 6 07:50:31 2019
@@ -0,0 +1,9 @@
+var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
+ VERSION: '8',
+ LANGUAGE: 'None',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+};
\ No newline at end of file
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/down-pressed.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/down-pressed.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/down-pressed.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/down.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/down.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/down.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/file.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/file.png?rev=368047&view=auto
==============================================================================
Binary file - no diff available.
Propchange: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/file.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/haiku.css
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/haiku.css?rev=368047&view=auto
==============================================================================
--- www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/haiku.css (added)
+++ www-releases/trunk/8.0.1/tools/clang/tools/extra/docs/_static/haiku.css Tue Aug 6 07:50:31 2019
@@ -0,0 +1,376 @@
+/*
+ * haiku.css_t
+ * ~~~~~~~~~~~
+ *
+ * Sphinx stylesheet -- haiku theme.
+ *
+ * Adapted from http://haiku-os.org/docs/Haiku-doc.css.
+ * Original copyright message:
+ *
+ * Copyright 2008-2009, Haiku. All rights reserved.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ * Francois Revol <revol at free.fr>
+ * Stephan Assmus <superstippi at gmx.de>
+ * Braden Ewing <brewin at gmail.com>
+ * Humdinger <humdingerb at gmail.com>
+ *
+ * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+ at import url("basic.css");
+
+html {
+ margin: 0px;
+ padding: 0px;
+ background: #FFF url(bg-page.png) top left repeat-x;
+}
+
+body {
+ line-height: 1.5;
+ margin: auto;
+ padding: 0px;
+ font-family: "DejaVu Sans", Arial, Helvetica, sans-serif;
+ min-width: 59em;
+ max-width: 70em;
+ color: #333333;
+}
+
+div.footer {
+ padding: 8px;
+ font-size: 11px;
+ text-align: center;
+ letter-spacing: 0.5px;
+}
+
+/* link colors and text decoration */
+
+a:link {
+ font-weight: bold;
+ text-decoration: none;
+ color: #dc3c01;
+}
+
+a:visited {
+ font-weight: bold;
+ text-decoration: none;
+ color: #892601;
+}
+
+a:hover, a:active {
+ text-decoration: underline;
+ color: #ff4500;
+}
+
+/* Some headers act as anchors, don't give them a hover effect */
+
+h1 a:hover, a:active {
+ text-decoration: none;
+ color: #0c3762;
+}
+
+h2 a:hover, a:active {
+ text-decoration: none;
+ color: #0c3762;
+}
+
+h3 a:hover, a:active {
+ text-decoration: none;
+ color: #0c3762;
+}
+
+h4 a:hover, a:active {
+ text-decoration: none;
+ color: #0c3762;
+}
+
+a.headerlink {
+ color: #a7ce38;
+ padding-left: 5px;
+}
+
+a.headerlink:hover {
+ color: #a7ce38;
+}
+
+/* basic text elements */
+
+div.content {
+ margin-top: 20px;
+ margin-left: 40px;
+ margin-right: 40px;
+ margin-bottom: 50px;
+ font-size: 0.9em;
+}
+
+/* heading and navigation */
+
+div.header {
+ position: relative;
+ left: 0px;
+ top: 0px;
+ height: 85px;
+ /* background: #eeeeee; */
+ padding: 0 40px;
+}
+div.header h1 {
+ font-size: 1.6em;
+ font-weight: normal;
+ letter-spacing: 1px;
+ color: #0c3762;
+ border: 0;
+ margin: 0;
+ padding-top: 15px;
+}
+div.header h1 a {
+ font-weight: normal;
+ color: #0c3762;
+}
+div.header h2 {
+ font-size: 1.3em;
+ font-weight: normal;
+ letter-spacing: 1px;
+ text-transform: uppercase;
+ color: #aaa;
+ border: 0;
+ margin-top: -3px;
+ padding: 0;
+}
+
+div.header img.rightlogo {
+ float: right;
+}
+
+
+div.title {
+ font-size: 1.3em;
+ font-weight: bold;
+ color: #0c3762;
+ border-bottom: dotted thin #e0e0e0;
+ margin-bottom: 25px;
+}
+div.topnav {
+ /* background: #e0e0e0; */
+}
+div.topnav p {
+ margin-top: 0;
+ margin-left: 40px;
+ margin-right: 40px;
+ margin-bottom: 0px;
+ text-align: right;
+ font-size: 0.8em;
+}
+div.bottomnav {
+ background: #eeeeee;
+}
+div.bottomnav p {
+ margin-right: 40px;
+ text-align: right;
+ font-size: 0.8em;
+}
+
+a.uplink {
+ font-weight: normal;
+}
+
+
+/* contents box */
+
+table.index {
+ margin: 0px 0px 30px 30px;
+ padding: 1px;
+ border-width: 1px;
+ border-style: dotted;
+ border-color: #e0e0e0;
+}
+table.index tr.heading {
+ background-color: #e0e0e0;
+ text-align: center;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+table.index tr.index {
+ background-color: #eeeeee;
+}
+table.index td {
+ padding: 5px 20px;
+}
+
+table.index a:link, table.index a:visited {
+ font-weight: normal;
+ text-decoration: none;
+ color: #dc3c01;
+}
+table.index a:hover, table.index a:active {
+ text-decoration: underline;
+ color: #ff4500;
+}
+
+
+/* Haiku User Guide styles and layout */
+
+/* Rounded corner boxes */
+/* Common declarations */
+div.admonition {
+ -webkit-border-radius: 10px;
+ -khtml-border-radius: 10px;
+ -moz-border-radius: 10px;
+ border-radius: 10px;
+ border-style: dotted;
+ border-width: thin;
+ border-color: #dcdcdc;
+ padding: 10px 15px 10px 15px;
+ margin-bottom: 15px;
+ margin-top: 15px;
+}
+div.note {
+ padding: 10px 15px 10px 80px;
+ background: #e4ffde url(alert_info_32.png) 15px 15px no-repeat;
+ min-height: 42px;
+}
+div.warning {
+ padding: 10px 15px 10px 80px;
+ background: #fffbc6 url(alert_warning_32.png) 15px 15px no-repeat;
+ min-height: 42px;
+}
+div.seealso {
+ background: #e4ffde;
+}
+
+/* More layout and styles */
+h1 {
+ font-size: 1.3em;
+ font-weight: bold;
+ color: #0c3762;
+ border-bottom: dotted thin #e0e0e0;
+ margin-top: 30px;
+}
+
+h2 {
+ font-size: 1.2em;
+ font-weight: normal;
+ color: #0c3762;
+ border-bottom: dotted thin #e0e0e0;
+ margin-top: 30px;
+}
+
+h3 {
+ font-size: 1.1em;
+ font-weight: normal;
+ color: #0c3762;
+ margin-top: 30px;
+}
+
+h4 {
+ font-size: 1.0em;
+ font-weight: normal;
+ color: #0c3762;
+ margin-top: 30px;
+}
+
+p {
+ text-align: justify;
+}
+
+p.last {
+ margin-bottom: 0;
+}
+
+ol {
+ padding-left: 20px;
+}
+
+ul {
+ padding-left: 5px;
+ margin-top: 3px;
+}
+
+li {
+ line-height: 1.3;
+}
+
+div.content ul > li {
+ -moz-background-clip:border;
+ -moz-background-inline-policy:continuous;
+ -moz-background-origin:padding;
+ background: transparent url(bullet_orange.png) no-repeat scroll left 0.45em;
+ list-style-image: none;
+ list-style-type: none;
+ padding: 0 0 0 1.666em;
+ margin-bottom: 3px;
+}
+
+td {
+ vertical-align: top;
+}
+
+code {
+ background-color: #e2e2e2;
+ font-size: 1.0em;
+ font-family: monospace;
+}
+
+pre {
+ border-color: #0c3762;
+ border-style: dotted;
+ border-width: thin;
+ margin: 0 0 12px 0;
+ padding: 0.8em;
+ background-color: #f0f0f0;
+}
+
+hr {
+ border-top: 1px solid #ccc;
+ border-bottom: 0;
+ border-right: 0;
+ border-left: 0;
+ margin-bottom: 10px;
+ margin-top: 20px;
+}
+
+/* printer only pretty stuff */
+ at media print {
+ .noprint {
+ display: none;
+ }
+ /* for acronyms we want their definitions inlined at print time */
+ acronym[title]:after {
+ font-size: small;
+ content: " (" attr(title) ")";
+ font-style: italic;
+ }
+ /* and not have mozilla dotted underline */
+ acronym {
+ border: none;
+ }
+ div.topnav, div.bottomnav, div.header, table.index {
+ display: none;
+ }
+ div.content {
+ margin: 0px;
+ padding: 0px;
+ }
+ html {
+ background: #FFF;
+ }
+}
+
+.viewcode-back {
+ font-family: "DejaVu Sans", Arial, Helvetica, sans-serif;
+}
+
+div.viewcode-block:target {
+ background-color: #f4debf;
+ border-top: 1px solid #ac9;
+ border-bottom: 1px solid #ac9;
+ margin: -1px -10px;
+ padding: 0 12px;
+}
+
+/* math display */
+div.math p {
+ text-align: center;
+}
\ No newline at end of file
More information about the llvm-commits
mailing list