|
@@ -1383,13 +1383,15 @@ implementation
|
|
|
FOrdNr:=AOrdNr;
|
|
|
FIsVar:=AIsVar;
|
|
|
FMangledName:=AName;
|
|
|
- { Replace ? and @ in import name }
|
|
|
- { these replaces broke existing code on i386-win32 at least, while fixed
|
|
|
- bug 8391 on arm-wince so limit this to arm-wince (KB) }
|
|
|
- if (target_info.system in [system_arm_wince]) then
|
|
|
+ { Replace ? and @ in import name, since GNU AS does not allow these characters in symbol names. }
|
|
|
+ { This allows to import VC++ mangled names from DLLs. }
|
|
|
+ if target_info.system in system_all_windows then
|
|
|
begin
|
|
|
Replace(FMangledName,'?','__q$$');
|
|
|
+{$ifdef arm}
|
|
|
+ { @ symbol is not allowed in ARM assembler only }
|
|
|
Replace(FMangledName,'@','__a$$');
|
|
|
+{$endif arm}
|
|
|
end;
|
|
|
end;
|
|
|
|