Thread overview
DMD 1.020 release
Jul 24, 2007
Walter Bright
Jul 26, 2007
Stewart Gordon
Jul 26, 2007
Frits van Bommel
Jul 26, 2007
Sean Kelly
July 24, 2007
  extern (System)

should work now.

http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.020.zip
July 26, 2007
"Walter Bright" <newshound1@digitalmars.com> wrote in message news:f83il1$1b57$1@digitalmars.com...
>   extern (System)
>
> should work now.
>
> http://www.digitalmars.com/d/1.0/changelog.html
> http://ftp.digitalmars.com/dmd.1.020.zip

What is the practical use of extern (System)?

Stewart. 

July 26, 2007
Stewart Gordon wrote:
> "Walter Bright" <newshound1@digitalmars.com> wrote in message news:f83il1$1b57$1@digitalmars.com...
>>   extern (System)
>>
>> should work now.
>>
>> http://www.digitalmars.com/d/1.0/changelog.html
>> http://ftp.digitalmars.com/dmd.1.020.zip
> 
> What is the practical use of extern (System)?

Some libraries have the same interface (functions) on different operating systems, but with a different calling convention. (Typically extern(Windows) on Windows and extern(C) elsewhere)
This used to be handled by putting
---
version(Windows) {
    extern(Windows):
} else {
    extern(C):
}
---
at the top of the interface module but apparently the fact that that worked was due to a bug, and it was fixed...
July 26, 2007
Frits van Bommel wrote:
> Stewart Gordon wrote:
>>
>> What is the practical use of extern (System)?
> 
> Some libraries have the same interface (functions) on different operating systems, but with a different calling convention.

The ODBC API is one such.


Sean