llvm-project/clang
Daniel Jasper 2af6bbe7e0 Better support for constructor initializers.
We used to format initializers like this (with a sort of hacky implementation):
Constructor()
    : Val1(A),
      Val2(B) {

and now format like this (with a somewhat better solution):
Constructor()
    : Val1(A), Val2(B) {

assuming this would not fit on a single line. Also added tests.

As a side effect we now first analyze whether an UnwrappedLine needs to be
split at all. If not, not splitting it is the best solution by definition. As
this should be a very common case in normal code, not exploring the entire
solution space can provide significant speedup.

llvm-svn: 170457
2012-12-18 21:05:13 +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 Fix a copypasto bug. Also rename the parameter in question to not shadow the 2012-12-11 17:37:46 +00:00
docs docs: Nuke AnalyzerRegions.rst. 2012-12-18 02:15:05 +00:00
examples Sort the #include lines for examples/... 2012-12-04 09:37:22 +00:00
include CodeGen: Expand creal and cimag into complex field loads 2012-12-18 20:58:04 +00:00
lib Better support for constructor initializers. 2012-12-18 21:05:13 +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 CodeGen: Expand creal and cimag into complex field loads 2012-12-18 20:58:04 +00:00
tools Re-commit r170428 changes with Linux style file endings. 2012-12-18 14:38:23 +00:00
unittests Better support for constructor initializers. 2012-12-18 21:05:13 +00:00
utils Sort the #include lines under utils/... 2012-12-04 09:53:39 +00:00
www docs: [CMake] Add Xcode to the list of project formats CMake can generate. 2012-11-27 23:34:28 +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 docs: Initial Sphinx setup for Clang. 2012-12-12 23:02:30 +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
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/