1*511f2e5aSSaleem Abdulrasool// RUN: %clang_cc1 -triple i686-windows -fdeclspec -fsyntax-only -verify %s 2*511f2e5aSSaleem Abdulrasool 3*511f2e5aSSaleem Abdulrasool__declspec(dllimport) typedef int typedef1; 4*511f2e5aSSaleem Abdulrasool// expected-warning@-1{{'dllimport' attribute only applies to functions, variables, classes, and Objective-C interfaces}} 5*511f2e5aSSaleem Abdulrasooltypedef __declspec(dllimport) int typedef2; 6*511f2e5aSSaleem Abdulrasool// expected-warning@-1{{'dllimport' attribute only applies to functions, variables, classes, and Objective-C interfaces}} 7*511f2e5aSSaleem Abdulrasooltypedef int __declspec(dllimport) typedef3; 8*511f2e5aSSaleem Abdulrasool// expected-warning@-1{{'dllimport' attribute only applies to functions, variables, classes, and Objective-C interfaces}} 9*511f2e5aSSaleem Abdulrasooltypedef __declspec(dllimport) void (*FunTy)(); 10*511f2e5aSSaleem Abdulrasool// expected-warning@-1{{'dllimport' attribute only applies to functions, variables, classes, and Objective-C interfaces}} 11*511f2e5aSSaleem Abdulrasoolenum __declspec(dllimport) E { }; 12*511f2e5aSSaleem Abdulrasool// expected-warning@-1{{'dllimport' attribute only applies to functions, variables, classes, and Objective-C interfaces}} 13*511f2e5aSSaleem Abdulrasool#if __has_feature(cxx_strong_enums) 14*511f2e5aSSaleem Abdulrasoolenum class __declspec(dllimport) F { }; 15*511f2e5aSSaleem Abdulrasool// expected-warning@-1{{'dllimport' attribute only applies to functions, variables, classes, and Objective-C interfaces}} 16*511f2e5aSSaleem Abdulrasool#endif 17*511f2e5aSSaleem Abdulrasool 18*511f2e5aSSaleem Abdulrasool__declspec(dllimport) 19*511f2e5aSSaleem Abdulrasool__attribute__((__objc_root_class__)) 20*511f2e5aSSaleem Abdulrasool@interface NSObject 21*511f2e5aSSaleem Abdulrasool@end 22*511f2e5aSSaleem Abdulrasool 23*511f2e5aSSaleem Abdulrasool__declspec(dllimport) 24*511f2e5aSSaleem Abdulrasool@interface I : NSObject 25*511f2e5aSSaleem Abdulrasool- (void)method; 26*511f2e5aSSaleem Abdulrasool@end 27*511f2e5aSSaleem Abdulrasool 28*511f2e5aSSaleem Abdulrasool@implementation I 29*511f2e5aSSaleem Abdulrasool- (void)method { 30*511f2e5aSSaleem Abdulrasool} 31*511f2e5aSSaleem Abdulrasool@end 32*511f2e5aSSaleem Abdulrasool 33