xref: /llvm-project/clang/test/APINotes/fields.cpp (revision b81697718f49b0f353882e178f25981f47b2aa43)
1*b8169771SEgor Zhdan // RUN: rm -rf %t && mkdir -p %t
2*b8169771SEgor Zhdan // RUN: %clang_cc1 -fmodules -fblocks -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache/Fields -fdisable-module-hash -fapinotes-modules -fsyntax-only -I %S/Inputs/Headers -F %S/Inputs/Frameworks %s -x c++
3*b8169771SEgor Zhdan // RUN: %clang_cc1 -fmodules -fblocks -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache/Fields -fdisable-module-hash -fapinotes-modules -I %S/Inputs/Headers -F %S/Inputs/Frameworks %s -ast-dump -ast-dump-filter IntWrapper::value -x c++ | FileCheck --check-prefix=CHECK-FIELD %s
4*b8169771SEgor Zhdan // RUN: %clang_cc1 -fmodules -fblocks -fimplicit-module-maps -fmodules-cache-path=%t/ModulesCache/Fields -fdisable-module-hash -fapinotes-modules -I %S/Inputs/Headers -F %S/Inputs/Frameworks %s -ast-dump -ast-dump-filter Outer::Inner::value -x c++ | FileCheck --check-prefix=CHECK-DEEP-FIELD %s
5*b8169771SEgor Zhdan 
6*b8169771SEgor Zhdan #include "Fields.h"
7*b8169771SEgor Zhdan 
8*b8169771SEgor Zhdan // CHECK-FIELD: Dumping IntWrapper::value:
9*b8169771SEgor Zhdan // CHECK-FIELD-NEXT: FieldDecl {{.+}} value
10*b8169771SEgor Zhdan // CHECK-FIELD: UnavailableAttr {{.+}} <<invalid sloc>> "oh no"
11*b8169771SEgor Zhdan 
12*b8169771SEgor Zhdan // CHECK-DEEP-FIELD: Dumping Outer::Inner::value:
13*b8169771SEgor Zhdan // CHECK-DEEP-FIELD-NEXT: FieldDecl {{.+}} value
14*b8169771SEgor Zhdan // CHECK-DEEP-FIELD: UnavailableAttr {{.+}} <<invalid sloc>> "oh no 2"
15*b8169771SEgor Zhdan 
16*b8169771SEgor Zhdan // CHECK-FIELD-NOT: this should have no effect
17*b8169771SEgor Zhdan // CHECK-DEEP-FIELD-NOT: this should have no effect
18