[SCM] Lisaac compiler branch, master, updated. lisaac-0.12-672-g74789e9

ontologiae ontologiae at gmail.com
Mon Nov 29 14:45:46 UTC 2010


The following commit has been merged in the master branch:
commit 74789e95b53fac2a53a65e38a2b3caf785d904a6
Author: ontologiae <ontologiae at gmail.com>
Date:   Mon Nov 29 15:44:08 2010 +0100

    Adding a flag 'no_os' to avoid signal infrastructure in produced code : this code cannot work without os support

diff --git a/lib/internal/os_support/x86/system/system.li b/lib/internal/os_support/x86/system/system.li
index 56482c2..7eb32a3 100755
--- a/lib/internal/os_support/x86/system/system.li
+++ b/lib/internal/os_support/x86/system/system.li
@@ -466,7 +466,9 @@ Section Public
   //
   
   - make <-
-  (    
+  (   
+
+    "System".print;
     new_interrupt exception_01 to 01h;       
     new_interrupt exception_0d to 0Dh;
 
diff --git a/make.lip b/make.lip
index cab872e..28c5769 100644
--- a/make.lip
+++ b/make.lip
@@ -367,6 +367,12 @@ Section Public
   (
     is_coverage := TRUE;
   );
+
+  - no_os <-
+  (
+   is_no_os := TRUE;
+  );
+
   
   //
   // Information.
diff --git a/src/any.li b/src/any.li
index 47ffad4..a843386 100644
--- a/src/any.li
+++ b/src/any.li
@@ -129,6 +129,7 @@ Section Public
   - is_quiet:BOOLEAN;
 
   - is_warn_null :BOOLEAN <- ( is_warn_null := LIP_CODE.has_flag "warn-null" );
+  - is_no_os :BOOLEAN <- (is_no_os := LIP_CODE.has_flag slot_no_os);
 
   - backend:BACKEND := BACKEND;
 
diff --git a/src/lisaac.li b/src/lisaac.li
index 4c4d4a2..d852daf 100644
--- a/src/lisaac.li
+++ b/src/lisaac.li
@@ -715,7 +715,7 @@ Section Public
       \#define _LARGEFILE64_SOURCE\n";
 
       // ANSI argument command.
-      (debug_level_option != 0).if {
+      ((debug_level_option != 0) && {! is_no_os}).if {
         output_decl.append "#include <signal.h>\n";
       };
       is_coverage.if {
@@ -763,7 +763,7 @@ Section Public
     (is_java).if_false {
       (debug_level_option != 0).if {
         output_code.append "/* Debug Manager */\n";
-        (is_ansi).if {
+        ((is_ansi) && {! is_no_os}).if {
           output_code.append "void interrupt_signal(int sig);\n";
         };
         output_code.append
diff --git a/src/tools/alias_str.li b/src/tools/alias_str.li
index d02b678..2c99e32 100644
--- a/src/tools/alias_str.li
+++ b/src/tools/alias_str.li
@@ -180,6 +180,7 @@ Section Public
   - slot_get_string   :STRING_CONSTANT := "get_string";
   - slot_is_cop       :STRING_CONSTANT := "is_cop";
   - slot_add_flag     :STRING_CONSTANT := "add_flag";
+  - slot_no_os        :STRING_CONSTANT := "no_os";
 
   - c_void           :STRING_CONSTANT := "void";
   - c_struct         :STRING_CONSTANT := "struct __";

-- 
Lisaac compiler



More information about the Lisaac-commits mailing list