浏览代码

* convert the internal name from IMPDEF records to upper case if the
CaseSensitiveSymbols option is off

git-svn-id: trunk@42590 -

nickysn 6 年之前
父节点
当前提交
321e4d5837
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      compiler/ogomf.pas

+ 6 - 2
compiler/ogomf.pas

@@ -1951,13 +1951,17 @@ implementation
     function TOmfObjInput.ReadImpDef(Rec: TOmfRecord_COMENT; objdata: TObjData): Boolean;
       var
         ImpDefRec: TOmfRecord_COMENT_IMPDEF;
+        SymName: string;
       begin
         ImpDefRec:=TOmfRecord_COMENT_IMPDEF.Create;
         ImpDefRec.DecodeFrom(Rec);
+        SymName:=ImpDefRec.InternalName;
+        if not CaseSensitiveSymbols then
+          SymName:=UpCase(SymName);
         if ImpDefRec.ImportByOrdinal then
-          TOmfObjData(objdata).AddImportSymbol(ImpDefRec.ModuleName,'',ImpDefRec.InternalName,ImpDefRec.Ordinal,false)
+          TOmfObjData(objdata).AddImportSymbol(ImpDefRec.ModuleName,'',SymName,ImpDefRec.Ordinal,false)
         else
-          TOmfObjData(objdata).AddImportSymbol(ImpDefRec.ModuleName,ImpDefRec.Name,ImpDefRec.InternalName,0,false);
+          TOmfObjData(objdata).AddImportSymbol(ImpDefRec.ModuleName,ImpDefRec.Name,SymName,0,false);
         Result:=True;
         ImpDefRec.Free;
       end;