llvm-project/clang
John McCall a9ee325d71 If a C++ qualified id is followed by a postfix suffix, it is never the direct
operand of an addressof operator, and so we should not treat it as an abstract
member-pointer expression and therefore suppress the implicit member access.

This is really a well-formedness constraint on expressions:  a DeclRefExpr of
a FieldDecl or a non-static CXXMethodDecl (or template thereof, or unresolved
collection thereof) should not be allowed in an arbitrary location in the AST.
Arguably it shouldn't be allowed anywhere and we should have a different expr
node type for this.  But unfortunately we don't have a good way of enforcing
this kind of constraint right now.

llvm-svn: 89578
2009-11-22 02:49:43 +00:00
..
INPUTS Add an input file that includes all standard C++ headers 2009-09-29 03:26:11 +00:00
clang.xcodeproj Move GlobalDecl to its own file. Also add DenseMapInfo traits. 2009-11-13 04:25:07 +00:00
docs Fix a broken link 2009-11-09 15:15:41 +00:00
examples Add missed CMake file for adding clang examples to CMake build. 2009-11-17 09:40:40 +00:00
include Consider a FunctionTemplate to be an overload all on its lonesome. Track 2009-11-22 00:44:51 +00:00
lib If a C++ qualified id is followed by a postfix suffix, it is never the direct 2009-11-22 02:49:43 +00:00
test If a C++ qualified id is followed by a postfix suffix, it is never the direct 2009-11-22 02:49:43 +00:00
tools Switch CompilerInvocation::CreateFromArgs to take const char** arguments until Driver itself switches to StringRef. 2009-11-20 22:47:55 +00:00
utils Add two new C++ lit tests suites, for testing Clang .cpp files with 2009-11-15 08:10:41 +00:00
win32 Update VS project. 2009-03-31 18:57:19 +00:00
www Update C++ status 2009-11-20 22:00:06 +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 update copyright. 2009-09-30 15:59:45 +00:00
Makefile Add examples dir, built with BUILD_EXAMPLES=1 (Makefiles, no CMake equivalent yet). 2009-11-15 00:22:33 +00:00
ModuleInfo.txt
NOTES.txt add missing slashes to separator line; also testing commit access 2009-11-13 18:50:18 +00:00
README.txt rewrite readme. 2009-09-13 17:23:57 +00:00
TODO.txt Cleanup some clang-cc FIXMEs 2009-11-10 16:23:44 +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/