|
@@ -291,15 +291,20 @@ implementation
|
|
function ApplyAsmSymbolRestrictions(const s: ansistring): ansistring;
|
|
function ApplyAsmSymbolRestrictions(const s: ansistring): ansistring;
|
|
var
|
|
var
|
|
i : longint;
|
|
i : longint;
|
|
- rchar: char;
|
|
|
|
|
|
+ rchar, ochar: char;
|
|
crc: Cardinal;
|
|
crc: Cardinal;
|
|
charstoremove: integer;
|
|
charstoremove: integer;
|
|
begin
|
|
begin
|
|
Result:=s;
|
|
Result:=s;
|
|
rchar:=target_asm.dollarsign;
|
|
rchar:=target_asm.dollarsign;
|
|
- for i:=1 to Length(Result) do
|
|
|
|
- if Result[i]='$' then
|
|
|
|
- Result[i]:=rchar;
|
|
|
|
|
|
+ if target_asm.id=as_i386_wasm then
|
|
|
|
+ ochar:='.'
|
|
|
|
+ else
|
|
|
|
+ ochar:='$';
|
|
|
|
+ if (ochar<>rchar) then
|
|
|
|
+ for i:=1 to Length(Result) do
|
|
|
|
+ if Result[i]=ochar then
|
|
|
|
+ Result[i]:=rchar;
|
|
if (target_asm.labelmaxlen<>-1) and (Length(Result)>target_asm.labelmaxlen) then
|
|
if (target_asm.labelmaxlen<>-1) and (Length(Result)>target_asm.labelmaxlen) then
|
|
begin
|
|
begin
|
|
crc:=0;
|
|
crc:=0;
|