diff options
author | Kaelyn Uhrain <rikka@google.com> | 2012-01-18 21:41:41 +0000 |
---|---|---|
committer | Kaelyn Uhrain <rikka@google.com> | 2012-01-18 21:41:41 +0000 |
commit | 43e875d2610afcf9e7017b71f46116dc86624fd9 (patch) | |
tree | 320ac8512e2ddf96882495066d85e0a1a7af19a8 /test/Sema/implicit-decl.c | |
parent | 057df20b3107cef764052d271c89b8591b98b3ce (diff) |
Convert SemaDecl.cpp to pass callback objects to CorrectTypo.
Includes tests highlighting the cases where accuracy has improved
(there is one call that does no filtering beyond selecting the set
of allowed keywords, and one call that only triggers for ObjC code
for which a test by someone who knows ObjC would be welcome). Also
fixes a small typo in one of the suggestion messages, and drops a
malformed "expected-note" for a suggestion that did not occur even
when the malformed note was committed as r145930.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148420 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Sema/implicit-decl.c')
-rw-r--r-- | test/Sema/implicit-decl.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/test/Sema/implicit-decl.c b/test/Sema/implicit-decl.c index 2e1a865254..ffab9a6f91 100644 --- a/test/Sema/implicit-decl.c +++ b/test/Sema/implicit-decl.c @@ -16,9 +16,17 @@ void func() { printg("Hello, World!\n"); // expected-error{{implicit declaration of function 'printg' is invalid in C99}} \ // expected-note{{did you mean 'printf'?}} - __builtin_is_les(1, 3); // expected-error{{use of unknown builtin '__builtin_is_les'}} \ - // expected-note{did you mean '__builtin_is_less'?}} + __builtin_is_les(1, 3); // expected-error{{use of unknown builtin '__builtin_is_les'}} } Boolean _CFCalendarDecomposeAbsoluteTimeV(const char *componentDesc, int32_t **vector, int32_t count) { // expected-error{{conflicting types for '_CFCalendarDecomposeAbsoluteTimeV'}} return 0; } + + +// Test the typo-correction callback in Sema::ImplicitlyDefineFunction +extern int sformatf(char *str, __const char *__restrict __format, ...); // expected-note{{'sformatf' declared here}} +void test_implicit() { + int formats = 0; + formatd("Hello, World!\n"); // expected-error{{implicit declaration of function 'formatd' is invalid in C99}} \ + // expected-note{{did you mean 'sformatf'?}} +} |