xref: /llvm-project/clang/test/APINotes/extern-context.cpp (revision 7c1d9b15eee3a34678addab2bab66f3020ac0753)
1932949dbSEgor Zhdan // RUN: rm -rf %t && mkdir -p %t
2*7c1d9b15SFangrui Song // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache -fdisable-module-hash -fapinotes-modules -I %S/Inputs/Headers %s -ast-dump -ast-dump-filter globalInExternC -x c++ | FileCheck -check-prefix=CHECK-EXTERN-C %s
3*7c1d9b15SFangrui Song // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache -fdisable-module-hash -fapinotes-modules -I %S/Inputs/Headers %s -ast-dump -ast-dump-filter globalInExternCXX -x c++ | FileCheck -check-prefix=CHECK-EXTERN-CXX %s
4*7c1d9b15SFangrui Song // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache -fdisable-module-hash -fapinotes-modules -I %S/Inputs/Headers %s -ast-dump -ast-dump-filter globalFuncInExternC -x c++ | FileCheck -check-prefix=CHECK-FUNC-EXTERN-C %s
5*7c1d9b15SFangrui Song // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache -fdisable-module-hash -fapinotes-modules -I %S/Inputs/Headers %s -ast-dump -ast-dump-filter globalFuncInExternCXX -x c++ | FileCheck -check-prefix=CHECK-FUNC-EXTERN-CXX %s
6932949dbSEgor Zhdan 
7932949dbSEgor Zhdan #include "ExternCtx.h"
8932949dbSEgor Zhdan 
9932949dbSEgor Zhdan // CHECK-EXTERN-C: Dumping globalInExternC:
10932949dbSEgor Zhdan // CHECK-EXTERN-C: VarDecl {{.+}} imported in ExternCtx globalInExternC 'int'
11932949dbSEgor Zhdan // CHECK-EXTERN-C: UnavailableAttr {{.+}} <<invalid sloc>> "oh no"
12932949dbSEgor Zhdan 
13932949dbSEgor Zhdan // CHECK-EXTERN-CXX: Dumping globalInExternCXX:
14932949dbSEgor Zhdan // CHECK-EXTERN-CXX: VarDecl {{.+}} imported in ExternCtx globalInExternCXX 'int'
15932949dbSEgor Zhdan // CHECK-EXTERN-CXX: UnavailableAttr {{.+}} <<invalid sloc>> "oh no #2"
16932949dbSEgor Zhdan 
17932949dbSEgor Zhdan // CHECK-FUNC-EXTERN-C: Dumping globalFuncInExternC:
18932949dbSEgor Zhdan // CHECK-FUNC-EXTERN-C: FunctionDecl {{.+}} imported in ExternCtx globalFuncInExternC 'void ()'
19932949dbSEgor Zhdan // CHECK-FUNC-EXTERN-C: UnavailableAttr {{.+}} <<invalid sloc>> "oh no #3"
20932949dbSEgor Zhdan 
21932949dbSEgor Zhdan // CHECK-FUNC-EXTERN-CXX: Dumping globalFuncInExternCXX:
22932949dbSEgor Zhdan // CHECK-FUNC-EXTERN-CXX: FunctionDecl {{.+}} imported in ExternCtx globalFuncInExternCXX 'void ()'
23932949dbSEgor Zhdan // CHECK-FUNC-EXTERN-CXX: UnavailableAttr {{.+}} <<invalid sloc>> "oh no #4"
24