Mirror of official clang git repository located at http://llvm.org/git/clang. Updated every five minutes.
Перейти к файлу
Douglas Gregor e13ad83770 Work around an annoying, non-standard optimization in the glibc
headers, where malloc (and many other libc functions) are declared
with empty throw specifications, e.g.,  

  extern void *malloc (__SIZE_TYPE__ __size) throw () __attribute__
  ((__malloc__)) ;

The C++ standard doesn't seem to allow this, and redeclaring malloc as
the standard permits (as follows) resulted in Clang (rightfully!)
complaining about mis-matched exception specifications.

  void *malloc(size_t size);

We work around this by silently propagating an empty throw
specification "throw()" from a function with C linkage declared in a
system header to a redeclaration that has no throw specifier.

Ick.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95969 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-12 07:32:17 +00:00
INPUTS Add an input file that includes all standard C++ headers 2009-09-29 03:26:11 +00:00
bindings/python cindex/Python: Turn off showing IDs by default, they are really slow to compute 2010-01-31 00:41:15 +00:00
clang.xcodeproj Combine AsmStmt::setOutputsAndInputs and AsmStmt::setClobbers. 2010-01-30 19:34:25 +00:00
docs Update Clang C++ status, with a more project-centric focus. 2010-02-05 23:51:14 +00:00
examples -fno-rtti is now the default. 2010-01-24 20:43:31 +00:00
include Waste two bits in every clang::Type so that the type class can be read 2010-02-12 03:41:30 +00:00
lib Work around an annoying, non-standard optimization in the glibc 2010-02-12 07:32:17 +00:00
test Work around an annoying, non-standard optimization in the glibc 2010-02-12 07:32:17 +00:00
tools Two changes to scan-build: 2010-02-12 00:12:25 +00:00
utils Implement promotion for enumeration types. 2010-02-02 20:10:50 +00:00
www Don't display border around images (in Firefox). 2010-02-10 06:43:43 +00:00
CMakeLists.txt Add optional CMake build for Clang examples, patch by Kovarththanan Rajaratnam. 2009-11-17 09:32:51 +00:00
INSTALL.txt Add minimal INSTALL.txt 2009-09-13 02:21:31 +00:00
LICENSE.TXT 2010 is here. 2010-01-09 18:40:42 +00:00
Makefile Improve updating of test/Makefile for out-of-dir builds. 2009-12-21 23:28:06 +00:00
ModuleInfo.txt Move the ModuleInfo.txt file. 2007-07-11 17:03:27 +00:00
NOTES.txt Remove clang-cc tool, it has joined in unholy union with clang. 2009-12-12 00:56:47 +00:00
README.txt rewrite readme. 2009-09-13 17:23:57 +00:00
TODO.txt switch -Werror/-Wfatal-errors error conditions to use diagnostics instead 2009-12-23 18:53:37 +00:00
VER Collapse more clang version numbers down into fewer places. 2009-09-16 01:26:05 +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 intrastructure 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/