Re: Declaring extern(C) declarations with template mixins

2016-01-13 Thread Jacob Carlborg via Digitalmars-d-learn
On 2016-01-12 22:27, Mathias Lang wrote: https://issues.dlang.org/show_bug.cgi?id=12575 Thanks. -- /Jacob Carlborg

Re: Declaring extern(C) declarations with template mixins

2016-01-12 Thread Mathias Lang via Digitalmars-d-learn
On Tuesday, 12 January 2016 at 21:22:46 UTC, Jacob Carlborg wrote: Is this supposed to work: template Foo() { extern(C) int printf(in char*, ...); } mixin Foo; void main() { printf("foo\n"); } It fails with a linker error, undefined symbol, due to not applying C mangling: Undefined

Declaring extern(C) declarations with template mixins

2016-01-12 Thread Jacob Carlborg via Digitalmars-d-learn
Is this supposed to work: template Foo() { extern(C) int printf(in char*, ...); } mixin Foo; void main() { printf("foo\n"); } It fails with a linker error, undefined symbol, due to not applying C mangling: Undefined symbols for architecture x86_64: "__D4main8__mixin76printfUxPaYi"