-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix constexpr on clang for eastl #19554
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Hi @Kalixio thanks a lot for your contribution. Given that this is a patch with uncertain implications, I think it'd be better if a PR was submitted upstream for this code. Once (if) it gets merged, as EASTL's releases are sporadic at best, we can backport the fix. Can you open the PR in EA's repo and link it here? I'm sure they'll appreciate it :) |
We applied this patch in #3643 because they updated the upstream to not use this code anymore and only rely on EA_COMPILER_CPP14_ENABLED (https://github.com/electronicarts/EASTL/blob/05f4b4aef33f2f3ded08f19fa97f5a27ff35ff9f/include/EASTL/internal/config.h#L146), which broke constexpr on msvc 14 We reverted that change with this patch and notified the upstream of the issue (electronicarts/EASTL#402) but no changes or update since then. Genuinely curious: since we're the ones that created and applied this patch to revert the changes in the upstream, shouldn't we maintain it as well ? (although I understand this is not ideal...) |
This comment has been minimized.
This comment has been minimized.
Conan v1 pipeline ✔️All green in build 4 (
Conan v2 pipeline ❌
The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping See details:Sorry, the build is only launched for Access Request users. You can request access writing in this issue. |
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Romain BOULLARD seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Specify library name and version: eastl/3.21.12
When building with clang 16, it was not possible to use constexpr with eastl
This is due to GNUC being defined on clang and EA_COMPILER_VERSION being less than 9000
With clang, EA_COMPILER_VERSION is defined to:
#define EA_COMPILER_VERSION (__clang_major__ * 100 + __clang_minor__)
see https://github.com/electronicarts/EABase/blob/521cb053d9320636f53226ffc616216cf532f0ef/include/Common/EABase/config/eacompiler.h#L341C53-L341C53
I propose to exclude clang from
Since it only applies to gcc before 9.0, according to the comment
Also, added a constexpr test case in the test package
Tested locally on MSVC 19.37.32822.0
Tested locally on Clang 16