Commit ea184ced authored by John van Groningen's avatar John van Groningen
Browse files

generate and export all labels for records and constructors when ExportLocalLabels=True

parent 47676a52
...@@ -812,7 +812,7 @@ static void GenerateConstructorDescriptorAndFunction (ConstructorList constructo ...@@ -812,7 +812,7 @@ static void GenerateConstructorDescriptorAndFunction (ConstructorList constructo
if (constructor_def->sdef_kind==CONSTRUCTOR && constructor_def->sdef_strict_constructor){ if (constructor_def->sdef_kind==CONSTRUCTOR && constructor_def->sdef_strict_constructor){
GenStrictConstructorDescriptor (constructor_def,constructor->cl_state_p); 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; LabDef constructor_label,ealab,n_lab,d_lab;
int maxasize,asize,bsize; int maxasize,asize,bsize;
int asp,bsp,arity; int asp,bsp,arity;
...@@ -833,7 +833,7 @@ static void GenerateConstructorDescriptorAndFunction (ConstructorList constructo ...@@ -833,7 +833,7 @@ static void GenerateConstructorDescriptorAndFunction (ConstructorList constructo
MakeSymbolLabel (&ealab,constructor_def->sdef_exported ? CurrentModule : NULL,ea_pref,constructor_def,0); 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; CurrentAltLabel.lab_pref = l_pref;
if (DoTimeProfiling) if (DoTimeProfiling)
...@@ -1275,7 +1275,7 @@ void GenerateCodeForConstructorsAndRecords (Symbol symbols) ...@@ -1275,7 +1275,7 @@ void GenerateCodeForConstructorsAndRecords (Symbol symbols)
GenRecordDescriptor (def); 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); GenLazyRecordEntry (def);
for_l (fields,constructor->cl_fields,fl_next) for_l (fields,constructor->cl_fields,fl_next)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment