Home | History | Annotate | Download | only in Rewriter
      1 // RUN: %clang_cc1 -E %s -o %t.mm
      2 // RUN: %clang_cc1 -x objective-c++ -fblocks -fms-extensions -rewrite-objc -fobjc-runtime=macosx-fragile-10.5 %t.mm -o %t-rw.cpp
      3 // RUN: FileCheck -check-prefix CHECK-LP --input-file=%t-rw.cpp %s
      4 // RUN: %clang_cc1 -x objective-c++ -fblocks -fms-extensions -rewrite-objc %t.mm -o %t-modern-rw.cpp
      5 // RUN: FileCheck -check-prefix CHECK-LP --input-file=%t-modern-rw.cpp %s
      6 // radar 7607781
      7 
      8 typedef struct {
      9 	int a;
     10 	int b;
     11 } mystruct;
     12 	
     13 void g(int (^block)(mystruct s)) {
     14 	mystruct x;
     15 	int v = block(x);
     16 }
     17 
     18 void f(const void **arg) {
     19 	__block const void **q = arg;
     20 	g(^(mystruct s){
     21 		*q++ = (void*)s.a;
     22 		return 314;
     23 		});
     24 }
     25 
     26 // CHECK-LP: (__Block_byref_q_0 *)&q
     27