[m-rev.] diff: fix build error in C# grade with --intermodule-optimization

Julien Fischer jfischer at opturion.com
Fri Oct 13 11:39:46 AEDT 2017


Fix build error in C# grade with --intermodule-optimization.

library/io.m:
      The C# definitions of ML_io_stream_db and ML_io_user_globals
      need to be public as foreign_procs that may be inlined across
      module boundaries can refer to them.

Julien.

diff --git a/library/io.m b/library/io.m
index 3aaa673..44592ce 100644
--- a/library/io.m
+++ b/library/io.m
@@ -1981,12 +1981,12 @@ using System.Security.Principal;
      // but we keep them for consistency with the C code.

  #if MR_HIGHLEVEL_DATA
-    static tree234.Tree234_2            ML_io_stream_db
-                                            = new tree234.Tree234_2.Empty_0();
-    static univ.Univ_0                  ML_io_user_globals;
+    public static tree234.Tree234_2 ML_io_stream_db =
+        new tree234.Tree234_2.Empty_0();
+    public static univ.Univ_0   ML_io_user_globals;
  #else
-    static object[]                     ML_io_stream_db;
-    static object[]                     ML_io_user_globals;
+    public static object[] ML_io_stream_db;
+    public static object[] ML_io_user_globals;
  #endif

      // a counter used to generate unique stream ids


More information about the reviews mailing list