Setters returning a typedef of 'void' should not cause error.
Bug reported by Chris L.

llvm-svn: 60635
diff --git a/clang/lib/Sema/SemaDeclObjC.cpp b/clang/lib/Sema/SemaDeclObjC.cpp
index 5493442..d7b7121 100644
--- a/clang/lib/Sema/SemaDeclObjC.cpp
+++ b/clang/lib/Sema/SemaDeclObjC.cpp
@@ -992,7 +992,8 @@
   }
   
   if (SetterMethod) {
-    if (SetterMethod->getResultType() != Context.VoidTy)
+    if (Context.getCanonicalType(SetterMethod->getResultType()) 
+        != Context.VoidTy)
       Diag(SetterMethod->getLocation(), diag::err_setter_type_void);
     if (SetterMethod->getNumParams() != 1 ||
         (SetterMethod->getParamDecl(0)->getType() != property->getType())) {