|
@@ -425,9 +425,6 @@ TYPE
|
|
WHILE fixup # NIL DO
|
|
WHILE fixup # NIL DO
|
|
next := fixup.nextFixup;
|
|
next := fixup.nextFixup;
|
|
symbol := module.allSections.FindByName(fixup.symbol.name);
|
|
symbol := module.allSections.FindByName(fixup.symbol.name);
|
|
- IF symbol = NIL THEN
|
|
|
|
- symbol := module.importedSections.FindByName(fixup.symbol.name)
|
|
|
|
- END;
|
|
|
|
IF symbol # NIL THEN
|
|
IF symbol # NIL THEN
|
|
symbol.SetReferenced(TRUE);
|
|
symbol.SetReferenced(TRUE);
|
|
ELSIF Trace THEN
|
|
ELSIF Trace THEN
|
|
@@ -742,9 +739,6 @@ TYPE
|
|
typeDeclaration := type.typeDeclaration; (* must be non-nil *)
|
|
typeDeclaration := type.typeDeclaration; (* must be non-nil *)
|
|
typeDeclaration.GetName(name);
|
|
typeDeclaration.GetName(name);
|
|
section := symbols.BySymbol(type.typeDeclaration);
|
|
section := symbols.BySymbol(type.typeDeclaration);
|
|
- IF section = NIL THEN
|
|
|
|
- section := importedSymbols.BySymbol(type.typeDeclaration);
|
|
|
|
- END;
|
|
|
|
ASSERT(section # NIL);
|
|
ASSERT(section # NIL);
|
|
w.RawNum((section.offset )); (* type descriptor section offset *)
|
|
w.RawNum((section.offset )); (* type descriptor section offset *)
|
|
IF Trace THEN
|
|
IF Trace THEN
|
|
@@ -1416,9 +1410,6 @@ TYPE
|
|
IF type.recordScope.ownerModule = importedModule THEN (* type belongs to currently processed module *)
|
|
IF type.recordScope.ownerModule = importedModule THEN (* type belongs to currently processed module *)
|
|
IF Trace THEN D.Str("UseTypeFP:"); D.Str(name); D.Str("?"); D.Ln END;
|
|
IF Trace THEN D.Str("UseTypeFP:"); D.Str(name); D.Str("?"); D.Ln END;
|
|
t := symbols.BySymbol(type.typeDeclaration); (* TODO *)
|
|
t := symbols.BySymbol(type.typeDeclaration); (* TODO *)
|
|
- IF t = NIL THEN
|
|
|
|
- t := importedSymbols.BySymbol(type.typeDeclaration);
|
|
|
|
- END;
|
|
|
|
IF (t # NIL) & (t.referenced) (*(t.fixups # NIL)*) THEN
|
|
IF (t # NIL) & (t.referenced) (*(t.fixups # NIL)*) THEN
|
|
t.referenced := FALSE;
|
|
t.referenced := FALSE;
|
|
|
|
|
|
@@ -1508,7 +1499,6 @@ TYPE
|
|
type := typeDeclaration.declaredType;
|
|
type := typeDeclaration.declaredType;
|
|
IF type IS SyntaxTree.PointerType THEN type := type(SyntaxTree.PointerType).pointerBase END;
|
|
IF type IS SyntaxTree.PointerType THEN type := type(SyntaxTree.PointerType).pointerBase END;
|
|
sym := symbols.BySymbol(typeDeclaration); (* only if has been used -- contained in module sections: alias *)
|
|
sym := symbols.BySymbol(typeDeclaration); (* only if has been used -- contained in module sections: alias *)
|
|
- IF sym = NIL THEN sym := importedSymbols.BySymbol(typeDeclaration) END;
|
|
|
|
IF (sym # NIL) & (sym.referenced) THEN
|
|
IF (sym # NIL) & (sym.referenced) THEN
|
|
UseEntry(importedModule,typeDeclaration,0,"");
|
|
UseEntry(importedModule,typeDeclaration,0,"");
|
|
UseType(typeDeclaration.declaredType);
|
|
UseType(typeDeclaration.declaredType);
|
|
@@ -2200,16 +2190,6 @@ TYPE
|
|
END
|
|
END
|
|
END;
|
|
END;
|
|
|
|
|
|
- (* enter unused types to local sections -- required, otherwise traps *)
|
|
|
|
- FOR i := 0 TO module.importedSections.Length() - 1 DO
|
|
|
|
- section := module.importedSections.GetSection(i);
|
|
|
|
- IF (section.type = Sections.ConstSection) & (section.symbol # NIL) & (section.symbol IS SyntaxTree.TypeDeclaration) THEN
|
|
|
|
- IF symbols.BySymbol(section.symbol) = NIL THEN
|
|
|
|
- ASSERT(Enter(section, symbols, symbol))
|
|
|
|
- END;
|
|
|
|
- END;
|
|
|
|
- END;
|
|
|
|
-
|
|
|
|
IF Trace THEN
|
|
IF Trace THEN
|
|
D.String("imported sections(module) "); D.Ln;
|
|
D.String("imported sections(module) "); D.Ln;
|
|
module.importedSections.Dump(D.Log); D.Ln;
|
|
module.importedSections.Dump(D.Log); D.Ln;
|