Re: extern(C) declaration inside function

2013-09-13 Thread deadalnix

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

2013-09-13 Thread Andrej Mitrovic
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

2013-09-12 Thread Luís.Marques

On Tuesday, 10 September 2013 at 13:41:14 UTC, Luís Marques wrote:

Is this a bug?


*bump*