Extra Clang Tools 8.0.0 (In-Progress) Release Notes

Written by the LLVM Team


These are in-progress notes for the upcoming Extra Clang Tools 8 release. Release notes for previous releases can be found on the Download Page.


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.

For more information about Clang or LLVM, including information about the latest release, please see the Clang Web Site or the LLVM Web Site.

Note that if you are reading this file from a Subversion checkout or the main Clang web page, this document applies to the next release, not the current one. To see the release notes for a specific release, please see the releases page.

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

The improvements are…

Improvements to clang-doc

The improvements are…

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:

    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:

    # 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,

    # 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-rename

The improvements are…

Improvements to clang-tidy

Improvements to include-fixer

The improvements are…

Improvements to modularize

The improvements are…