@@ -23,8 +23,8 @@ remove_def(df)
else {
while( df1 && df1->df_next != df ) df1 = df1->df_next;
df1->df_next = df->df_next;
- free_def(df);
}
+ free_def(df);
struct def *
@@ -55,7 +55,7 @@ close_scope(doclean)
df = CurrentScope->sc_def;
if (doclean) while (df) {
struct def *next = df->df_nextinscope;
- remove_def(df);
+ if (! (df->df_flags & (D_VARPAR|D_VALPAR))) remove_def(df);
df = next;
CurrVis = CurrVis->next;
@@ -86,8 +86,10 @@ TstCompat(tp1, tp2)
if( IsPacked(tp1) != IsPacked(tp2) )
return 0;
if( TstCompat(ElementType(tp1), ElementType(tp2)) ) {
+ /*
if( ElementType(tp1) != ElementType(tp2) )
warning("base-types of sets not equal");
+ */
return 1;
else return 0;