a85cf39786fffd6860a940523be01eb02a4935c0 |
|
05-Apr-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Improve diagnostics for invalid use of non-static members / this: * s/nonstatic/non-static/ in the diagnostics, since the latter form outvoted the former by 28-2 in our diagnostics. * Fix the "use of member in static member function" diagnostic to correctly detect this situation inside a block or lambda. * Produce a more specific "invalid use of non-static member" diagnostic for the case where a nested class member refers to a member of a lexically-surrounding class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/expr/expr.prim/expr.prim.general/p12-0x.cpp
|
2c8aee454dac03e4918f0bb6e7fb849953056aba |
|
25-Feb-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR11956: C++11's special exception for accessing non-static data members from unevaluated operands applies within member functions, too. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151443 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/expr/expr.prim/expr.prim.general/p12-0x.cpp
|
ef331b783bb96a0f0e34afdb7ef46677dc4764cb |
|
20-Jan-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Remove PotentiallyPotentiallyEvaluated, and replace it with a much simpler and less error-prone way of handling the relevant cases. Towards marking of whether a declaration is used more accurately. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/expr/expr.prim/expr.prim.general/p12-0x.cpp
|
9bc291d5c00f47383ce7358e6309abf45324b028 |
|
18-Jan-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Make PotentiallyPotentiallyEvaluated contexts work correctly when referencing a class field from outside an instance method. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/expr/expr.prim/expr.prim.general/p12-0x.cpp
|
f6702a3927147655206ae729a84339c4fda4c651 |
|
20-Dec-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Unlike in C++03, a constant-expression is not an unevaluated operand in C++11. Split out a new ExpressionEvaluationContext flag for this case, and don't treat it as unevaluated in C++11. This fixes some crash-on-invalids where we would allow references to class members in potentially-evaluated constant expressions in static member functions, and also fixes half of PR10177. The fix to PR10177 exposed a case where template instantiation failed to provide a source location for a diagnostic, so TreeTransform has been tweaked to supply source locations when transforming a type. The source location is still not very good, but MarkDeclarationsReferencedInType would need to operate on a TypeLoc to improve it further. Also fix MarkDeclarationReferenced in C++98 mode to trigger instantiation for static data members of class templates which are used in constant expressions. This fixes a link-time problem, but we still incorrectly treat the member as non-constant. The rest of the fix for that issue is blocked on PCH support for early-instantiated static data members, which will be added in a subsequent patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/expr/expr.prim/expr.prim.general/p12-0x.cpp
|
921da24fff5e23d629740e0bc88c4ff02e955ca2 |
|
07-Nov-2011 |
David Blaikie <dblaikie@gmail.com> |
Move tests to the appropriate directory to match the spec hierarchy. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CXX/expr/expr.prim/expr.prim.general/p12-0x.cpp
|