Bug? Error in phobos?
Regan Heath
regan at netmail.co.nz
Fri Sep 21 08:59:53 PDT 2007
TomD wrote:
> Regan Heath Wrote:
>
>> Regan Heath wrote:
>>> import std.socket;
>>> import std.c.windows.winsock;
>>>
>>> pragma(lib, "wsock32.lib");
>>>
>>> class IndexPacketReader
>>> {
>>> //static void foo() //works
>>> void foo()
>>> {
>>> ntohl(1); //fails
>>> }
>>> }
>>>
>>> void main()
>>> {
>>> new TcpSocket();
>>> //ntohl(1); //works
>>> }
>>>
>>> E:\D\src\tmp>dmd bug003.d
>>> E:\D\dmd\bin\..\..\dm\bin\link.exe bug003,,,user32+kernel32/noi;
>>> OPTLINK (R) for Win32 Release 7.50B1
>>> Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved
>>>
>>> E:\D\dmd\bin\..\lib\phobos.lib(winsock) Offset 276FEH Record Type 00C3
>>> Error 1: Previous Definition Different : _ntohl at 4
>>> --- errorlevel 1
>>>
>>> Anyone know what this means?
>> No-one?? This bug is particularly annoying because it prevents me from
>> calling ntohl, ntohs etc from within a class method. In the end I just
>> wrote my own ntohl functin and called that.
>>
>> Regan
>
> It works when you drop the new TcpSocket(). Go figure. It gives me no clue
> what may be the reason.
I reckon "new TcpSocket" causes the linker to link something it
otherwise wouldn't. That's the extent of my knowledge however :(
Regan
More information about the Digitalmars-d
mailing list