From 3175ea9030337c039196ebf4c9c4849db386959b Mon Sep 17 00:00:00 2001
From: Virgile Prevosto <virgile.prevosto@m4x.org>
Date: Tue, 25 Feb 2020 11:35:54 +0100
Subject: [PATCH] [printer] also protect empty ghost blocks inside non-ghost
 environment

---
 src/kernel_services/ast_printing/cil_printer.ml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/kernel_services/ast_printing/cil_printer.ml b/src/kernel_services/ast_printing/cil_printer.ml
index b4550d92a6c..80735f7ab24 100644
--- a/src/kernel_services/ast_printing/cil_printer.ml
+++ b/src/kernel_services/ast_printing/cil_printer.ml
@@ -1215,6 +1215,8 @@ class cil_printer () = object (self)
         gives us at least a correct, compilable, C code.
      *)
      | _::_::_,[],[],_ -> is_cfg_block ctxt
+     | [s],[],[], (Then_with_else | Other)
+       when (not is_ghost) && s.ghost -> true
      | [ { skind = Block b } as s' ], [], [], Stmt_block s ->
        (b.bscoping ||
         (not (Cil.has_extern_local_init b) && self#stmt_has_annot s))
@@ -1225,8 +1227,6 @@ class cil_printer () = object (self)
      | [ { skind = Block b } ], [], [], _ -> self#require_braces ctxt b
      | [ { skind = UnspecifiedSequence s } ], [], [], _ ->
        self#require_braces ctxt (Cil.block_from_unspecified_sequence s)
-     | [s],[],[], (Then_with_else | Other)
-       when (not is_ghost) && s.ghost -> true
      | [_],[],[], Then_with_else -> self#block_has_dangling_else blk
      | [ _ ], [], [], _ -> false
      | [],[],[],_ -> false)
-- 
GitLab