diff options
| author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-03-14 22:56:43 +0000 |
|---|---|---|
| committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-03-14 22:56:43 +0000 |
| commit | 3e56dd4fc94a189505f80c09422470f81ce19ca4 (patch) | |
| tree | 6b65ba5a0c3e4c5624378c230cfd2e4ef922b78e /clang/test/SemaObjC | |
| parent | 4a89501f820d6472e680f8187e3fe30a6559f140 (diff) | |
| download | bcm5719-llvm-3e56dd4fc94a189505f80c09422470f81ce19ca4.tar.gz bcm5719-llvm-3e56dd4fc94a189505f80c09422470f81ce19ca4.zip | |
Don't try to typo-correct 'super' in an objc method.
This created 2 issues:
1) Performance issue, since typo-correction with PCH/modules is rather expensive.
2) Correctness issue, since if it managed to "correct" 'super' then bogus compiler errors would
be emitted, like this:
3.m:8:3: error: unknown type name 'super'; did you mean 'super1'?
super.x = 0;
^~~~~
super1
t3.m:5:13: note: 'super1' declared here
typedef int super1;
^
t3.m:8:8: error: expected identifier or '('
super.x = 0;
^
llvm-svn: 177126
Diffstat (limited to 'clang/test/SemaObjC')
| -rw-r--r-- | clang/test/SemaObjC/typo-correction.m | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/typo-correction.m b/clang/test/SemaObjC/typo-correction.m new file mode 100644 index 00000000000..cb2c91bb76c --- /dev/null +++ b/clang/test/SemaObjC/typo-correction.m @@ -0,0 +1,21 @@ +// RUN: %clang_cc1 %s -verify -fsyntax-only -Wspellcheck + +@interface B +@property int x; +@end + +@interface S : B +@end + +// Spell-checking 'undefined' is ok. +undefined var; // expected-warning {{spell-checking initiated}} \ + // expected-error {{unknown type name}} + +typedef int super1; +@implementation S +-(void)foo { + // Spell-checking 'super' is not ok. + super.x = 0; + self.x = 0; +} +@end |

