hanchenye-llvm-project/clang-tools-extra
Edwin Vane eeed39a583 Use 'auto' with 'new' expressions
For variable declarations initialized with new expressions, use 'auto' for the
type specifier.

The 'auto' replacement happens only when the type of the VarDecl exactly
matches the type of the initializer and the VarDecl is *not* CV-qualified. The
only case that is currently handled is if the pointer type of the VarDecl is
itself CV qualified.

Some improvements need to be made to Clang's TypeLoc information in order for
other CV qualifier cases to be successfully handled. See the new test suite
new_cv_failing.cpp for examples of usages that could be handled with such an
improvement.

Function pointers are, for now, not transformed until the identifier info can
be extracted.

Reviewer: klimek
llvm-svn: 178575
2013-04-02 20:43:57 +00:00
..
cpp11-migrate Use 'auto' with 'new' expressions 2013-04-02 20:43:57 +00:00
docs Allow users to specify NULL like macros to be replaced 2013-03-28 16:06:59 +00:00
modularize modularize - Fixed broken array use (asserted in tests). Renamed KindType enum. 2013-03-28 18:38:43 +00:00
remove-cstr-calls these need the bitcode reader as well. 2013-01-19 18:45:35 +00:00
test Use 'auto' with 'new' expressions 2013-04-02 20:43:57 +00:00
tool-template these need the bitcode reader as well. 2013-01-19 18:45:35 +00:00
.arcconfig Add .arcconfig for Arcanist support for Phabricator 2013-01-10 04:12:08 +00:00
.gitignore .gitignore: ignore docs/_build 2013-03-03 15:15:12 +00:00
CMakeLists.txt Remove clang-format from clang-tools-extra. 2013-03-20 09:52:50 +00:00
CODE_OWNERS.TXT Adding a new code owners file for clang-tools-extra. 2013-03-14 16:56:31 +00:00
LICENSE.TXT Update the copyright coredits -- Happy new year 2013! 2013-01-01 10:00:19 +00:00
Makefile Fix Makefile. 2013-03-20 10:02:35 +00:00
README.txt Reverted to correct commit this time. 2012-08-24 23:29:33 +00:00

README.txt

//===----------------------------------------------------------------------===//
// Clang Tools repository
//===----------------------------------------------------------------------===//

Welcome to the repository of extra Clang Tools.  This repository holds tools
that are developed as part of the LLVM compiler infrastructure project and the
Clang frontend.  These tools are kept in a separate "extra" repository to
allow lighter weight checkouts of the core Clang codebase.

This repository is only intended to be checked out inside of a full LLVM+Clang
tree, and in the 'tools/extra' subdirectory of the Clang checkout.

All discussion regarding Clang, Clang-based tools, and code in this repository
should be held using the standard Clang mailing lists:
  http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev

Code review for this tree should take place on the standard Clang patch and
commit lists:
  http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

If you find a bug in these tools, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/