www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Working around the 64k global types issue on windows

reply "E.S. Quinn" <anonymous example.com> writes:
I've got a program that, likely through a combination of use of
GtkD and several variadic templates, has managed to bump its head
against the 64K global types limitation in the Windows version of
DMD. And unfortunately, neither GDC or LDC's current windows
versions work well enough to compile my code, so at the moment
I'm in a spot where I literally can't debug on windows.

(And the program compiles and runs fine when I turn off adding
debug symbols, and also compiles with debug symbols on linux, so
I'm pretty sure I'm not doing anything grievously wrong)

Is there any way to work around this issue on windows? Override
the limit, somehow get the compiler to mangle template
instantiations in a less verbose way?
Sep 14 2014
parent "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Sunday, 14 September 2014 at 23:11:12 UTC, E.S. Quinn wrote:
 I've got a program that, likely through a combination of use of
 GtkD and several variadic templates, has managed to bump its 
 head
 against the 64K global types limitation in the Windows version 
 of
 DMD. And unfortunately, neither GDC or LDC's current windows
 versions work well enough to compile my code, so at the moment
 I'm in a spot where I literally can't debug on windows.

 (And the program compiles and runs fine when I turn off adding
 debug symbols, and also compiles with debug symbols on linux, so
 I'm pretty sure I'm not doing anything grievously wrong)

 Is there any way to work around this issue on windows? Override
 the limit, somehow get the compiler to mangle template
 instantiations in a less verbose way?
Have you tried doing a 64-bit build (-m64)? I think the debug format is different (a .pdb file will be created), so it might not have that limitation.
Sep 14 2014