[SCM] Lisaac compiler branch, master, updated. lisaac-0.12-419-gbb3eb12

Benoit Sonntag sonntag at icps.u-strasbg.fr
Thu Aug 20 16:36:44 UTC 2009


The following commit has been merged in the master branch:
commit bb3eb12e978ea897a2d16ae3f51230af45058e87
Author: Benoit Sonntag <sonntag at icps.u-strasbg.fr>
Date:   Thu Aug 20 18:36:42 2009 +0200

    Little bug with BLOCK and debug mode

diff --git a/src/code_life/case.li b/src/code_life/case.li
index 236fc56..c5c4939 100644
--- a/src/code_life/case.li
+++ b/src/code_life/case.li
@@ -109,7 +109,7 @@ Section Public
   //
   
   - execute <-
-  (             
+  (                 
     id.set_late_binding;
     code.execute_case;
   );
diff --git a/src/code_life/switch.li b/src/code_life/switch.li
index e58cbd6..0705b0b 100644
--- a/src/code_life/switch.li
+++ b/src/code_life/switch.li
@@ -234,7 +234,10 @@ Section Public
       CALL_SLOT.reset_count_no_recursive;
       ((list.first.id = TYPE_NULL) && {list.count = 2}).if { 	
 	list.first .code.execute_case;
-	list.second.code.execute_case;		
+        list.second.code.execute_case;		
+        ((list.second.id.is_block) && {debug_level_option != 0}).if {
+          list.second.id.set_late_binding;
+        };
       } else {		
 	(list.lower).to (list.upper) do { j:INTEGER;
           list.item j.execute;	          
diff --git a/src/type/prototype.li b/src/type/prototype.li
index d9f0b47..bf015c9 100644
--- a/src/type/prototype.li
+++ b/src/type/prototype.li
@@ -513,7 +513,7 @@ Section PROTOTYPE
     };    
   );
         
-  - shorter_table lst:FAST_ARRAY(ITM_SLOT) select sel:BLOCK 
+  - shorter_table lst:FAST_ARRAY(ITM_SLOT) select sel:{ITM_SLOT; BOOLEAN}
   title t:STRING_CONSTANT in buf:STRING <-
   ( + is_first_cur:BOOLEAN;
     + s:ITM_SLOT; 
@@ -564,7 +564,7 @@ Section PROTOTYPE
     };    
   );
   
-  - shorter_detail lst:FAST_ARRAY(ITM_SLOT) select sel:BLOCK 
+  - shorter_detail lst:FAST_ARRAY(ITM_SLOT) select sel:{ITM_SLOT; BOOLEAN}
   title t:STRING_CONSTANT in buf:STRING <-
   ( + is_first:BOOLEAN;
     + s:ITM_SLOT;
diff --git a/src/type/type.li b/src/type/type.li
index 05aef65..29520dc 100644
--- a/src/type/type.li
+++ b/src/type/type.li
@@ -390,7 +390,7 @@ Section Public
     + tg:TYPE_GENERIC;
     + count_slot:SLOT_DATA;
     + storage_slot:SLOT_DATA;
-        
+    
     ((slot_run.is_empty) || {slot_run.first != NULL}).if {                        
       (detect_recursivity_generation).if {
         string_tmp.copy "Compiler limit: Cyclic depending structure definition for ";
@@ -510,7 +510,7 @@ Section Public
             output_decl.append intern_name;
             output_decl.append "__ ";
           };
-	  string_tmp.clear;
+          string_tmp.clear;                    
 	  (is_late_binding).if {	  
 	    id_counter_with_type.append_in output_decl;	  
             id_counter_with_type := id_counter_with_type + 1;
@@ -553,7 +553,7 @@ Section Public
 	    tab.clear;
 	  };            
 	  	  
-	  (Self = type_block).if {
+          (Self = type_block).if {            
 	    string_tmp.append "  void *self;\n";
 	  };
 	  
diff --git a/src/type/type_block.li b/src/type/type_block.li
index 78ff98c..17b707e 100644
--- a/src/type/type_block.li
+++ b/src/type/type_block.li
@@ -57,6 +57,11 @@ Section TYPE_BLOCK //,PROFIL_BLOCK
   );
   
 Section Public
+
+  - set_late_binding <-
+  (    
+    type_block.set_late_binding;
+  );
   
   - intern_name:STRING_CONSTANT <- type_block.intern_name;
   

-- 
Lisaac compiler



More information about the Lisaac-commits mailing list