Re: extern(C) declaration inside function
On Friday, 13 September 2013 at 02:46:22 UTC, Luís Marques wrote: On Tuesday, 10 September 2013 at 13:41:14 UTC, Luís Marques wrote: Is this a bug? *bump* This is invalid in C, so not manglable. when you use extern C in this context, you mean calling convention.
Re: extern(C) declaration inside function
On 9/10/13, l...@luismarques.eu@puremagic.com \Luís.Marques wrote: When you declare an extern(C) function inside a D function it seems to continue to use D's name mangling, which is unexpected for me. For instance: void main() { extern(C) void foo(int); foo(42); } I was going to suggest using pragma(mangle, ...) as a workaround (using a git-head compiler), but actually it won't work here because this pragma can only be used in module-scope. Apparently there's a difference between a pragma declaration and pragma statement, I'm not sure why we have this split.
Re: extern(C) declaration inside function
On Tuesday, 10 September 2013 at 13:41:14 UTC, Luís Marques wrote: Is this a bug? *bump*