aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-04-03 18:38:42 +0000
committerChris Lattner <sabre@nondot.org>2009-04-03 18:38:42 +0000
commit75e3606728e30e00b3be0779243b55305e167828 (patch)
tree55ad4b5dc8db50966574e5ba34a5ed8027c40a51
parentff9b446dd1db0ed3a89403373df83b0da81dc6f5 (diff)
add fixit advice to an archiac ObjC issue.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68395 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Parse/ParseDecl.cpp1
-rw-r--r--test/FixIt/fixit-objc.m8
2 files changed, 9 insertions, 0 deletions
diff --git a/lib/Parse/ParseDecl.cpp b/lib/Parse/ParseDecl.cpp
index 1f8d473891..83c02490fe 100644
--- a/lib/Parse/ParseDecl.cpp
+++ b/lib/Parse/ParseDecl.cpp
@@ -832,6 +832,7 @@ void Parser::ParseDeclarationSpecifiers(DeclSpec &DS,
DS.SetRangeEnd(EndProtoLoc);
Diag(Loc, diag::warn_objc_protocol_qualifier_missing_id)
+ << CodeModificationHint::CreateInsertion(Loc, "id")
<< SourceRange(Loc, EndProtoLoc);
// Need to support trailing type qualifiers (e.g. "id<p> const").
// If a type specifier follows, it will be diagnosed elsewhere.
diff --git a/test/FixIt/fixit-objc.m b/test/FixIt/fixit-objc.m
new file mode 100644
index 0000000000..baef2337c1
--- /dev/null
+++ b/test/FixIt/fixit-objc.m
@@ -0,0 +1,8 @@
+// RUN: clang-cc -fsyntax-only -fixit-at=fixit-at.c:3:1 %s -o %t.m &&
+// RUN: clang-cc -verify %t.m
+
+@protocol X;
+
+void foo() {
+ <X> *P; // should be fixed to 'id<X>'.
+}