1*b43573b9SSerge Pavlov // RUN: c-index-test -index-file %s -target armv7-windows-gnu -fdeclspec | FileCheck %s 28aa0b80eSSaleem Abdulrasool 38aa0b80eSSaleem Abdulrasool struct __declspec(dllexport) export_s { 48aa0b80eSSaleem Abdulrasool void m(); 58aa0b80eSSaleem Abdulrasool }; 68aa0b80eSSaleem Abdulrasool // CHECK: [indexDeclaration]: kind: struct | name: export_s | {{.*}} | lang: C++ 78aa0b80eSSaleem Abdulrasool // CHECK: <attribute>: attribute(dllexport) 88aa0b80eSSaleem Abdulrasool // CHECK: [indexDeclaration]: kind: c++-instance-method | name: m | {{.*}} | lang: C++ 98aa0b80eSSaleem Abdulrasool // CHECK: <attribute>: attribute(dllexport) 108aa0b80eSSaleem Abdulrasool 118aa0b80eSSaleem Abdulrasool struct __declspec(dllimport) import_s { 128aa0b80eSSaleem Abdulrasool void m(); 138aa0b80eSSaleem Abdulrasool }; 148aa0b80eSSaleem Abdulrasool // CHECK: [indexDeclaration]: kind: struct | name: import_s | {{.*}} | lang: C++ 158aa0b80eSSaleem Abdulrasool // CHECK: <attribute>: attribute(dllimport) 168aa0b80eSSaleem Abdulrasool // CHECK: [indexDeclaration]: kind: c++-instance-method | name: m | {{.*}} | lang: C++ 178aa0b80eSSaleem Abdulrasool // CHECK: <attribute>: attribute(dllimport) 188aa0b80eSSaleem Abdulrasool 198aa0b80eSSaleem Abdulrasool class __attribute__((dllexport)) export_gnu_s { 208aa0b80eSSaleem Abdulrasool void m(); 218aa0b80eSSaleem Abdulrasool }; 22*b43573b9SSerge Pavlov // CHECK: [indexDeclaration]: kind: c++-class | name: export_gnu_s | {{.*}} | lang: C++ 238aa0b80eSSaleem Abdulrasool // CHECK: <attribute>: attribute(dllexport) 248aa0b80eSSaleem Abdulrasool // CHECK: [indexDeclaration]: kind: c++-instance-method | name: m | {{.*}} | lang: C++ 258aa0b80eSSaleem Abdulrasool // CHECK: <attribute>: attribute(dllexport) 268aa0b80eSSaleem Abdulrasool 278aa0b80eSSaleem Abdulrasool class __attribute__((dllimport)) import_gnu_s { 288aa0b80eSSaleem Abdulrasool void m(); 298aa0b80eSSaleem Abdulrasool }; 30*b43573b9SSerge Pavlov // CHECK: [indexDeclaration]: kind: c++-class | name: import_gnu_s | {{.*}} | lang: C++ 318aa0b80eSSaleem Abdulrasool // CHECK: <attribute>: attribute(dllimport) 328aa0b80eSSaleem Abdulrasool // CHECK: [indexDeclaration]: kind: c++-instance-method | name: m | {{.*}} | lang: C++ 338aa0b80eSSaleem Abdulrasool // CHECK: <attribute>: attribute(dllimport) 348aa0b80eSSaleem Abdulrasool export_function(void)358aa0b80eSSaleem Abdulrasoolextern "C" void __declspec(dllexport) export_function(void) {} 36*b43573b9SSerge Pavlov // CHECK: [indexDeclaration]: kind: function | name: export_function | {{.*}} | lang: C 378aa0b80eSSaleem Abdulrasool // CHECK: <attribute>: attribute(dllexport) export_gnu_function(void)388aa0b80eSSaleem Abdulrasoolextern "C" void __attribute__((dllexport)) export_gnu_function(void) {} 39*b43573b9SSerge Pavlov // CHECK: [indexDeclaration]: kind: function | name: export_gnu_function | {{.*}} | lang: C 408aa0b80eSSaleem Abdulrasool // CHECK: <attribute>: attribute(dllexport) 418aa0b80eSSaleem Abdulrasool 428aa0b80eSSaleem Abdulrasool extern "C" { 438aa0b80eSSaleem Abdulrasool void __declspec(dllimport) import_function(void); 44*b43573b9SSerge Pavlov // CHECK: [indexDeclaration]: kind: function | name: import_function | {{.*}} | lang: C 458aa0b80eSSaleem Abdulrasool // CHECK: <attribute>: attribute(dllimport) 468aa0b80eSSaleem Abdulrasool void __attribute__((dllimport)) import_gnu_function(void); 47*b43573b9SSerge Pavlov // CHECK: [indexDeclaration]: kind: function | name: import_gnu_function | {{.*}} | lang: C 488aa0b80eSSaleem Abdulrasool // CHECK: <attribute>: attribute(dllimport) 498aa0b80eSSaleem Abdulrasool } 508aa0b80eSSaleem Abdulrasool 51