|  | // RUN: %clang_cc1 -E %s -o %t.mm | 
|  | // RUN: %clang_cc1 -x objective-c++ -fblocks -fms-extensions -rewrite-objc %t.mm -o - | FileCheck %s | 
|  | // rdar://9006279 | 
|  |  | 
|  | void q(void (^p)(void)) { | 
|  | p(); | 
|  | } | 
|  |  | 
|  | void f() { | 
|  | __block char BYREF_VAR_CHECK = 'a'; | 
|  | __block char d = 'd'; | 
|  | q(^{ | 
|  | q(^{ | 
|  | __block char e = 'e'; | 
|  | char l = 'l'; | 
|  | BYREF_VAR_CHECK = 'b'; | 
|  | d = 'd'; | 
|  | q(^{ | 
|  | e = '1'; | 
|  | BYREF_VAR_CHECK = '2'; | 
|  | d = '3'; | 
|  | } | 
|  | ); | 
|  | }); | 
|  | }); | 
|  | } | 
|  |  | 
|  | int main() { | 
|  | f(); | 
|  | return 0; | 
|  | } | 
|  |  | 
|  | // CHECK 2: (__Block_byref_BYREF_VAR_CHECK_0 *)BYREF_VAR_CHECK | 
|  | // CHECK: {(void*)0,(__Block_byref_BYREF_VAR_CHECK_0 *)&BYREF_VAR_CHECK, 0, sizeof(__Block_byref_BYREF_VAR_CHECK_0), 'a'} | 
|  | // CHECK: __Block_byref_BYREF_VAR_CHECK_0 *)&BYREF_VAR_CHECK, (__Block_byref_d_1 *)&d, 570425344)); |