llvm-project/clang
Argyrios Kyrtzidis 89b928eb6a [objcmt] Check for classes that accept 'objectForKey:' (or the other selectors
that the migrator handles) but return their instances as 'id', resulting
in the compiler resolving 'objectForKey:' as the method from NSDictionary.

When checking if we can convert to subscripting syntax, check whether
the receiver is a result of a class method from a hardcoded list of
such classes. In such a case return the specific class as the interface
of the receiver.

llvm-svn: 159788
2012-07-06 00:07:09 +00:00
..
INPUTS all-std-headers.cpp: Include the C++11 headers when building with clang 2012-04-13 03:39:16 +00:00
bindings/python [libclang] CompilationDatabase naming and comment fixes 2012-07-03 20:38:12 +00:00
docs Release notes for r158230 "Disallow using ObjC literals in direct comparisons" 2012-07-05 18:48:30 +00:00
examples Remove a goofy CMake hack and use the standard CMake facilities to 2012-06-21 01:30:21 +00:00
include MIPS: Add -mdsp/-mno-dsp and -mdspr2/-mno-dspr2 command line options support. 2012-07-05 19:23:00 +00:00
lib [objcmt] Check for classes that accept 'objectForKey:' (or the other selectors 2012-07-06 00:07:09 +00:00
runtime build/compiler-rt: Companion commit to r159172. 2012-06-25 23:02:25 +00:00
test [objcmt] Check for classes that accept 'objectForKey:' (or the other selectors 2012-07-06 00:07:09 +00:00
tools Fix some memory leaks found by the static analyzer. Thanks to John Smith for running it over Clang. 2012-07-05 08:20:49 +00:00
unittests Adapts the FrontendAction convenience functions so that it can be 2012-07-05 18:13:01 +00:00
utils [analyzer] Add a statistic for maximum CFG size and a script to summarize analyzer stats from scan-build output. 2012-07-05 20:44:02 +00:00
www Update documentation with regards to template type diffing. 2012-06-27 02:00:20 +00:00
.gitignore Revert "Test commit" 2011-10-24 10:03:25 +00:00
CMakeLists.txt Clone a bit of LIT flag defaults from the LLVM CMake file into the 2012-07-02 20:52:55 +00:00
INSTALL.txt
LICENSE.TXT Happy new year 2012! 2012-01-01 08:16:56 +00:00
Makefile
ModuleInfo.txt
NOTES.txt Add a note about a missing optimization in the case of virtual 2012-03-30 04:25:03 +00:00
README.txt commit access verified, revert change 2012-03-06 22:55:51 +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/