[Bug 302] `function` type UDA postfixes not allowed

2018-08-16 Thread gdc-bugzilla--- via D.gnu
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

[Bug 302] `function` type UDA postfixes not allowed

2018-08-16 Thread gdc-bugzilla--- via D.gnu
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

[Bug 302] `function` type UDA postfixes not allowed

2018-08-15 Thread gdc-bugzilla--- via D.gnu
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

[Bug 302] `function` type UDA postfixes not allowed

2018-08-15 Thread gdc-bugzilla--- via D.gnu
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

[Bug 302] `function` type UDA postfixes not allowed

2018-08-15 Thread gdc-bugzilla--- via D.gnu
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

[Bug 302] `function` type UDA postfixes not allowed

2018-08-15 Thread gdc-bugzilla--- via D.gnu
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,

[Bug 302] `function` type UDA postfixes not allowed

2018-08-15 Thread gdc-bugzilla--- via D.gnu
https://bugzilla.gdcproject.org/show_bug.cgi?id=302 Iain Buclaw changed: What|Removed |Added Status|NEW |ASSIGNED --- Comment #1 from Iain Buclaw