[m-rev.] diff: fix problems with the Mercury compiler in the C# grade
Julien Fischer
jfischer at opturion.com
Mon Jul 7 14:43:04 AEST 2014
Branches: 14.01, master
Note: the motivation for the following was to test some changes
to the build system, not necessarily to get a fully operational
compiler built in the C# grade.
-----------------------------------------------
Fix problems with the Mercury compiler in the C# grade.
Fix some problems that prevent the Mercury compiler building and running in the
C# grade. "Running" here means that ./mercury_compile --help works; I haven't
tried anything more ambitious (yet).
mdbcomp/shared_utilities.m:
Add a Mercury definition of unlimit_stack/2 for use by the non-C
backends.
runtime/mercury.h:
Do not cause a preprocessor error if we are compiling with high-level
code and without the Boehm GC if we are using clang.
We need this on OS X because we include this header when building the
programs in the util directory and on OS X we will probably be using
clang rather than GCC. (Clang and GCC both support the required
extensions to C here, so this won't be a problem.)
Julien.
diff --git a/mdbcomp/shared_utilities.m b/mdbcomp/shared_utilities.m
index 7b6613e..1866782 100644
--- a/mdbcomp/shared_utilities.m
+++ b/mdbcomp/shared_utilities.m
@@ -64,4 +64,8 @@
#endif
").
+ % Clause for non-C backends.
+ %
+unlimit_stack(!IO).
+
%---------------------------------------------------------------------------%
diff --git a/runtime/mercury.h b/runtime/mercury.h
index 543f188..b452de0 100644
--- a/runtime/mercury.h
+++ b/runtime/mercury.h
@@ -232,13 +232,13 @@ extern MR_Word mercury__private_builtin__dummy_var;
#else /* !MR_BOEHM_GC */
- #ifndef MR_GNUC
+ #if !defined(MR_GNUC) && !defined(MR_CLANG)
/*
** We need GNU C's `({...})' expressions.
- ** It's not worth worrying about compilers other than GNU C for
+ ** It's not worth worrying about compilers other than GCC or clang for
** this obscure combination of options.
*/
- #error "For C compilers other than GNU C, `--high-level-code' requires `--gc boehm'"
+ #error "For C compilers other than GCC or clang, `--high-level-code' requires `--gc boehm'"
#endif
/*
More information about the reviews
mailing list