Skip to content
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 Issue 20652 - extern(C++) doesn't seem to mangle the types in core.simd right #12080

Merged
merged 1 commit into from
Jan 1, 2021

Conversation

ibuclaw
Copy link
Member

@ibuclaw ibuclaw commented Dec 30, 2020

The V4 ABI first appeared in g++ 4.5, and became the default in g++ 5. target.cpp.typeMangle can handle GNU-specific (or LLVM-specific) ABI versioning if need be.

Let the default always assume the latest is in effect.

@ibuclaw ibuclaw requested a review from WalterBright December 30, 2020 12:42
@ibuclaw ibuclaw requested a review from Geod24 as a code owner December 30, 2020 12:42
@dlang-bot
Copy link
Contributor

dlang-bot commented Dec 30, 2020

Thanks for your pull request, @ibuclaw!

Bugzilla references

Auto-close Bugzilla Severity Description
20652 normal extern(C++) doesn't seem to mangle the types in core.simd right

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "stable + dmd#12080"

@ibuclaw
Copy link
Member Author

ibuclaw commented Dec 30, 2020

@thewilsonator adjusted test to use a union for C++ equality checks.

@ibuclaw
Copy link
Member Author

ibuclaw commented Dec 30, 2020

OK, it looks like the MSVC mangler is broken too, not just the Itanium one.

DMD: ?test20652@@YAXAET__m128@@@Z
MSVC: ?test20652@@YAXAEBT__m128@@@Z

The B looks to be for const.

src/dmd/cppmangle.d Outdated Show resolved Hide resolved
Copy link
Member

@Geod24 Geod24 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two nits otherwise LGTM

Copy link
Member

@WalterBright WalterBright left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see my comments

Copy link
Member

@WalterBright WalterBright left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see my comments

@ibuclaw
Copy link
Member Author

ibuclaw commented Dec 31, 2020

@WalterBright - I've considered your last comment and I'm ignoring it. Please don't take it personally. :-)

Though for posterity here's a bugzilla issue about Codecov https://issues.dlang.org/show_bug.cgi?id=21519

@thewilsonator thewilsonator dismissed WalterBright’s stale review January 1, 2021 06:02

Codecov is misleading, mangleModifier required

@dlang-bot dlang-bot merged commit cd5c6d4 into dlang:stable Jan 1, 2021
@ibuclaw ibuclaw deleted the issue20652 branch January 1, 2021 07:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants