mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-15 17:33:38 +00:00
1087bee8e5a0fa999cf7250ec7aee0cc63166dc2
Estimated hours taken: 2 Branches: main Fixes to make the compiler compile using MSVC in the LLDS grades. compiler/llds_out.m: MSVC treats declarations such as "static const struct s a[];" as definitions. As a definition it doesn't know the size of the definition, so aborts. Thus if we are using the MSVC compiler we change "static" to "extern", via the use of #ifdef _MSC_VER. runtime/mercury_stack_layout.h: The MSVC C pre-processor aborts on comments inside C pre-processor #defines, eg #define P(X) Q(/* extern */, X) It seems to treat strip the comment and then complain about the missing argument. The comment is no replaced with a pre-processor simple which evaluates to the empty string.
…
…
…
…
Mercury 0.13 may not work on Solaris 10 (SunOS 5.10) due to incompatibilities with the version of Boehm GC shipped with that version of Mercury. (The above problem has been fixed in post-0.13 versions of Mercury.) Also, note that `--linkage static' is not supported on Solaris. Executables produced using this option will cause a segmentation fault.
Languages
Mercury
85.4%
C
8.7%
Shell
1.4%
Makefile
1%
JavaScript
1%
Other
2%