mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-06 23:10:31 +02:00
+ support line info (-al) in the sdcc-sdasz80 asm output
git-svn-id: branches/z80@44509 -
This commit is contained in:
parent
cae1865f32
commit
d7675c6c81
@ -59,7 +59,8 @@ unit agsdasz80;
|
||||
uses
|
||||
cutils,globals,verbose,
|
||||
cpuinfo,
|
||||
cgbase,cgutils;
|
||||
cgbase,cgutils,
|
||||
finput;
|
||||
|
||||
const
|
||||
line_length = 70;
|
||||
@ -479,18 +480,47 @@ unit agsdasz80;
|
||||
hp: tai;
|
||||
s: string;
|
||||
counter,lines,i,j,l,tokens,pos,last_align: longint;
|
||||
quoted: Boolean;
|
||||
quoted, do_line: Boolean;
|
||||
consttype: taiconst_type;
|
||||
ch: Char;
|
||||
InlineLevel : longint;
|
||||
prevfileinfo : tfileposinfo;
|
||||
previnfile : tinputfile;
|
||||
begin
|
||||
if not assigned(p) then
|
||||
exit;
|
||||
InlineLevel:=0;
|
||||
last_align:=1;
|
||||
lasthp:=nil;
|
||||
{ lineinfo is only needed for al_procedures (PFV) }
|
||||
do_line:=(cs_asm_source in current_settings.globalswitches) or
|
||||
((cs_lineinfo in current_settings.moduleswitches)
|
||||
and (p=current_asmdata.asmlists[al_procedures]));
|
||||
hp:=tai(p.first);
|
||||
while assigned(hp) do
|
||||
begin
|
||||
prefetch(pointer(hp.next)^);
|
||||
if not(hp.typ in SkipLineInfo) then
|
||||
begin
|
||||
previnfile:=lastinfile;
|
||||
prevfileinfo:=lastfileinfo;
|
||||
current_filepos:=tailineinfo(hp).fileinfo;
|
||||
|
||||
{ no line info for inlined code }
|
||||
if do_line and (inlinelevel=0) then
|
||||
WriteSourceLine(hp as tailineinfo);
|
||||
(*if (lastfileinfo.line<>prevfileinfo.line) or
|
||||
(previnfile<>lastinfile) then
|
||||
begin
|
||||
{ +0 postfix means no line increment per assembler instruction }
|
||||
writer.AsmWrite('%LINE '+tostr(current_filepos.line)+'+0');
|
||||
if assigned(lastinfile) and ((previnfile<>lastinfile) or NewObject) then
|
||||
writer.AsmWriteLn(' '+lastinfile.name)
|
||||
else
|
||||
writer.AsmLn;
|
||||
NewObject:=false;
|
||||
end;*)
|
||||
end;
|
||||
case hp.typ of
|
||||
ait_comment :
|
||||
begin
|
||||
|
Loading…
Reference in New Issue
Block a user