llvm-project/clang
Artem Dergachev 6cee434ed1 [analyzer] Add minimal support for fix-it hints.
Allow attaching fixit hints to Static Analyzer BugReports.

Fixits are attached either to the bug report itself or to its notes
(path-sensitive event notes or path-insensitive extra notes).

Add support for fixits in text output (including the default text output that
goes without notes, as long as the fixit "belongs" to the warning).

Add support for fixits in the plist output mode.

Implement a fixit for the path-insensitive DeadStores checker. Only dead
initialization warning is currently covered.

Implement a fixit for the path-sensitive VirtualCall checker when the virtual
method is not pure virtual (in this case the "fix" is to suppress the warning
by qualifying the call).

Both fixits are under an off-by-default flag for now, because they
require more careful testing.

Differential Revision: https://reviews.llvm.org/D65182

llvm-svn: 371257
2019-09-06 20:55:29 +00:00
..
INPUTS
bindings [clang][Tooling] Infer target and mode from argv[0] when using JSONCompilationDatabase 2019-06-26 07:39:03 +00:00
cmake [CMake][Fuchsia] Enable experimental pass manager by default 2019-08-29 23:12:06 +00:00
docs [X86] Prevent passing vectors of __int128 as <X x i128> in llvm IR 2019-09-06 06:02:13 +00:00
examples Fixup build of clang-interpreter example after change in r370122. 2019-08-28 02:13:24 +00:00
include [analyzer] Add minimal support for fix-it hints. 2019-09-06 20:55:29 +00:00
lib [analyzer] Add minimal support for fix-it hints. 2019-09-06 20:55:29 +00:00
runtime [GWP-ASan] Mutex implementation [2]. 2019-05-30 19:45:32 +00:00
test [analyzer] Add minimal support for fix-it hints. 2019-09-06 20:55:29 +00:00
tools libclang depends on ClangDriverOptions since r352803 2019-09-06 13:57:12 +00:00
unittests [LifetimeAnalysis] don't use raw string literals in macros 2019-09-06 19:15:02 +00:00
utils [OpenCL] Add image type handling for builtins 2019-09-05 10:01:24 +00:00
www [c++20] P1143R2: Add support for the C++20 'constinit' keyword. 2019-09-04 20:30:37 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [CMake] Don't set Python_ADDITIONAL_VERSIONS 2019-07-18 15:17:42 +00:00
CODE_OWNERS.TXT
INSTALL.txt
LICENSE.TXT
ModuleInfo.txt
NOTES.txt
README.txt [NFC] Test commit 2019-06-12 07:50:48 +00:00

README.txt

//===----------------------------------------------------------------------===//
// C Language Family Front-end
//===----------------------------------------------------------------------===//

Welcome to Clang.  This is a compiler front-end for the C family of languages
(C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM
compiler infrastructure project.

Unlike many other compiler frontends, Clang is useful for a number of things
beyond just compiling code: we intend for Clang to be host to a number of
different source-level tools.  One example of this is the Clang Static Analyzer.

If you're interested in more (including how to build Clang) it is best to read
the relevant web sites.  Here are some pointers:

Information on Clang:             http://clang.llvm.org/
Building and using Clang:         http://clang.llvm.org/get_started.html
Clang Static Analyzer:            http://clang-analyzer.llvm.org/
Information on the LLVM project:  http://llvm.org/

If you have questions or comments about Clang, a great place to discuss them is
on the Clang development mailing list:
  http://lists.llvm.org/mailman/listinfo/cfe-dev

If you find a bug in Clang, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/