From 4d94c1c4cf1f7129a4f6bac0fe9ec7aa66203318 Mon Sep 17 00:00:00 2001
From: Zuzana Baranova <xbaranov@fi.muni.cz>
Date: Sat, 22 Jun 2019 19:29:39 +0000
Subject: [PATCH] CC: Factor out help and version printing into
 Native::print_info().

---
 divine/cc/native.cpp | 8 ++++++++
 divine/cc/native.hpp | 1 +
 tools/divcc.cpp      | 5 +----
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/divine/cc/native.cpp b/divine/cc/native.cpp
index f8a715f6f..fa5c252ec 100644
--- a/divine/cc/native.cpp
+++ b/divine/cc/native.cpp
@@ -176,6 +176,14 @@ namespace divine::cc
         }
     }
 
+    void Native::print_info( std::string_view version )
+    {
+        if ( _po.hasVersion )
+            std::cout << "divine version: " << version << "\n";
+        cc::ClangDriver drv;
+        delete drv.BuildCompilation( { "divcc", _po.hasHelp ? "--help" : "--version" } );
+    }
+
     Native::~Native()
     {
         if ( !_po.toObjectOnly )
diff --git a/divine/cc/native.hpp b/divine/cc/native.hpp
index b23db6337..34a7e62f0 100644
--- a/divine/cc/native.hpp
+++ b/divine/cc/native.hpp
@@ -41,6 +41,7 @@ namespace divine::cc
         int run();
         virtual std::unique_ptr< llvm::Module > link_bitcode();
         void construct_paired_files();
+        void print_info( std::string_view version );
 
         cc::ParsedOpts _po;
         PairedFiles _files;
diff --git a/tools/divcc.cpp b/tools/divcc.cpp
index 1de993148..a5ad97a88 100644
--- a/tools/divcc.cpp
+++ b/tools/divcc.cpp
@@ -36,10 +36,7 @@ int main( int argc, char **argv )
 
         if ( po.hasHelp || po.hasVersion )
         {
-            if ( po.hasVersion )
-                std::cout << "divine version: " << ui::version() << "\n";
-            cc::ClangDriver drv;
-            delete drv.BuildCompilation( { "divcc", po.hasHelp ? "--help" : "--version" } );
+            nativeCC.print_info( ui::version() );
             return 0;
         }
 
-- 
GitLab