aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormartinw2000-07-12 09:15:55 +0000
committermartinw2000-07-12 09:15:55 +0000
commit7e9615b33b4ad155abbbd614719ca02592982abf (patch)
tree25a3d1ea92ad46f788e96ad746dd2bc5dc8cdd6f
parentfixed bug in 'case_is_partial' (diff)
changes to avoid bug in module refmark when compiling compiler with itself
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@188 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
-rw-r--r--frontend/explicitimports.icl20
1 files changed, 20 insertions, 0 deletions
diff --git a/frontend/explicitimports.icl b/frontend/explicitimports.icl
index 2f046ee..2b6133c 100644
--- a/frontend/explicitimports.icl
+++ b/frontend/explicitimports.icl
@@ -550,6 +550,9 @@ checkExplicitImportCompleteness filename dcls_explicit dcl_modules icl_functions
checkCompleteness filename ({dcl_ident, dcl_index, dcl_kind=STE_Imported expl_imp_kind mod_index}, line_nr) ccs
#! ({dcl_common,dcl_functions}, ccs) = ccs!box_ccs.ccs_dcl_modules.[mod_index]
cci = { box_cci = { cci_line_nr = line_nr, cci_filename = filename, cci_expl_imported_ident = dcl_ident }}
+/* XXX
+ this case expression causes the compiler to be not self compilable anymore (12.7.2000). The bug is probably
+ in module refmark. The corresponding continuation function can be compiled
= case expl_imp_kind of
STE_Type -> check_completeness dcl_common.com_type_defs.[dcl_index] cci ccs
STE_Constructor -> check_completeness dcl_common.com_cons_defs.[dcl_index] cci ccs
@@ -558,6 +561,23 @@ checkExplicitImportCompleteness filename dcls_explicit dcl_modules icl_functions
STE_Member -> check_completeness dcl_common.com_member_defs.[dcl_index] cci ccs
STE_Instance -> check_completeness dcl_common.com_instance_defs.[dcl_index] cci ccs
STE_DclFunction -> check_completeness dcl_functions.[dcl_index] cci ccs
+*/
+ = continuation expl_imp_kind dcl_common dcl_functions cci ccs
+ where
+ continuation STE_Type dcl_common dcl_functions cci ccs
+ = check_completeness dcl_common.com_type_defs.[dcl_index] cci ccs
+ continuation STE_Constructor dcl_common dcl_functions cci ccs
+ = check_completeness dcl_common.com_cons_defs.[dcl_index] cci ccs
+ continuation (STE_Field _) dcl_common dcl_functions cci ccs
+ = check_completeness dcl_common.com_selector_defs.[dcl_index] cci ccs
+ continuation STE_Class dcl_common dcl_functions cci ccs
+ = check_completeness dcl_common.com_class_defs.[dcl_index] cci ccs
+ continuation STE_Member dcl_common dcl_functions cci ccs
+ = check_completeness dcl_common.com_member_defs.[dcl_index] cci ccs
+ continuation STE_Instance dcl_common dcl_functions cci ccs
+ = check_completeness dcl_common.com_instance_defs.[dcl_index] cci ccs
+ continuation STE_DclFunction dcl_common dcl_functions cci ccs
+ = check_completeness dcl_functions.[dcl_index] cci ccs
checkCompletenessOfMacro :: !String !Ident !Index !Int *CheckCompletenessStateBox -> *CheckCompletenessStateBox
checkCompletenessOfMacro filename dcl_ident dcl_index line_nr ccs