https://bugzilla.gdcproject.org/show_bug.cgi?id=302
--- Comment #7 from ARaspiK ---
Also, this fails too, not just postfixes:
module test;
import gcc.attribute;
alias func = @attribute("ms_abi") void function(int, int);
func foo;
void main() {
foo(2, 4);
}
gdc test.d -c -o test.o
https://bugzilla.gdcproject.org/show_bug.cgi?id=302
--- Comment #6 from Iain Buclaw ---
(In reply to ARaspiK from comment #5)
> Perhaps a new extern(MS_ABI) or similar is needed. After all, the spec has
> declared extern(Windows) to be the same as extern(C) except in case of
> 32-bit, where it
https://bugzilla.gdcproject.org/show_bug.cgi?id=302
--- Comment #5 from ARaspiK ---
Perhaps a new extern(MS_ABI) or similar is needed. After all, the spec has
declared extern(Windows) to be the same as extern(C) except in case of 32-bit,
where it then uses stdcall.
On other vendors, LDC will
https://bugzilla.gdcproject.org/show_bug.cgi?id=302
--- Comment #4 from Iain Buclaw ---
Perhaps rather than using `@attribute("ms_abi")` we could extend
`extern(Windows)` instead to have a special meaning on 64bit.
extern(Windows) size_t function(int, int) foo; // Marked as 'ms_abi'.
--
You
https://bugzilla.gdcproject.org/show_bug.cgi?id=302
--- Comment #3 from Iain Buclaw ---
OK, looks like ms_abi is an attribute of the function type, not the declaration
itself, and this attribute information gets lost when calling the variable, as
the original type gets cast away.
--
You are
https://bugzilla.gdcproject.org/show_bug.cgi?id=302
--- Comment #2 from ARaspiK ---
Oh, OK. Thanks for responding so fast.
About that section: I have no idea what it does, but I think it looks right.
I'me reading it as "If userAttributes, getAttributes, then
`decl_attributes(csym,
https://bugzilla.gdcproject.org/show_bug.cgi?id=302
Iain Buclaw changed:
What|Removed |Added
Status|NEW |ASSIGNED
--- Comment #1 from Iain Buclaw