<div class="markdown_content"><hr />
<p><strong> <a class="alink" href="http://sourceforge.net/p/pure-data/patches/550">[patches:#550]</a> Less restrictive definition of t_gotfn on arm64</strong></p>
<p><strong>Status:</strong> open<br />
<strong>Group:</strong> bugfix<br />
<strong>Labels:</strong> public interface <br />
<strong>Created:</strong> Tue May 05, 2015 03:03 PM UTC by IOhannes m zmölnig<br />
<strong>Last Updated:</strong> Tue May 05, 2015 03:03 PM UTC<br />
<strong>Owner:</strong> Miller Puckette</p>
<p>Currently <code>t_gotfn</code> is declared differently on arm64 and elsewhere:</p>
<div class="codehilite"><pre><span class="cp">#ifdef __aarch64__</span>
<span class="k">typedef</span> <span class="nf">void</span> <span class="p">(</span><span class="o">*</span><span class="n">t_gotfn</span><span class="p">)(</span><span class="kt">void</span> <span class="o">*</span><span class="n">x</span><span class="p">);</span>
<span class="cp">#else</span>
<span class="k">typedef</span> <span class="nf">void</span> <span class="p">(</span><span class="o">*</span><span class="n">t_gotfn</span><span class="p">)(</span><span class="kt">void</span> <span class="o">*</span><span class="n">x</span><span class="p">,</span> <span class="p">...);</span>
<span class="cp">#endif</span>
</pre></div>
<p>As reported by <a class="" href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=783824" rel="nofollow">Debian bug #783824</a>, the restrictive definition of <code>t_gotfn</code> on arm64 only<br />
makes sense on iOS, but not on Linux (where different calling conventions are<br />
used).<br />
As the restrictive definition needlessly breaks builds on <em>linux/arm64</em>, this<br />
patch applies to restrictive definition only on <em>OSX/arm64</em> (rather than<br />
<em>any/arm64</em>):</p>
<div class="codehilite"><pre>#if defined(__APPLE__) && defined(__aarch64__)
typedef void (*t_gotfn)(void *x);
#else
typedef void (*t_gotfn)(void *x, ...);
#endif
</pre></div>
<hr />
<p>Sent from sourceforge.net because pd-dev@lists.iem.at is subscribed to <a href="https://sourceforge.net/p/pure-data/patches">https://sourceforge.net/p/pure-data/patches/</a></p>
<p>To unsubscribe from further messages, a project admin can change settings at <a href="https://sourceforge.net/p/pure-data/admin/patches/options.">https://sourceforge.net/p/pure-data/admin/patches/options.</a>  Or, if this is a mailing list, you can unsubscribe from the mailing list.</p></div>