Bug 18053 – Use stdint.h mangling for int64_t/uint64_t when mangling D long/ulong

Status
RESOLVED
Resolution
FIXED
Severity
enhancement
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2017-12-10T06:30:55Z
Last change time
2017-12-24T09:35:50Z
Assigned to
No Owner
Creator
Walter Bright

Comments

Comment #0 by bugzilla — 2017-12-10T06:30:55Z
Currently it's a bit of a nightmare of inconsistent behavior from one compiler to the next, making it hard to portably interface to C++ code. Making it conform to int64_t / uint64_t should fix that. The Elf C++ spec for mangling is: http://refspecs.linux-foundation.org/cxxabi-1.86.html#mangling
Comment #1 by bugzilla — 2017-12-10T06:54:52Z
Mangling for uint64_t: Linux32: y Linux64: m OSX32: y OSX64: y
Comment #2 by bugzilla — 2017-12-10T07:34:14Z
Only OSX64 changes with this change (from 'm' to 'y').
Comment #3 by bugzilla — 2017-12-10T08:25:59Z
Comment #4 by github-bugzilla — 2017-12-24T04:44:16Z
Commits pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/517253e26f52b3ac8d81b6d881d2aff9fe2947d3 fix Issue 18053 - Use stdint.h mangling for int64_t/uint64_t when mangling D long/ulong https://github.com/dlang/dmd/commit/961c7a16159eed8de63077564b4b51f45668a3eb Merge pull request #7416 from WalterBright/fix18053 fix Issue 18053 - Use stdint.h mangling for int64_t/uint64_t when man… merged-on-behalf-of: Walter Bright <[email protected]>
Comment #5 by github-bugzilla — 2017-12-24T09:35:50Z
Commit pushed to revert-7416-fix18053 at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/472106c3f902b9f83f6f94b4a85e6f1ebcfecec9 Revert "fix Issue 18053 - Use stdint.h mangling for int64_t/uint64_t when man…"