llvm-project/clang
Manuel Klimek 1abf789c7a Various fixes to clang-format's macro handling.
Some of this is still pretty rough (note the load of FIXMEs), but it is
strictly an improvement and fixes various bugs that were related to
macro processing but are also imporant in non-macro use cases.

Specific fixes:
- correctly puts espaced newlines at the end of the line
- fixes counting of white space before a token when escaped newlines are
  present
- fixes parsing of "trailing" tokens when eof() is hit
- puts macro parsing orthogonal to parsing other structure
- general support for parsing of macro definitions

Due to the fix to format trailing tokens, this change also includes a
bunch of fixes to the c-index tests.

llvm-svn: 171556
2013-01-04 23:34:14 +00:00
..
INPUTS
bindings [python bindings] Expose cursor.referenced (clang_getCursorReferenced). 2013-01-02 22:31:57 +00:00
docs Add docs/README.txt to point to llvm/docs/README.txt. 2013-01-02 23:25:41 +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 Unqualify the parameter type. 2013-01-04 20:34:32 +00:00
lib Various fixes to clang-format's macro handling. 2013-01-04 23:34:14 +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 Various fixes to clang-format's macro handling. 2013-01-04 23:34:14 +00:00
tools Require set-xcode-analyzer to run with Python 2.7 or later. 2013-01-04 19:04:42 +00:00
unittests Various fixes to clang-format's macro handling. 2013-01-04 23:34:14 +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 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/