1. [clang-format] Add a MacroExpander. (details)
  2. [Analyzer] Fix unused variable warning in Release builds (details)
  3. [gn build] Port e336b74c995 (details)
Commit e336b74c995d665bc3fb75164375bbb0f78f516c by klimek
[clang-format] Add a MacroExpander.

The MacroExpander allows to expand simple (non-resursive) macro
definitions from a macro identifier token and macro arguments. It
annotates the tokens with a newly introduced MacroContext that keeps
track of the role a token played in expanding the macro in order to
be able to reconstruct the macro expansion from an expanded (formatted)
token stream.

Made Token explicitly copy-able to enable copying tokens from the parsed
macro definition.

Reviewers: sammccall

Subscribers: mgorny, cfe-commits

Tags: #clang

Differential Revision:
The file was addedclang/unittests/Format/TestLexer.h
The file was modifiedclang/lib/Format/CMakeLists.txt (diff)
The file was modifiedclang/unittests/Format/CMakeLists.txt (diff)
The file was addedclang/lib/Format/MacroExpander.cpp
The file was addedclang/lib/Format/Macros.h
The file was addedclang/unittests/Format/MacroExpanderTest.cpp
The file was modifiedclang/lib/Format/FormatToken.h (diff)
Commit 6a1bca8798c6ba119f188061472b60876495b9ae by benny.kra
[Analyzer] Fix unused variable warning in Release builds

clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp:377:19: warning: unused variable 'Init'
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp (diff)
Commit 9112567bbd1f479599e389ef9f45f820a1eab59c by llvmgnsyncbot
[gn build] Port e336b74c995
The file was modifiedllvm/utils/gn/secondary/clang/lib/Format/ (diff)
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Format/ (diff)