<p></p>
<blockquote>
<p>Sometimes it's better to test for specifics features, sometimes for versions. I don't know how the OpenMP landscape looks like, but sometimes implementations only support a subset of a newer standard in which case testing for specific features is the friendlier way.</p>
</blockquote>
<p>My impression after skimming through a couple of random discussion threads and stackoverflow posts is very much this; while the API is well-defined, the reality is that compilers may only have partial support for certain features. With GCC, I think it's safe to assume it's fully supported, but I agree that testing for the particular feature is always the safest option.</p>
<blockquote>
<p>OTOH the simplicity of being able to say "we require version X of standard Z" can be a bliss - for example we generally require POSIX.1 >= 2001 and that makes it fairly easy to cross-check portability issues and to say "no" to obscure stuff that doesn't fulfil that basic requirement.</p>
</blockquote>
<p>Yup, I basically had the same mindset and just went with the version check, instead of checking for the priority feature alone. That also "scales" better in case we adopt some other OpenMP features in the future; instead of adding another convoluted compilation test to the configure script, we would just bump the version.</p>
<p>That being said, especially given the nature of the non-100% compiler support, doing something like you suggested above with a custom <code>HAVE_OMP_PRIORITY</code> flag which we would set in a compilation test in <code>configure.ac</code> seems to be the best solution here. It just doesn't feel right to mandate version 4.5 (being "too new" in terms of RPM as you noted) just because of that damn priority thing which the world can live without just fine.</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/rpm-software-management/rpm/pull/1325#issuecomment-670390942">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ADLPZU6JZZ5GW733VMO2IDLR7OZEFANCNFSM4PVPF73A">unsubscribe</a>.<img src="https://github.com/notifications/beacon/ADLPZU73RBNP44OWLSLHCRLR7OZEFA5CNFSM4PVPF73KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOE72VVHQ.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/rpm-software-management/rpm/pull/1325#issuecomment-670390942",
"url": "https://github.com/rpm-software-management/rpm/pull/1325#issuecomment-670390942",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>