Declare Cynara Destructor 32/210532/3
authorHwankyu Jhun <h.jhun@samsung.com>
Mon, 22 Jul 2019 06:46:22 +0000 (15:46 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Mon, 22 Jul 2019 07:04:25 +0000 (16:04 +0900)
If a class has no user-declared destructor, a destructor is
implicitly declared as defaulted.
An implicitly-declared destructor is an inline public member of its class.
Inline definition is equal to inlining and it cause build warning.
A function defined within a class definition is an inline function.

Problem(Warning):
 - /home/abuild/rpmbuild/BUILD/rpc-port-1.3.16/src/ac-internal.h:43:9: warning:
   inlining failed in call to
     'rpc_port::internal::AccessController::Cynara::~Cynara() noexcept':
       call is unlikely and code size would grow [-Winline]

Change-Id: I6dc55fb7648da8e41261b53d6f4d2ed472f1292c
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/ac-internal.cc
src/ac-internal.h

index f8be409..ec3d936 100644 (file)
@@ -116,6 +116,8 @@ AccessController::Cynara::Cynara()
   }
 }
 
+AccessController::Cynara::~Cynara() = default;
+
 int AccessController::Cynara::FetchCredsFromDBus(GDBusConnection* connection,
     const char* sender) {
   char* user = nullptr;
index 174f231..cb3b674 100644 (file)
@@ -43,6 +43,7 @@ class AccessController {
   class Cynara {
    public:
      Cynara();
+     ~Cynara();
 
      int FetchCredsFromDBus(GDBusConnection *connection, const char *sender);
      int Check(const std::string& privilege) const;