// RUN: %clang_cc1 -fblocks %s -emit-llvm -o %t

extern "C" int printf(const char*, ...);

struct ST {
     int filler; 
     int referrer;
};

void OUTER_BLOCK(void (^fixer)(ST& ref)) {
    ST ref = {2, 100};
    fixer(ref);
}
  
void INNER_BLOCK(int (^largeDo) ()) {
	printf("%d\n", largeDo());
}

void scan() {
            OUTER_BLOCK(^(ST &ref) {
                INNER_BLOCK(^() { return ref.referrer + ref.filler; });
            });

}

int main() {
    scan();
}
