From 4ad4ef84db0883e3b9f838f24c733b628becc2b5 Mon Sep 17 00:00:00 2001
From: Virgile Prevosto <virgile.prevosto@m4x.org>
Date: Fri, 11 Feb 2022 19:17:39 +0100
Subject: [PATCH] [options] better option for having reparseable code

hide -kernel-msg-key behind a proper FCLang option
---
 frama_Clang_option.ml   | 5 +++++
 tests/basic/printer.cpp | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/frama_Clang_option.ml b/frama_Clang_option.ml
index 2e806ff3..6eb91e91 100644
--- a/frama_Clang_option.ml
+++ b/frama_Clang_option.ml
@@ -142,6 +142,11 @@ module ParseableOutput =
       let option_name = "-cxx-parseable-output"
       let help = "set up Frama-C pretty-printer to output C code that can be reparsed by Frama-C"
     end)
+let () =
+  ParseableOutput.add_set_hook
+    (fun _ f ->
+      let k = Kernel.dkey_print_attrs in
+      if f then Kernel.add_debug_keys k else Kernel.del_debug_keys k)
 
 module C_std_headers = 
   String(
diff --git a/tests/basic/printer.cpp b/tests/basic/printer.cpp
index 88e4eea8..8fc14516 100644
--- a/tests/basic/printer.cpp
+++ b/tests/basic/printer.cpp
@@ -1,6 +1,6 @@
 /* run.config
 NOFRAMAC:
-EXECNOW: LOG printer.res.c @frama-c@ @PTEST_FILE@ @CXX@ @MACHDEP@ -cxx-unmangling none -kernel-msg-key printer:attrs -ocode @PTEST_RESULT@/printer.res.c -print
+EXECNOW: LOG printer.res.c @frama-c@ @PTEST_FILE@ @CXX@ @MACHDEP@ -cxx-unmangling none -cxx-parseable-output -ocode @PTEST_RESULT@/printer.res.c -print
 EXECNOW: LOG printer.res2.c @frama-c@ @CXX@ @MACHDEP@ -cxx-unmangling without-qualifier @PTEST_RESULT@/printer.res.c -ocode @PTEST_RESULT@/printer.res2.c -print
 */
 
-- 
GitLab