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