[Modules][ObjC] Check definition from canonical decl on designated initializers

Use definition from canonical decl when checking for designated
initializers. This is necessary since deserialization of a interface
might reuse the definition from the canonical one (see r281119).

rdar://problem/29360655

llvm-svn: 301382
diff --git a/clang/test/Modules/Inputs/objc-desig-init/Base.h b/clang/test/Modules/Inputs/objc-desig-init/Base.h
new file mode 100644
index 0000000..4718425
--- /dev/null
+++ b/clang/test/Modules/Inputs/objc-desig-init/Base.h
@@ -0,0 +1,4 @@
+@class NSString;
+@interface Base
+- (id)initWithNibName:(NSString *)nibNameOrNil __attribute__((objc_designated_initializer));
+@end