Subject: CVS commit: pkgsrc/lang/clang-tools-extra
From: Adam Ciarcinski
Date: 2020-04-18 09:58:50
Message id: 20200418075850.1802BFB27@cvs.NetBSD.org

Log Message:
clang-tools-extra: updated to 10.0.0

What’s New in Extra Clang Tools 10.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 documentation is now found at https://clangd.llvm.org/
Go-to-definition, hover, find-references etc use a new mechanism to identify \ 
what is under the cursor, which is (hopefully) more consistent and accurate.
clangd should be able to reliably locate the standard library/SDK on macOS.
Shutdown more cleanly on receiving a signal. In particular temporary PCH files \ 
should be cleaned up.
Find references now works on macros.
clangd can be more easily used remotely or in a docker container.
The --path-mappings flag translates between local and remote paths.
Experimental support for renaming across files (behind the --cross-file-rename flag).
Hover now exposes more information, including the type of symbols and the value \ 
of constant expressions.
Go to definition now works in dependent code in more cases, by assuming the \ 
primary template is used.
Better recovery and reporting when the compile command for a file can’t be \ 
fully parsed.
Switch header/source (an extension) now uses index information in addition to \ 
filename heuristics, and is much more robust.
Semantic selection (expand/contract selection) is supported.
Semantic highlighting is more robust, highlights more types of tokens, and as an \ 
extension provides information about inactive preprocessor regions.
Code completion results now include an extension field score.
This allows clients to incorporate clangd quality signals when re-ranking code \ 
completion after client-side fuzzy-matching.
New refactorings: define function out-of-line, define function in-line, extract \ 
function, remove using namespace directive, localize Objective-C string.
Bug fixes and performance improvements :-)

Improvements to clang-doc

clang-doc now generates documentation in HTML format.
Improvements to clang-tidy

New checks

New bugprone-bad-signal-to-kill-thread check.
Finds pthread_kill function calls when a thread is terminated by raising SIGTERM \ 
signal.

New bugprone-dynamic-static-initializers check.
Finds instances where variables with static storage are initialized dynamically \ 
in header files.

New bugprone-infinite-loop check.
Finds obvious infinite loops (loops where the condition variable is not changed \ 
at all).

New bugprone-not-null-terminated-result check
Finds function calls where it is possible to cause a not null-terminated result.

New bugprone-signed-char-misuse check.
Finds signed char to integer conversions which might indicate a programming error.

New cert-mem57-cpp check.
Checks if an object of type with extended alignment is allocated by using the \ 
default operator new.

New cert-oop58-cpp check.
Finds assignments to the copied object and its direct or indirect members in \ 
copy constructors and copy assignment operators.

New cppcoreguidelines-init-variables check.
Checks whether there are local variables that are declared without an initial value.

New darwin-dispatch-once-nonstatic check.
Finds declarations of dispatch_once_t variables without static or global storage.

New google-upgrade-googletest-case check.
Finds uses of deprecated Googletest APIs with names containing case and replaces \ 
them with equivalent APIs with suite.

New linuxkernel-must-use-errs check.
Checks Linux kernel code to see if it uses the results from the functions in \ 
linux/err.h.

New llvm-prefer-register-over-unsigned check.
Finds historical use of unsigned to hold vregs and physregs and rewrites them to \ 
use Register

New objc-missing-hash check.
Finds Objective-C implementations that implement -isEqual: without also \ 
appropriately implementing -hash.

New performance-no-automatic-move check.
Finds local variables that cannot be automatically moved due to constness.

New performance-trivially-destructible check.
Finds types that could be made trivially-destructible by removing out-of-line \ 
defaulted destructor declarations.

New readability-make-member-function-const check.
Finds non-static member functions that can be made const because the functions \ 
don’t use this in a non-const way.

New readability-qualified-auto check.
Adds pointer and const qualifications to auto-typed variables that are deduced \ 
to pointers and const pointers.

New readability-redundant-access-specifiers check.
Finds classes, structs, and unions that contain redundant member access specifiers.

New aliases

New alias cert-pos44-c to bugprone-bad-signal-to-kill-thread was added.
New alias llvm-qualified-auto to readability-qualified-auto was added.

Changes in existing checks

Improved bugprone-posix-return check.
Now also checks if any calls to pthread_* functions expect negative return values.

Improved hicpp-signed-bitwise check.
The check now supports the IgnorePositiveIntegerLiterals option.

Improved modernize-avoid-bind check.
The check now supports supports diagnosing and fixing arbitrary callables \ 
instead of only simple free functions. The PermissiveParameterList option has \ 
also been added to address situations where the existing fix-it logic would \ 
sometimes generate code that no longer compiles.

The modernize-use-equals-default fix no longer adds semicolons where they would \ 
be redundant.

Improved modernize-use-override check.
The check now supports the AllowOverrideAndFinal option to eliminate conflicts \ 
with gcc -Wsuggest-override or gcc -Werror=suggest-override.

The modernize-use-using check now converts typedefs containing struct \ 
definitions and multiple comma-separated types.

Improved readability-magic-numbers check.
The check now supports the IgnoreBitFieldsWidths option to suppress the warning \ 
for numbers used to specify bit field widths.

The check was updated to eliminate some false positives (such as using class \ 
enumeration as non-type template parameters, or the synthetically computed \ 
length of a static user string literal.)

Improved readability-redundant-member-init check.
The check now supports the IgnoreBaseInCopyConstructors option to avoid “base \ 
class ‘Foo’ should be explicitly initialized in the copy constructor” \ 
warnings or errors with gcc -Wextra or gcc -Werror=extra.

The readability-redundant-string-init check now supports a StringNames option \ 
enabling its application to custom string classes.

Renamed checks

The ‘objc-avoid-spinlock’ check was renamed to darwin-avoid-spinlock

Files:
RevisionActionfile
1.3modifypkgsrc/lang/clang-tools-extra/PLIST
1.6modifypkgsrc/lang/clang-tools-extra/distinfo