aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjohnvg2001-10-05 13:06:09 +0000
committerjohnvg2001-10-05 13:06:09 +0000
commit736f6bb29149838802d3de22ec256dee2b6dbcac (patch)
treef001b9fd6b210121d6beebaf66c06c8f5f290776
parentgenerate t label for strict records with module and record name when ExportLo... (diff)
generate and export all labels for records and constructors when ExportLocalLabels=True
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@831 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
-rw-r--r--backendC/CleanCompilerSources/codegen1.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/backendC/CleanCompilerSources/codegen1.c b/backendC/CleanCompilerSources/codegen1.c
index 264a9fc..647877a 100644
--- a/backendC/CleanCompilerSources/codegen1.c
+++ b/backendC/CleanCompilerSources/codegen1.c
@@ -812,7 +812,7 @@ static void GenerateConstructorDescriptorAndFunction (ConstructorList constructo
if (constructor_def->sdef_kind==CONSTRUCTOR && constructor_def->sdef_strict_constructor){
GenStrictConstructorDescriptor (constructor_def,constructor->cl_state_p);
- if (constructor_def->sdef_exported || (constructor_def->sdef_mark & (SDEF_USED_LAZILY_MASK | SDEF_USED_CURRIED_MASK))){
+ if (constructor_def->sdef_exported || (constructor_def->sdef_mark & (SDEF_USED_LAZILY_MASK | SDEF_USED_CURRIED_MASK)) || ExportLocalLabels){
LabDef constructor_label,ealab,n_lab,d_lab;
int maxasize,asize,bsize;
int asp,bsp,arity;
@@ -833,7 +833,7 @@ static void GenerateConstructorDescriptorAndFunction (ConstructorList constructo
MakeSymbolLabel (&ealab,constructor_def->sdef_exported ? CurrentModule : NULL,ea_pref,constructor_def,0);
- if (constructor_def->sdef_exported || (constructor_def->sdef_mark & SDEF_USED_CURRIED_MASK)){
+ if (constructor_def->sdef_exported || (constructor_def->sdef_mark & SDEF_USED_CURRIED_MASK) || ExportLocalLabels){
CurrentAltLabel.lab_pref = l_pref;
if (DoTimeProfiling)
@@ -1275,7 +1275,7 @@ void GenerateCodeForConstructorsAndRecords (Symbol symbols)
GenRecordDescriptor (def);
- if (def->sdef_strict_constructor && (def->sdef_exported || (def->sdef_mark & SDEF_USED_LAZILY_MASK)))
+ if (def->sdef_strict_constructor && (def->sdef_exported || (def->sdef_mark & SDEF_USED_LAZILY_MASK) || ExportLocalLabels))
GenLazyRecordEntry (def);
for_l (fields,constructor->cl_fields,fl_next)