-
Notifications
You must be signed in to change notification settings - Fork 294
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
Offer alternative for cxxabi on Windows (Swift+Clang). #1787
Conversation
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1787 +/- ##
==========================================
- Coverage 84.11% 81.71% -2.41%
==========================================
Files 198 176 -22
Lines 22241 12319 -9922
Branches 4687 3022 -1665
==========================================
- Hits 18709 10066 -8643
+ Misses 2610 1717 -893
+ Partials 922 536 -386
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 67 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
170b34c
to
6ca724b
Compare
* This fixes the clang compilation of OpenTimelineIO on Windows, when compiling with Swift. Signed-off-by: furby™ <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this contribution, this looks good to me.
I do have a question for the team, perhaps the cxxabi functions are rather overkill for this application. I'd prefer that we simplify this code to not do this demangling, I don't honestly think it's adding value.
If the team prefers to remove the cxxabi demangling, I can update this PR to deprecate it instead. Please feel free to ping me in this issue once the team has reached a consensus. |
From some offline discussion, it seems there is no objection to removing the demangling. @furby-tm we would gladly accept this PR as-is, or with the demangling removed. Please let us know which you'd like. |
I'll go ahead and remove the demangling @jminor |
Closing in favor of #1800 |
Summarize your change.
This fixes the clang compilation of OpenTimelineIO on Microsoft Windows, when compiling with Swift. Previously, the
cxxabi.h
header was erroneously getting included in the Windows clang compilation of OpenTimelineIO'sstringUtils.cpp
file because it was being conditionally compiled for clang across all platforms, and this header does not exist on the Windows platform.cxxabi.h
is now guarded via__has_include(<cxxabi.h>)
.OTIO_HAVE_DEMANGLER
is set to1
ifcxxabi.h
exists, and0
if this header does not exist.defined(__GNUC__) || defined(__clang__)
are replaced with conditional compilation checks against the newOTIO_HAVE_DEMANGLER
preprocessor define.