Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

DMD 1.073 support?

Moderators: kris

Posted: 02/28/12 11:43:30

Hello.

Current trunk version cannot be compiled with dmd 1.073 because of Exception inside regex module. Will it be fixed?

Thanks.

Author Message

Posted: 03/20/12 11:37:12

Hmm it works for my colleague.. can you tell us the exact error that you get?

Also, what exactly do you mean with "Exception inside regex module"? Exceptions are runtime only. Do you mean you hit a static assert or the compiler crashes?

Posted: 03/28/12 17:51:17

Thank you for answer!

I am having this error:

dmd -c -I./tango/core -I. -I./tango/core/vendor -release -oftango-net-device-Soc ket-release.obj ./tango/net/device/Socket.d object.Exception: Process exited normally with return code 1 .\tango\net\device\Socket.d(353): Error: module tango.net.device.Socket tango.ne t.device.Berkeley.bind is private .\tango\net\device\Socket.d(353): Error: function Berkeley.bind is not accessibl e from Socket .\tango\net\device\Socket.d(353): Error: function Berkeley.bind is not accessibl e from Socket .\tango\net\device\Socket.d(355): Error: module tango.net.device.Socket tango.ne t.device.Berkeley.ConnectEx? is private .\tango\net\device\Socket.d(366): Error: module tango.net.device.Socket tango.ne t.device.Berkeley.TransmitFile? is private .\tango\net\device\Socket.d(470): Error: module tango.net.device.Socket tango.ne t.device.Berkeley.setsockopt is private .\tango\net\device\Socket.d(470): Error: function Berkeley.setsockopt is not acc essible from Socket .\tango\net\device\Socket.d(611): Error: module tango.net.device.Socket tango.ne t.device.Berkeley.AcceptEx? is private

dmd 1.073 + latest tango from trunk

Posted: 04/03/12 03:56:59 -- Modified: 07/05/12 08:35:23 by
KimR -- Modified 3 Times

I patched (hacked) the socket compile error I got. In module tango.net.device.Berkeley;

Line 216:
version (Win32)
{
        pragma (lib, "ws2_32.lib");
        private import tango.sys.win32.WsaSock;
        private typedef int socket_t = ~0;
        private extern (Windows)
        {
                remove (comment), the lines listed in the below section - public extern (Windows) i.e.:
                //int bind(socket_t s, Address.sockaddr* name, int namelen);
        }
	
added Line 288:
	public extern (Windows)
        {
                int bind(socket_t s, Address.sockaddr* name, int namelen);
                int setsockopt(socket_t s, int level, int optname, void* optval, int optlen);
                bool function (socket_t, uint, void*, DWORD, DWORD, DWORD, DWORD*, OVERLAPPED*) AcceptEx;
                bool function (socket_t, HANDLE, DWORD, DWORD, OVERLAPPED*, void*, DWORD) TransmitFile;
                bool function (socket_t, void*, int, void*, DWORD, DWORD*, OVERLAPPED*) ConnectEx;
        }

As a note: I don't think I am using the socket code so I don't know if the hack works.

dmd 1.073 + latest tango from trunk

Posted: 04/03/12 04:07:06 -- Modified: 07/05/12 08:34:33 by
KimR -- Modified 2 Times

To fix the RegEx? error update to the latest trunk (as of 05/06/12 04:27:52).

The change needed is listed in (for trunk/tango/text/Regex.d): http://dsource.org/projects/tango/changeset/5704