<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><br></div><div>On 16 Apr 2016, at 21:35, Dmitry Boyarintsev <<a href="mailto:skalogryz.lists@gmail.com">skalogryz.lists@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div dir="ltr">On Sat, Apr 16, 2016 at 3:05 PM, Jonas Maebe <span dir="ltr"><<a href="mailto:jonas.maebe@elis.ugent.be" target="_blank">jonas.maebe@elis.ugent.be</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">Using r33526, the app crashes with compiler native blocks at the same<br>
spot (on calling set block handler)<br>
</span></blockquote>
<br>
Can you share code that crashes?</blockquote><div><br></div><div>uses</div><div>  .. GameController // from iOS headers</div></div></div></div></blockquote>[snip]<br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><div>... or are you looking for the whole project?  </div></div></div></div></blockquote><div><br></div><div>Yes, a test program that can be used to reproduce the bug (preferably command line)</div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">See <a href="http://clang.llvm.org/docs/Block-ABI-Apple.html#high-level" rel="noreferrer" target="_blank">http://clang.llvm.org/docs/Block-ABI-Apple.html#high-level</a><br>
<br>
Those fields only exist if bits 25 resp. 26 are set in the flags.</blockquote><div><br></div><div>There's no real indication that these fields could physically omit. (unless "IFF" or "optional helper fields" in comments actually mean that). </div></div></div></div></blockquote><br><div>Yes, that's what optional field means (as opposed to field that is optionally initialised or so). You can check the clang source code too: <a href="http://llvm.org/svn/llvm-project/cfe/trunk/lib/CodeGen/CGBlocks.cpp">http://llvm.org/svn/llvm-project/cfe/trunk/lib/CodeGen/CGBlocks.cpp</a></div><div><br></div><div><pre style="text-decoration: -webkit-letterpress; word-wrap: break-word; -webkit-text-size-adjust: auto;">/// buildBlockDescriptor - Build the block descriptor meta-data for a block.
/// buildBlockDescriptor is accessed from 5th field of the Block_literal
/// meta-data and contains stationary information about the block literal.
/// Its definition will have 4 (or optinally 6) words.
/// \code
/// struct Block_descriptor {
///   unsigned long reserved;
///   unsigned long size;  // size of Block_literal metadata in bytes.
///   void *copy_func_helper_decl;  // optional copy helper.
///   void *destroy_func_decl; // optioanl destructor helper.
///   void *block_method_encoding_address; // @encode for block literal signature.
///   void *block_layout_info; // encoding of captured block variables.
/// };</pre><pre style="text-decoration: -webkit-letterpress; word-wrap: break-word; -webkit-text-size-adjust: auto;"><br></pre><pre style="text-decoration: -webkit-letterpress; word-wrap: break-word; -webkit-text-size-adjust: auto;">Jonas</pre></div></body></html>