mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 19:29:28 +02:00
* made TAArch64ClangGASAssembler inherit from TAArch64Assembler and removed custom
$TARGET handling (handled by the general triple handling now) git-svn-id: trunk@45808 -
This commit is contained in:
parent
eb7ba1690e
commit
edb660ed58
@ -47,16 +47,13 @@ unit agcpugas;
|
||||
constructor CreateWithWriter(info: pasminfo; wr: TExternalAssemblerOutputFile; freewriter, smart: boolean); override;
|
||||
end;
|
||||
|
||||
TAArch64ClangGASAssembler=class(TGNUassembler)
|
||||
TAArch64ClangGASAssembler=class(TAArch64Assembler)
|
||||
private
|
||||
function TargetStr:String;
|
||||
procedure TransformSEHDirectives(list:TAsmList);
|
||||
protected
|
||||
function sectionflags(secflags:TSectionFlags):string;override;
|
||||
public
|
||||
function MakeCmdLine:TCmdStr; override;
|
||||
procedure WriteAsmList; override;
|
||||
constructor CreateWithWriter(info: pasminfo; wr: TExternalAssemblerOutputFile; freewriter, smart: boolean); override;
|
||||
end;
|
||||
|
||||
const
|
||||
@ -105,24 +102,6 @@ unit agcpugas;
|
||||
{ CLang AArch64 Assembler writer }
|
||||
{****************************************************************************}
|
||||
|
||||
constructor TAArch64CLangGASAssembler.CreateWithWriter(info: pasminfo; wr: TExternalAssemblerOutputFile; freewriter, smart: boolean);
|
||||
begin
|
||||
inherited;
|
||||
InstrWriter := TAArch64InstrWriter.create(self);
|
||||
end;
|
||||
|
||||
|
||||
function TAArch64ClangGASAssembler.TargetStr:String;
|
||||
begin
|
||||
case target_info.system of
|
||||
system_aarch64_win64:
|
||||
result:='aarch64-windows';
|
||||
else
|
||||
internalerror(2020032201);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TAArch64ClangGASAssembler.TransformSEHDirectives(list:TAsmList);
|
||||
|
||||
function convert_unwinddata(list:tasmlist):tdynamicarray;
|
||||
@ -574,13 +553,6 @@ unit agcpugas;
|
||||
end;
|
||||
|
||||
|
||||
function TAArch64ClangGASAssembler.MakeCmdLine:TCmdStr;
|
||||
begin
|
||||
Result:=inherited MakeCmdLine;
|
||||
Replace(Result,'$TARGET',TargetStr);
|
||||
end;
|
||||
|
||||
|
||||
procedure TAArch64ClangGASAssembler.WriteAsmList;
|
||||
begin
|
||||
{ clang does not support all the directives we need, so we need to
|
||||
|
Loading…
Reference in New Issue
Block a user