/* APPLE LOCAL file radar 6083129 byref escapes */
/* { dg-do run { target *-*-darwin[1-2][0-9]* } } */
/* { dg-options "-fblocks" } */
/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */

#include <stdio.h>

extern "C" void abort(void);

static int count;
static void _Block_object_dispose(void * arg, int flag) {
  printf ("%p\n", arg);
  ++count;
}

void objc_get_type_qualifiers (int flag, int type) {
  while (flag--)
    while (type++ < 4) {
      __block int W1;
      __block int W2;
      if (type == 2)
	break;
    }
}

int main() {
  objc_get_type_qualifiers (1, 0);
  if (count != 4)
    abort();
  return 0;
}
