llvm-project/clang/test/CXX
Douglas Gregor 3024f07c12 Implement C++11 [expr.prim.general]p3, which permits the use of 'this'
in the declaration of a non-static member function after the
(optional) cv-qualifier-seq, which in practice means in the exception
specification and late-specified return type. 

The new scheme here used to manage 'this' outside of a member function
scope is more general than the Scope-based mechanism previously used
for non-static data member initializers and late-parsesd attributes,
because it can also handle the cv-qualifiers on the member
function. Note, however, that a separate pass is required for static
member functions to determine whether 'this' was used, because we
might not know that we have a static function until after declaration
matching.

Finally, this introduces name mangling for 'this' and for the implicit
'this', which is intended to match GCC's mangling. Independent
verification for the new mangling test case would be appreciated.

Fixes PR10036 and PR12450.

llvm-svn: 154799
2012-04-16 07:05:22 +00:00
..
basic When determining whether an identifier followed by a '<' in a member 2012-03-10 23:52:41 +00:00
class Improve diagnostics for invalid use of non-static members / this: 2012-04-05 01:13:04 +00:00
class.access My original patch missed the virtual-base case for destroying 2012-04-09 21:51:56 +00:00
class.derived Modify how the -verify flag works. Currently, the verification string and 2011-12-15 00:38:15 +00:00
conv Compute the promoted integer type of fixed-width enums correctly. Found by inspection. 2011-10-26 07:38:19 +00:00
dcl.dcl Disambiguation of '[[': 2012-04-10 01:32:12 +00:00
dcl.decl Dependent-sequence initialization of a single element can be direct 2012-04-04 04:06:51 +00:00
except In C++11 mode, when an integral constant expression is desired and we have a 2012-02-04 09:53:13 +00:00
expr Implement C++11 [expr.prim.general]p3, which permits the use of 'this' 2012-04-16 07:05:22 +00:00
lex Improve diagnostics for UCNs referring to control characters and members of the 2012-03-09 22:27:51 +00:00
over When computing the conversion sequence in overload resolution 2012-04-04 02:40:27 +00:00
special Improve diagnostics for invalid use of non-static members / this: 2012-04-05 01:13:04 +00:00
stmt.stmt Support decltype as a simple-type-specifier. 2012-01-24 05:47:35 +00:00
temp PR12500: Improve the wording of the diagnostic for a redefinition of a name 2012-04-13 04:07:40 +00:00