diff options
author | Bernhard Schommer <bernhardschommer@gmail.com> | 2018-03-13 15:34:01 +0100 |
---|---|---|
committer | Bernhard Schommer <bernhardschommer@gmail.com> | 2018-03-13 15:34:01 +0100 |
commit | 3f83ae50789d44c49bec5db292d58db3f02d5f79 (patch) | |
tree | 03d5dc83333f8bbb432a00c189900356cc3f7466 | |
parent | a50902cad6765f80fc394d08054a8516febf7600 (diff) | |
download | compcert-3f83ae50789d44c49bec5db292d58db3f02d5f79.tar.gz compcert-3f83ae50789d44c49bec5db292d58db3f02d5f79.zip |
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
-rw-r--r-- | backend/AisAnnot.ml | 8 | ||||
-rw-r--r-- | backend/PrintAsm.ml | 3 |
2 files changed, 7 insertions, 4 deletions
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 |