From 3f83ae50789d44c49bec5db292d58db3f02d5f79 Mon Sep 17 00:00:00 2001 From: Bernhard Schommer Date: Tue, 13 Mar 2018 15:34:01 +0100 Subject: Add newline directly on list in annot. This should avoid cluttering the assembler output with .ascii "\n" lines if the annotation ends with a string and make for a better readability. Bug 23169 --- backend/AisAnnot.ml | 8 ++++++-- backend/PrintAsm.ml | 3 +-- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'backend') diff --git a/backend/AisAnnot.ml b/backend/AisAnnot.ml index fc3c0305..bd768781 100644 --- a/backend/AisAnnot.ml +++ b/backend/AisAnnot.ml @@ -146,14 +146,18 @@ let ais_annot_txt warn lbl preg_string sp_reg_name txt args = [] in let rec merge acc = function - | [] -> List.rev acc + | [] -> acc | (Label _ as lbl):: rest -> merge (lbl::acc) rest | (Symbol _ as sym) :: rest -> merge (sym::acc) rest | String s1 :: String s2 :: rest -> merge acc (String (s1 ^ s2) :: rest) | String s:: rest -> merge ((String s)::acc) rest in - merge [] annot + let rev_annot = match merge [] annot with + | [] -> [] + | (String s)::rest -> (String (s^"\n"))::rest + | rest -> (String "\n")::rest in + List.rev rev_annot let add_ais_annot lbl preg_string sp_reg_name txt args = let annot = ais_annot_txt true lbl preg_string sp_reg_name txt args in diff --git a/backend/PrintAsm.ml b/backend/PrintAsm.ml index 04ecbae3..92d465d5 100644 --- a/backend/PrintAsm.ml +++ b/backend/PrintAsm.ml @@ -162,8 +162,7 @@ module Printer(Target:TARGET) = print_addr oc Target.symbol symb | AisAnnot.String a -> fprintf oc " .ascii %S\n" a in let annot oc str = - List.iter (annot_part oc) str; - fprintf oc " .ascii \"\\n\"\n" + List.iter (annot_part oc) str in List.iter (annot oc) annots end -- cgit