Provides an API to run clang tools (FrontendActions) as standalone tools,
or repeatedly in-memory in a process. This is useful for unit-testing,
map-reduce style applications, source transformation daemons or command line
tools.
The ability to run over multiple translation units with different command
line arguments enables building up refactoring tools that need to apply
transformations across translation unit boundaries.
See tools/clang-check/ClangCheck.cpp for an example.
llvm-svn: 154008
Some interesting stats from 'diagtool list-warnings' on the current version of clang:
Percentage of warnings with flags: 48.79%
Number of unique flags: 148
Average number of diagnostics per flag: 2.041
llvm-svn: 137109
This is a new mode of migration, where we avoid modifying the original files but
we emit temporary files instead.
<path> will be used to keep migration process metadata. Currently the temporary files
that are produced are put in the system's temp directory but we can put them
in the <path> if is necessary.
Also introduce new ARC migration functions in libclang whose only purpose,
currently, is to accept <path> and provide pairs of original file/transformed file
to map from the originals to the files after transformations are applied.
Finally introduce the c-arcmt-test utility that exercises the new libclang functions,
update arcmt-test, and add tests for the whole process.
rdar://9735086.
llvm-svn: 134844
This tool will be the test bed for indexing related operations. It basically reads PCH files passed by the command line and performs various operations.
Currently it can accept a file:line:column which resolves to a declaration/statement and displays some information about them.
llvm-svn: 74198