xref: /aosp_15_r20/external/clang/test/Rewriter/rewrite-function-decl.mm (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 -fms-extensions -rewrite-objc -fobjc-runtime=macosx-fragile-10.5 -x objective-c++ -fblocks -o - %s
2*67e74705SXin Li
3*67e74705SXin Liextern "C" __declspec(dllexport) void BreakTheRewriter(void) {
4*67e74705SXin Li        __block int aBlockVariable = 0;
5*67e74705SXin Li        void (^aBlock)(void) = ^ {
6*67e74705SXin Li                aBlockVariable = 42;
7*67e74705SXin Li        };
8*67e74705SXin Li        aBlockVariable++;
9*67e74705SXin Li        void (^bBlocks)(void) = ^ {
10*67e74705SXin Li                aBlockVariable = 43;
11*67e74705SXin Li        };
12*67e74705SXin Li        void (^c)(void) = ^ {
13*67e74705SXin Li                aBlockVariable = 44;
14*67e74705SXin Li        };
15*67e74705SXin Li
16*67e74705SXin Li}
17*67e74705SXin Li__declspec(dllexport) extern "C" void AnotherBreakTheRewriter(int *p1, double d) {
18*67e74705SXin Li
19*67e74705SXin Li        __block int bBlockVariable = 0;
20*67e74705SXin Li        void (^aBlock)(void) = ^ {
21*67e74705SXin Li                bBlockVariable = 42;
22*67e74705SXin Li        };
23*67e74705SXin Li        bBlockVariable++;
24*67e74705SXin Li        void (^bBlocks)(void) = ^ {
25*67e74705SXin Li                bBlockVariable = 43;
26*67e74705SXin Li        };
27*67e74705SXin Li        void (^c)(void) = ^ {
28*67e74705SXin Li                bBlockVariable = 44;
29*67e74705SXin Li        };
30*67e74705SXin Li
31*67e74705SXin Li}
32