https://issues.dlang.org/show_bug.cgi?id=16243
--- Comment #18 from Walter Bright ---
Temporary workaround
--
https://issues.dlang.org/show_bug.cgi?id=16243
--- Comment #17 from Walter Bright ---
On Linux x86, given the code:
struct S { };
int test(S s, int a) { return a; }
g++ produces:
mov EAX,8[ESP]
ret
while clang++ produces:
mov EAX,4[ESP]
ret
This
https://issues.dlang.org/show_bug.cgi?id=16243
--- Comment #16 from Walter Bright ---
With the upgrade to FreeBSD 11, this is now happening on 32 bit FreeBSD.
--
https://issues.dlang.org/show_bug.cgi?id=16243
--- Comment #15 from Walter Bright ---
*** Issue 18514 has been marked as a duplicate of this issue. ***
--
https://issues.dlang.org/show_bug.cgi?id=16243
Walter Bright changed:
What|Removed |Added
Keywords||C++
--
https://issues.dlang.org/show_bug.cgi?id=16243
--- Comment #14 from Jacob Carlborg ---
(In reply to Joakim from comment #13)
> dmd and ldc work with the gcc approach, but not clang's.
Clang is the native compiler on macOS, so I would say that we should go with
whatever Clang is
https://issues.dlang.org/show_bug.cgi?id=16243
--- Comment #13 from Joakim ---
I spent a little time looking into this again. The issue now appears to only
be reproducible if clang compiles without any optimizations, which is what the
dmd testsuite does. When run without
https://issues.dlang.org/show_bug.cgi?id=16243
--- Comment #12 from Jacob Carlborg ---
I've been using Clang for ages now and it passes the test suite, at least for
64bit. I'm running Apple LLVM version 7.3.0 (clang-703.0.31)
--
https://issues.dlang.org/show_bug.cgi?id=16243
--- Comment #11 from Brad Roberts ---
I haven't tested building with clang on osx in ages. If it's at the point of
passing tests then I'd be happy to convert any/all of the three testers back to
their default compiler.
--
https://issues.dlang.org/show_bug.cgi?id=16243
--- Comment #10 from Joakim ---
I ran into this on Android/ARM too, with ldc. As the linked ldc comment and
Jacob note, this is an incompatibility in the way clang and gcc work with empty
structs on every platform, whether
https://issues.dlang.org/show_bug.cgi?id=16243
--- Comment #9 from Jacob Carlborg ---
(In reply to kinke from comment #4)
> clang doesn't pass empty structs at all for 32-bit, while GCC does. We have
> such a special case in LDC too for 32-bit OSX, where we assume clang, but
> not
https://issues.dlang.org/show_bug.cgi?id=16243
--- Comment #8 from Jacob Carlborg ---
(In reply to Martin Nowak from comment #7)
> We also have that issue with GCC5's C++ ABI change
> (http://developers.redhat.com/blog/2015/02/05/gcc5-and-the-c11-abi/), so
> detecting the actual
https://issues.dlang.org/show_bug.cgi?id=16243
Martin Nowak changed:
What|Removed |Added
CC||bra...@puremagic.com
---
https://issues.dlang.org/show_bug.cgi?id=16243
Jacob Carlborg changed:
What|Removed |Added
CC||d...@me.com
--- Comment #6
https://issues.dlang.org/show_bug.cgi?id=16243
Walter Bright changed:
What|Removed |Added
CC|
https://issues.dlang.org/show_bug.cgi?id=16243
ki...@gmx.net changed:
What|Removed |Added
CC||ki...@gmx.net
--- Comment #4 from
https://issues.dlang.org/show_bug.cgi?id=16243
Martin Nowak changed:
What|Removed |Added
Severity|normal |regression
--- Comment #3 from
https://issues.dlang.org/show_bug.cgi?id=16243
--- Comment #2 from Martin Nowak ---
Also fails with a single int argument.
cat > cpp.cc << CODE
#include
struct S13956
{
};
void check13956(S13956 arg0, int arg1);
void func13956(S13956 arg0, int arg1)
{
printf("C %d\n",
https://issues.dlang.org/show_bug.cgi?id=16243
Martin Nowak changed:
What|Removed |Added
Summary|wrong argument passed with |wrong C++ argument passing
19 matches
Mail list logo