Mirror of official clang git repository located at http://llvm.org/git/clang. Updated every five minutes.
Перейти к файлу
Douglas Gregor ad4e02f171 When determining a standard conversion sequence involves resolving the
address of an overloaded function (or function template), perform that
resolution prior to determining the implicit conversion
sequence. This resolution is not part of the implicit conversion
sequence itself.

Previously, we would always consider this resolution to be a
function pointer decay, which was a lie: there might be an explicit &
in the expression, in which case decay should not occur. This caused
the CodeGen assertion in PR6973 (where we created a 
pointer to a pointer to a function when we should have had a pointer
to a function), but it's likely that there are corner cases of
overload resolution where this would have failed.

Cleaned up the code involved in determining the type that will
produced afer resolving the overloaded function reference, and added
an assertion to make sure the result is correct. Fixes PR6973.




git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102650 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-29 18:24:40 +00:00
INPUTS Add an input file that includes all standard C++ headers 2009-09-29 03:26:11 +00:00
bindings/python Rename the new Iterator objects and raise an assertion instead of returning invalid objects when the key is out of range. 2010-03-06 15:38:03 +00:00
clang.xcodeproj Add an InheritancePath parameter to the ImplicitCastExpr constructor. 2010-04-23 22:18:37 +00:00
docs concepts is not a keyword here and fix copy-pasto. 2010-04-23 06:09:40 +00:00
examples Tip of the day: save before commit. 2010-04-20 11:55:38 +00:00
include Add FunctionDecl::isVariadic() to match BlockDecl::isVariadic() and ObjCMethodDecl::isVariadic(). 2010-04-29 16:49:01 +00:00
lib When determining a standard conversion sequence involves resolving the 2010-04-29 18:24:40 +00:00
test When determining a standard conversion sequence involves resolving the 2010-04-29 18:24:40 +00:00
tools Add USR support for 'static inline' functions (which can be declared in header files). 2010-04-29 17:43:29 +00:00
utils Wrap 'data' key in quotes. 2010-04-17 00:37:35 +00:00
www Remove the blanket statement about Clang not supporting access control. It does now 2010-04-12 16:01:38 +00:00
CMakeLists.txt exclude cmake build directories from being installed 2010-04-25 04:59:35 +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 Fix 80 col violation 2010-03-18 13:56:20 +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 Bump Clang version number. 2010-04-29 15:30: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 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/