-
-
Notifications
You must be signed in to change notification settings - Fork 609
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 19949: Implement support for C++ ABI tags #10927
Conversation
|
Thanks for your pull request, @Geod24! Bugzilla references
Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub run digger -- build "master + dmd#10927" |
|
|
|
So on OSX, the compiler is too old: From a quick Google, only LLVM 3.9 knows about ABI tags. I tested it on my machine, it works, but there's no way to test it on the auto-tester. |
b0f3ae0 to
a361021
Compare
|
Okay that's not going to work. Maybe it's time to have another CI provider run the C++ interop tests. |
Or manually let the test suite fetch a more recent clang if necessary? |
|
The mangling issues have long been resolved, and osx32 has been dropped.
This should make our life so much simpler.
30ba5cf to
700d467
Compare
| */ | ||
| void printCppSources (in const(char)[][] compiled) | ||
| { | ||
| version (Posix) |
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.
The windows machines have some ported Posix utilities AFAICT (e.g. bash). Might be worth to try nm and silently ignore failures on windows.
|
Runnable_cxx also needs to be disabled on semaphore ci because it uses GCC 4.8.4 |
This is now handled by Github actions. Don't disable Windows because this hasn't been implemented yet.
…nium ABI Implements C++ ABI tags with a few more restriction than the previous PR (9995). In particular, do not follow C++ source-level conventions when impractical (e.g. propagation). Since this is a feature that will be seldom used by users, I favored implementation simplicity over user-friendly semantics. Co-Authored-By: سليمان السهمي (Suleyman Sahmi) <sahmi.soulaimane@gmail.com>
|
Green at last 🎉 |
|
Hum, this went red for Ubuntu after merge... Will fix. |
|
Fix being worked on here: #10974 |
Previous PR by @SSoulaimane : #9995
Since the author has gone AWOL and there were some discussions on the initial PR, I had a go at implementing it. I mostly used the tests from the original PR, which were very comprehensive, but tried to keep the special casing in semantic to a minimum.
Requires dlang/druntime#2990 to pass tests.