Subject: CVS commit: pkgsrc/lang/clang-tools-extra
From: Adam Ciarcinski
Date: 2019-06-02 10:41:18
Message id:

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

Clang Tools 8.0.0:

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”.

When a global 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.

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.

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.

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.

clangd has a new LSP extension that allows the client to request fixes to be \ 
sent together with diagnostics, instead of asynchronously.

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).

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).

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.

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.

Improvements to clang-tidy

New abseil-duration-comparison check.

Checks for comparisons which should be done in the absl::Duration domain instead \ 
of the float of integer domains.

New 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 \ 

New 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 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 abseil-duration-subtraction check.

Checks for cases where subtraction should be performed in the absl::Duration domain.

New 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 abseil-no-internal-dependencies check.

Gives a warning if code using Abseil depends on internal details.

New abseil-no-namespace check.

Ensures code does not open namespace absl as that violates Abseil’s \ 
compatibility guidelines.

New 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 abseil-str-cat-append check.

Flags uses of absl::StrCat() to append to a std::string. Suggests \ 
absl::StrAppend() should be used instead.

New 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 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 cppcoreguidelines-macro-usage check.

Finds macro usage that is considered problematic because better language \ 
constructs exist for the task.

New 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 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 modernize-avoid-c-arrays check.

Finds C-style array types and recommend to use std::array<> / \ 

New 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 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 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 readability-const-return-type check.

Checks for functions with a const-qualified return type and recommends removal \ 
of the const keyword.

New readability-isolate-decl check.

Detects local variable declarations declaring more than one variable and tries \ 
to refactor the code to one statement per declaration.

New readability-magic-numbers check.

Detects usage of magic numbers, numbers that are used as literals instead of \ 
introduced via constants or symbols.

New readability-redundant-preprocessor check.

Finds potentially redundant preprocessor directives.

New 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 cert-dcl16-c to readability-uppercase-literal-suffix added.

New alias cppcoreguidelines-avoid-c-arrays to modernize-avoid-c-arrays added.

New alias cppcoreguidelines-non-private-member-variables-in-classes to \ 
misc-non-private-member-variables-in-classes added.

New alias hicpp-avoid-c-arrays to modernize-avoid-c-arrays added.

New alias hicpp-uppercase-literal-suffix to readability-uppercase-literal-suffix \ 

The 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 objc-property-declaration check now ignores the Acronyms and \ 
IncludeDefaultAcronyms options.

The readability-redundant-smartptr-get check does not warn about calls inside \ 
macros anymore by default.

The readability-uppercase-literal-suffix check does not warn about literal \ 
suffixes inside macros anymore by default.