summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/class.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2012-04-05 01:13:04 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2012-04-05 01:13:04 +0000
commitfa0a1f531f7d31ef90419c2ef36bfa0060a73b2c (patch)
treed9dfcbd3d451555be70266b0ac5796ae128edd83 /clang/test/SemaCXX/class.cpp
parent3cbdeba61aa2c231cb285be03f81534fa699033c (diff)
downloadbcm5719-llvm-fa0a1f531f7d31ef90419c2ef36bfa0060a73b2c.tar.gz
bcm5719-llvm-fa0a1f531f7d31ef90419c2ef36bfa0060a73b2c.zip
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. llvm-svn: 154073
Diffstat (limited to 'clang/test/SemaCXX/class.cpp')
-rw-r--r--clang/test/SemaCXX/class.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/test/SemaCXX/class.cpp b/clang/test/SemaCXX/class.cpp
index e079d0cc175..ec82925fe4e 100644
--- a/clang/test/SemaCXX/class.cpp
+++ b/clang/test/SemaCXX/class.cpp
@@ -7,16 +7,18 @@ public:
static void sm() {
sx = 0;
- this->x = 0; // expected-error {{invalid use of 'this' outside of a nonstatic member function}}
+ this->x = 0; // expected-error {{invalid use of 'this' outside of a non-static member function}}
x = 0; // expected-error {{invalid use of member 'x' in static member function}}
}
class NestedC {
public:
NestedC(int);
- void m() {
+ void f() {
sx = 0;
- x = 0; // expected-error {{invalid use of nonstatic data member 'x'}}
+ x = 0; // expected-error {{use of non-static data member 'x' of 'C' from nested type 'NestedC'}}
+ sm();
+ m(); // expected-error {{call to non-static member function 'm' of 'C' from nested type 'NestedC'}}
}
};
@@ -186,7 +188,7 @@ struct S {
};
void f() {
- S::c; // expected-error {{invalid use of nonstatic data member}}
+ S::c; // expected-error {{invalid use of non-static data member}}
}
}
OpenPOWER on IntegriCloud