<html>#2318: sort Perl hash keys to make generated code reproducable
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Roland Haas</td></tr>
<tr><td style='text-align:right'>   Status:</td><td>new</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'>  Version:</td><td>Cactus_4.0.0</td></tr>
<tr><td style='text-align:right'>     Type:</td><td>bug</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>minor</td></tr>
<tr><td style='text-align:right'>Component:</td><td>Cactus</td></tr>
</table>

<p>The order of some of the Cactus generated code depends on traversal order of perl hashes, eg the code to set up aliased functions. Perl, as part of its hardening against attacks, explicitly randomizes this order for each perl invocation. Thus, while there is no functional difference in the generated code, the generated files can change which can lead to unnecessary recompiles and also make it harder to run diff on the auto-generated source files.</p>
<p>Pull request <a data-is-external-link="true" href="https://bitbucket.org/cactuscode/cactus/pull-requests/80/rhaas-sortkeys/diff" rel="nofollow">https://bitbucket.org/cactuscode/cactus/pull-requests/80/rhaas-sortkeys/diff</a> sorts all hash keys before they are iterated over.</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2318/sort-perl-hash-keys-to-make-generated-code'>https://bitbucket.org/einsteintoolkit/tickets/issues/2318/sort-perl-hash-keys-to-make-generated-code</a></p>
</html>