hanchenye-llvm-project/clang
Ted Kremenek b82ddd6ada Add rudimentary path-sensitivity to UnintializedValuesV2
analysis for short-circuited operations.  For branch written like "if (x && y)",
we maintain two sets of dataflow values for the outgoing
branches.  This suppresses some common false positives
for -Wuninitialized-experimental.

This change introduces some assertion failures
when running on the LLVM codebase.  WIP.

llvm-svn: 123923
2011-01-20 17:37:17 +00:00
..
INPUTS
bindings/python
clang.xcodeproj Save getObjCGCAttrKind and use it in two places 2011-01-13 21:35:27 +00:00
docs Eradicate any mention of C++0x concepts. 2011-01-19 23:15:20 +00:00
examples Fix name to match reality. 2011-01-19 05:59:39 +00:00
include Diagnose when a virtual member function marked final is overridden. 2011-01-20 16:25:36 +00:00
lib Add rudimentary path-sensitivity to UnintializedValuesV2 2011-01-20 17:37:17 +00:00
runtime build: Use CLANG_NO_RUNTIME=1 specifically, not just any definition. 2010-12-22 22:23:39 +00:00
test Add rudimentary path-sensitivity to UnintializedValuesV2 2011-01-20 17:37:17 +00:00
tools Teach libclang to generate USRs containing parameter packs and pack expansions. 2011-01-19 20:50:07 +00:00
utils Minor fix for clang-completion-mode, from Dve Abrahams 2010-12-14 16:52:29 +00:00
www Variadic templates are fully implemented. 2011-01-19 22:11:50 +00:00
CMakeLists.txt Use some of the llvm cmake infraestructure. This takes care of 2011-01-03 17:00:02 +00:00
INSTALL.txt
LICENSE.TXT
Makefile Fix typo. 2011-01-07 22:44:49 +00:00
ModuleInfo.txt
NOTES.txt A Release-Asserts build is now called a Release build. 2010-07-07 07:49:17 +00:00
README.txt Fix typo (test commit) 2010-06-17 12:39:05 +00:00
TODO.txt Test commit; added blank line to TODO.txt 2011-01-04 19:19:20 +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.cs.uiuc.edu/mailman/listinfo/cfe-dev

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