[m-dev.] 0.13 release

Jonathan Morgan jonmmorgan at gmail.com
Sat Mar 11 19:35:30 AEDT 2006


> > * test MSVC support
>
> I'd be happy to, but I'll need to get the platform SDK.
>

Some results on this:

My testing tools: Cygwin, mercury-compiler-0.12.2 and mercury-CVS, MS
Visual C++ Toolkit 2003 and MS Visual C++ 2005 Express Edition,
Windows XP Home SP2.  Each of these has had some problems.

BoehmGC: As previously stated, the NT_MAKEFILE relies on the Platform SDK.
After this is installed it fails to gc_cpp.cc.  It has rules:
.cpp.obj:
	$(cc) $(cdebug) $(cflags) $(cvars) -Iinclude -DSILENT
-DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_BUILD $*.CPP /Fo$*.obj

gc_cpp.cpp: gc_cpp.cc
	copy gc_cpp.cc gc_cpp.cpp

but nmake tries to build gc_cpp.cc directly.  This can be fixed by
changing the .cpp.obj rule to a .cc.obj rule.

mercury-CVS: Failed when getting to the compiler directory.  I tried
running mmake depend, and after that it failed saying 'no rule to
build libmer_rt.lib'.

Visual C++ Toolkit 2003: Does not contain lib.exe.  I believe that
this is merely link /lib, but I didn't try it.  The following two
files (somewhere in the path) should fix it:

lib:
#!/bin/sh
link /lib "$@"

lib.bat:
link /lib %*

Visual C++ 2005 Express (with mercury-0.12.2): Several times
complained of running out of virtual memory.  Gave a lot of
deprecation warnings (as they have depracated "unsafe" functions like
strcpy and gets).  Built and installed successfully in hlc.gc, but
would not build anything.

The result of mmc --make hello was:
*** Mercury runtime: Unhandled exception
***   Exception record at 0x01bbf080:
***    MR_Code        : 0xc0000005 (EXCEPTION_ACCESS_VIOLATION)
***    Flags       : 0x00000000
***    Address     : 0x00cc2828
***    Parameter 0 : 0x00000000
***    Parameter 1 : 0x42fc2aaa
***    Next record : 0x00000000

*** Explanation of the exception record
***   An access violation occured at address 0x42fc2aaa, while attempting to
***   read inaccessible data
***   Trying to see if this stands within a mercury zone...
This may have been caused by a stack overflow, due to unbounded recursion.


*** Now passing exception to default handler

You can make of that what you will.

Jon

--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list