Forráskód Böngészése

Export artifical assign, reset, and trace procedures for merging

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8314 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 éve
szülő
commit
76b966dceb
1 módosított fájl, 9 hozzáadás és 0 törlés
  1. 9 0
      source/FoxIntermediateBackend.Mod

+ 9 - 0
source/FoxIntermediateBackend.Mod

@@ -2629,6 +2629,7 @@ TYPE
 			GetRecordTypeName (recordType,name);
 			GetRecordTypeName (recordType,name);
 			Basic.SuffixSegmentedName (name, Basic.MakeString ("@Assign"));
 			Basic.SuffixSegmentedName (name, Basic.MakeString ("@Assign"));
 			context := SwitchContext(NewSection(module.allSections, Sections.CodeSection, name,NIL,TRUE));
 			context := SwitchContext(NewSection(module.allSections, Sections.CodeSection, name,NIL,TRUE));
+			section.SetExported (TRUE);
 
 
 			IF dump # NIL THEN dump := section.comments END;
 			IF dump # NIL THEN dump := section.comments END;
 			IF backend.hasLinkRegister THEN
 			IF backend.hasLinkRegister THEN
@@ -2672,6 +2673,7 @@ TYPE
 				Basic.SuffixSegmentedName (name, Basic.MakeString ("@Array"));
 				Basic.SuffixSegmentedName (name, Basic.MakeString ("@Array"));
 				Basic.SuffixSegmentedName (name, Basic.MakeString ("@Assign"));
 				Basic.SuffixSegmentedName (name, Basic.MakeString ("@Assign"));
 				section := NewSection(module.allSections, Sections.CodeSection, name,NIL,dump # NIL);
 				section := NewSection(module.allSections, Sections.CodeSection, name,NIL,dump # NIL);
+				section.SetExported (TRUE);
 				NEW(registerUsageCount);
 				NEW(registerUsageCount);
 				usedRegisters := NIL;
 				usedRegisters := NIL;
 
 
@@ -2759,6 +2761,8 @@ TYPE
 			GetRecordTypeName (recordType,name);
 			GetRecordTypeName (recordType,name);
 			Basic.SuffixSegmentedName (name, Basic.MakeString ("@Trace"));
 			Basic.SuffixSegmentedName (name, Basic.MakeString ("@Trace"));
 			context := SwitchContext(NewSection(module.allSections, Sections.CodeSection, name,NIL,dump # NIL));
 			context := SwitchContext(NewSection(module.allSections, Sections.CodeSection, name,NIL,dump # NIL));
+			section.SetExported (TRUE);
+
 			IF dump # NIL THEN dump := section.comments END;
 			IF dump # NIL THEN dump := section.comments END;
 
 
 			IF backend.hasLinkRegister THEN
 			IF backend.hasLinkRegister THEN
@@ -2817,6 +2821,8 @@ TYPE
 				Basic.SuffixSegmentedName (name, Basic.MakeString ("@Pointer"));
 				Basic.SuffixSegmentedName (name, Basic.MakeString ("@Pointer"));
 				Basic.SuffixSegmentedName (name, Basic.MakeString ("@Trace"));
 				Basic.SuffixSegmentedName (name, Basic.MakeString ("@Trace"));
 				section := NewSection(module.allSections, Sections.CodeSection, name,NIL,dump # NIL);
 				section := NewSection(module.allSections, Sections.CodeSection, name,NIL,dump # NIL);
+				section.SetExported (TRUE);
+
 				NEW(registerUsageCount);
 				NEW(registerUsageCount);
 				usedRegisters := NIL;
 				usedRegisters := NIL;
 				IF dump # NIL THEN dump := section.comments END;
 				IF dump # NIL THEN dump := section.comments END;
@@ -2839,6 +2845,7 @@ TYPE
 				Basic.SuffixSegmentedName (name, Basic.MakeString ("@Array"));
 				Basic.SuffixSegmentedName (name, Basic.MakeString ("@Array"));
 				Basic.SuffixSegmentedName (name, Basic.MakeString ("@Trace"));
 				Basic.SuffixSegmentedName (name, Basic.MakeString ("@Trace"));
 				section := NewSection(module.allSections, Sections.CodeSection, name,NIL,dump # NIL);
 				section := NewSection(module.allSections, Sections.CodeSection, name,NIL,dump # NIL);
+				section.SetExported (TRUE);
 				NEW(registerUsageCount);
 				NEW(registerUsageCount);
 				usedRegisters := NIL;
 				usedRegisters := NIL;
 
 
@@ -2877,6 +2884,7 @@ TYPE
 			GetRecordTypeName (recordType,name);
 			GetRecordTypeName (recordType,name);
 			Basic.SuffixSegmentedName (name, Basic.MakeString ("@Reset"));
 			Basic.SuffixSegmentedName (name, Basic.MakeString ("@Reset"));
 			context := SwitchContext(NewSection(module.allSections, Sections.CodeSection, name,NIL,dump # NIL));
 			context := SwitchContext(NewSection(module.allSections, Sections.CodeSection, name,NIL,dump # NIL));
+			section.SetExported (TRUE);
 
 
 			IF dump # NIL THEN dump := section.comments END;
 			IF dump # NIL THEN dump := section.comments END;
 
 
@@ -2916,6 +2924,7 @@ TYPE
 			Basic.SuffixSegmentedName (name, Basic.MakeString ("@Array"));
 			Basic.SuffixSegmentedName (name, Basic.MakeString ("@Array"));
 			Basic.SuffixSegmentedName (name, Basic.MakeString ("@Reset"));
 			Basic.SuffixSegmentedName (name, Basic.MakeString ("@Reset"));
 			section := NewSection(module.allSections, Sections.CodeSection, name,NIL,dump # NIL);
 			section := NewSection(module.allSections, Sections.CodeSection, name,NIL,dump # NIL);
+			section.SetExported (TRUE);
 			NEW(registerUsageCount);
 			NEW(registerUsageCount);
 			usedRegisters := NIL;
 			usedRegisters := NIL;