svenvh added a comment.

Sorry for digging up an old commit...

Apparently this broke block arguments, e.g. the following test case:

  int foo(int (^ bl)(void)) {
    return bl();
  }
  
  int get21() {
    return foo(^{return 21;});
  }
  
  int get42() {
    return foo(^{return 42;});
  }

In particular, the VarDecl that `getBlockExpr()` sees doesn't have an 
initializer when the called block comes from an argument (causing clang to 
crash).


Repository:
  rC Clang

https://reviews.llvm.org/D43783



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to