[Issue 7854] Non-C attributes allowed on extern(C) function parameters

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Apr 12 23:06:57 PDT 2012


http://d.puremagic.com/issues/show_bug.cgi?id=7854



--- Comment #6 from Jonathan M Davis <jmdavisProg at gmx.com> 2012-04-12 23:07:41 PDT ---
< I'm not exactly talking about binding or calling convention, I'm more talking
< about types.  To me, the two are orthogonal.

Whereas I would argue that since you're declaring a C function, it should be a
_C_ function and therefore not include features which C doesn't have. The only
reason that I think that permitting pure and nothrow on C functions makes any
sense is out of pure necessity.

> extern(C) int pipe(ref int[2] fds);

I would expect this to simply be

extern(C) int pipe(int* fds);

because what C does is pass a pointer, not a fixed-size array.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list