October 07, 2016 [Issue 16536] DMD master does not build on OS X 10.11.6/Xcode 7.3.1 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16536 --- Comment #10 from David Nadlinger <code@klickverbot.at> --- (In reply to Martin Nowak from comment #9) > Looks like the difference between Xcode 7.3.x and older versions (tried > 5.1.1) is the lack of __UINTMAX_TYPE__. > Strangely David reports __UINTMAX_TYPE__ to be "long unsigned int" > (compatible w/ dmd's ulong). > > Could someone who can reproduce the problem […] Just for the sake of completeness, I still get the same in both C and C++ mode $ clang -dM -E test.c | grep UINTMAX #define __UINTMAX_C_SUFFIX__ UL #define __UINTMAX_FMTX__ "lX" #define __UINTMAX_FMTo__ "lo" #define __UINTMAX_FMTu__ "lu" #define __UINTMAX_FMTx__ "lx" #define __UINTMAX_MAX__ 18446744073709551615UL #define __UINTMAX_TYPE__ long unsigned int #define __UINTMAX_WIDTH__ 64 $ clang++ -dM -E test.cpp | grep UINTMAX #define __UINTMAX_C_SUFFIX__ UL #define __UINTMAX_FMTX__ "lX" #define __UINTMAX_FMTo__ "lo" #define __UINTMAX_FMTu__ "lu" #define __UINTMAX_FMTx__ "lx" #define __UINTMAX_MAX__ 18446744073709551615UL #define __UINTMAX_TYPE__ long unsigned int #define __UINTMAX_WIDTH__ 64 -- |
October 07, 2016 [Issue 16536] DMD master does not build on OS X 10.11.6/Xcode 7.3.1 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16536 --- Comment #11 from Steven Schveighoffer <schveiguy@yahoo.com> --- (In reply to David Nadlinger from comment #10) > Just for the sake of completeness, I still get the same in both C and C++ mode > I get the same. -- |
October 07, 2016 [Issue 16536] DMD master does not build on OS X 10.11.6/Xcode 7.3.1 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16536 --- Comment #12 from Jacob Carlborg <doob@me.com> --- I have the same error with Clang 7.0.2 as well. I also have the same output. -- |
October 07, 2016 [Issue 16536] DMD master does not build on OS X 10.11.6/Xcode 7.3.1 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16536 --- Comment #13 from Martin Nowak <code@dawg.eu> --- Let's please answer the question of comment 1, which typedef is active. Looks like you have a __UINT64_TYPE__ long long unsigned int now. -- |
October 07, 2016 [Issue 16536] DMD master does not build on OS X 10.11.6/Xcode 7.3.1 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16536 --- Comment #14 from Martin Nowak <code@dawg.eu> --- (In reply to Martin Nowak from comment #13) > Let's please answer the question of comment 1, which typedef is active. Looks like you have a __UINT64_TYPE__ long long unsigned int now. Indeed the __UINT64_TYPE__ isn't present on my version of XCode/clang. It seems the better fix would be to rely on <stdint.h> and always use uint64_t. That would be unsigned long long, so we'd need to change D's ulong to match that. I'll go with a workaround for newer XCode versions for now, but this needs to be sorted out clearly. -- |
October 07, 2016 [Issue 16536] DMD master does not build on OS X 10.11.6/Xcode 7.3.1 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16536 Martin Nowak <code@dawg.eu> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |pull --- Comment #15 from Martin Nowak <code@dawg.eu> --- https://github.com/dlang/dmd/pull/6180 -- |
October 07, 2016 [Issue 16536] DMD master does not build on OS X 10.11.6/Xcode 7.3.1 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16536 --- Comment #16 from github-bugzilla@puremagic.com --- Commits pushed to stable at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/3b34132a9dd6fd3ac6bd32c572dc6a9c2a75b8f8 fix Issue 16536 - OSX mangling mismatch in dmd's C++/D ABI - just fix the specific dmd problem of picking up UINT64_TYPE (unsigned long long) on newer XCode/clang versions - the D mangling of ulong should eventually be fixed to always match uint64_t https://github.com/dlang/dmd/commit/131668b53dea8833e1d922f180800793e30703f2 Merge pull request #6180 from MartinNowak/fix16536 fix Issue 16536 - OSX mangling mismatch in dmd's C++/D ABI -- |
October 07, 2016 [Issue 16536] DMD master does not build on OS X 10.11.6/Xcode 7.3.1 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16536 github-bugzilla@puremagic.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED -- |
October 08, 2016 [Issue 16536] DMD master does not build on OS X 10.11.6/Xcode 7.3.1 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16536 --- Comment #17 from Steven Schveighoffer <schveiguy@yahoo.com> --- And now: Undefined symbols for architecture x86_64: "choose_multiplier(int, unsigned long, int, unsigned long*, int*)", referenced from: cdmul(elem*, unsigned int*) in backend.a(cod2.o) "udiv_coefficients(int, unsigned long, int*, unsigned long*, int*)", referenced from: cdmul(elem*, unsigned int*) in backend.a(cod2.o) ld: symbol(s) not found for architecture x86_64 Looks like the prototype in cod2.c does not match the type (one is targ_ullong, one is ullong). I tried the obvious fix of changing the prototype in cod2.c, but it complains of not knowing what ullong is there. I'll let the more experienced take this :) -- |
October 09, 2016 [Issue 16536] DMD master does not build on OS X 10.11.6/Xcode 7.3.1 | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=16536 --- Comment #18 from github-bugzilla@puremagic.com --- Commit pushed to stable at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/01a60612755c505350ebd26e701f46ec48255eda fix OSX64 ABI mismatch with divcoeff - also apply fix from #6180 (Issue 16536) to divcoeff.c - add comment that declarations must be kept in sync -- |
Copyright © 1999-2021 by the D Language Foundation