<blockquote>
<p>the hashing influenced entries in the output.</p>
</blockquote>
<p>Geany either:</p>
<ol>
<li>
<p>if <code>-P</code> creates a temporary file full of <code>#include</code>s one for each file in the list and uses the C preprocessor to combine them, or</p>
</li>
<li>
<p>if no <code>-P</code> just copys the content of all the files in the list together into a temporary file and parses that.</p>
</li>
</ol>
<p>Both of these do it in the hash table list order.</p>
<p>So, maybe to ensure reproducible output you can pre-combine the files you want in the order you want by running the C preprocessor first and then pass the result of that to Geany.</p>
<p>If you can get reproducible output without depending on implementation details that might change to support other languages besides C, that would be good.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/pull/1989#issuecomment-436573340">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJw1LbOHUhUsEdSelAJt8UUrk3Tg3ks5usrHsgaJpZM4YQS08">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABDrJ3BDlYwqLv6cIUB4jRvWFuGlKunmks5usrHsgaJpZM4YQS08.gif" height="1" width="1" alt="" /></p>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@elextr in #1989: \u003e  the hashing influenced entries in the output.\r\n\r\nGeany either:\r\n\r\n1. if `-P` creates a temporary file full of `#include`s one for each file in the list and uses the C preprocessor to combine them, or\r\n\r\n2. if no `-P` just copys the content of all the files in the list together into a temporary file and parses that.\r\n\r\nBoth of these do it in the hash table list order.\r\n\r\nSo, maybe to ensure reproducible output you can pre-combine the files you want in the order you want by running the C preprocessor first and then pass the result of that to Geany.\r\n\r\nIf you can get reproducible output without depending on implementation details that might change to support other languages besides C, that would be good."}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1989#issuecomment-436573340"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/geany/geany/pull/1989#issuecomment-436573340",
"url": "https://github.com/geany/geany/pull/1989#issuecomment-436573340",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
},
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "Re: [geany/geany] Make geany -g tags output reproducible (#1989)",
"sections": [
{
"text": "",
"activityTitle": "**elextr**",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@elextr",
"facts": [

]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"geany/geany\",\n\"issueId\": 1989,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}"
}
]
},
{
"name": "Close pull request",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"PullRequestClose\",\n\"repositoryFullName\": \"geany/geany\",\n\"pullRequestId\": 1989\n}"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/geany/geany/pull/1989#issuecomment-436573340"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 406924604\n}"
}
],
"themeColor": "26292E"
}
]</script>