Prevent bogus warning on unimplemented setter/getter when user
has added declaration of these methods in its @interface.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60803 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/DeclObjC.cpp b/lib/AST/DeclObjC.cpp
index 1b098b5..84f0d98 100644
--- a/lib/AST/DeclObjC.cpp
+++ b/lib/AST/DeclObjC.cpp
@@ -456,6 +456,10 @@
     insMethods.push_back(GetterDecl);
     InsMap[property->getGetterName()] = GetterDecl;
   }
+  else
+    // A user declared getter will be synthesize when @synthesize of
+    // the property with the same name is seen in the @implementation
+    GetterDecl->setIsSynthesized();
   property->setGetterMethodDecl(GetterDecl);
 
   // Skip setter if property is read-only.
@@ -487,6 +491,10 @@
                                                0, 0);
     SetterDecl->setMethodParams(&Argument, 1);
   }
+  else
+    // A user declared setter will be synthesize when @synthesize of
+    // the property with the same name is seen in the @implementation
+    SetterDecl->setIsSynthesized();
   property->setSetterMethodDecl(SetterDecl);
 }