hanchenye-llvm-project/clang
Nico Weber a7252d836a Formatter: Initial support for formatting Objective-C method expressions.
This follows the approach suggested by djasper in PR14911: When a '[' is         
seen that's at the start of a line, follows a binary operator, or follows one    
of : [ ( return throw, that '[' and its closing ']' are marked as
TT_ObjCMethodExpr and every ':' in that range that isn't part of a ternary
?: is marked as TT_ObjCMethodExpr as well.

Update the layout routines to not output spaces around ':' tokens that are
marked TT_ObjCMethodExpr, and only allow breaking after such tokens, not
before.

Before:
    [self adjustButton : closeButton_ ofKind : NSWindowCloseButton];

Now:
    [self adjustButton:closeButton_ ofKind:NSWindowCloseButton];

llvm-svn: 172304
2013-01-12 06:18:40 +00:00
..
INPUTS Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164766 2012-09-27 10:16:10 +00:00
bindings [python bindings] Expose cursor.referenced (clang_getCursorReferenced). 2013-01-02 22:31:57 +00:00
docs Fix spelling error and remove the part about CMake having experimental Ninja support since 2.8.9 has been released some time ago. 2013-01-11 07:23:53 +00:00
examples Rewrite #includes for llvm/Foo.h to llvm/IR/Foo.h as appropriate to 2013-01-02 11:45:17 +00:00
include Provide Decl::getOwningModule(), which determines the (sub)module in 2013-01-12 01:29:50 +00:00
lib Formatter: Initial support for formatting Objective-C method expressions. 2013-01-12 06:18:40 +00:00
runtime UBSan: enable proper linking with UBsan runtime on Darwin. Turn on building ubsan on OS X in 'make' build system. Patch by Jean-Daniel Dupas. 2012-11-16 12:53:14 +00:00
test Fix a regression from 171193: main cannot be overloaded. 2013-01-12 01:47:40 +00:00
tools libclang: use C++ casts in CXString.cpp 2013-01-11 23:13:36 +00:00
unittests Formatter: Initial support for formatting Objective-C method expressions. 2013-01-12 06:18:40 +00:00
utils Error if an anonymous DiagGroup is referenced multiple times. 2013-01-10 18:50:46 +00:00
www Various tweaks and updates to the analyzer website. 2013-01-08 19:29:37 +00:00
.arcconfig Add .arcconfig to the repository. Useful if someone wants to use phabricator's command line tool. 2012-12-01 12:08:08 +00:00
.gitignore analyzer: add initial Sphinx configuration 2013-01-02 23:07:22 +00:00
CMakeLists.txt CMake: Make sure to detect LibXml2 when Clang is built standalone 2012-12-18 19:39:40 +00:00
CODE_OWNERS.TXT Duplicate some common owners between Clang and LLVM. 2012-11-27 00:48:12 +00:00
INSTALL.txt
LICENSE.TXT Update the copyright coredits -- Happy new year 2013! 2013-01-01 10:00:19 +00:00
Makefile The top-level clang Makefile is #included into other Makefiles. (sigh) So we 2012-10-03 08:39:19 +00:00
ModuleInfo.txt
NOTES.txt Fix typo (test commit) 2012-10-18 15:24:46 +00:00
README.txt

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/