aboutsummaryrefslogtreecommitdiff
path: root/test/Sema/implicit-decl.c
diff options
context:
space:
mode:
authorKaelyn Uhrain <rikka@google.com>2012-01-18 21:41:41 +0000
committerKaelyn Uhrain <rikka@google.com>2012-01-18 21:41:41 +0000
commit43e875d2610afcf9e7017b71f46116dc86624fd9 (patch)
tree320ac8512e2ddf96882495066d85e0a1a7af19a8 /test/Sema/implicit-decl.c
parent057df20b3107cef764052d271c89b8591b98b3ce (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.c12
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'?}}
+}