This is an automated email from the ASF dual-hosted git repository.

alexey pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git

commit b2a6fe26266e170b5e885d1ddac6a5f03ded1759
Author: Alexey Serbin <ale...@apache.org>
AuthorDate: Wed Apr 24 19:03:27 2024 -0700

    [util] fix TidyBot warnings in ScopedTracer
    
    This patch removes superfluous constructs from ScopedTracer, addressing
    warnings output by CLANG tidy, e.g.:
    
      2024-04-24 18:49:17,524 INFO: src/kudu/util/debug/trace_event.h:1379:3: 
warning: 5 uninitialized fields at the end of the constructor call [
      clang-analyzer-optin.cplusplus.UninitializedObject]
        ScopedTracer() : p_data_(nullptr) {}
        ^
      ...
    
    This patch doesn't contain any functional modifications.
    
    Change-Id: I0e2f8578180955d0c8c788a0ee160deefba6a3ca
    Reviewed-on: http://gerrit.cloudera.org:8080/21352
    Reviewed-by: Mahesh Reddy <mre...@cloudera.com>
    Reviewed-by: Yingchun Lai <laiyingc...@apache.org>
    Tested-by: Alexey Serbin <ale...@apache.org>
---
 src/kudu/util/debug/trace_event.h | 34 ++++++++++++++--------------------
 1 file changed, 14 insertions(+), 20 deletions(-)

diff --git a/src/kudu/util/debug/trace_event.h 
b/src/kudu/util/debug/trace_event.h
index f43b48de3..4994ed047 100644
--- a/src/kudu/util/debug/trace_event.h
+++ b/src/kudu/util/debug/trace_event.h
@@ -1375,37 +1375,31 @@ static inline kudu::debug::TraceEventHandle 
AddTraceEvent(
 // Used by TRACE_EVENTx macros. Do not use directly.
 class ScopedTracer {
  public:
-  // Note: members of data_ intentionally left uninitialized. See Initialize.
-  ScopedTracer() : p_data_(nullptr) {}
+  ScopedTracer()
+      : category_group_enabled_(nullptr),
+        name_(nullptr),
+        event_handle_({ 0, 0, 0 }) {
+  }
 
   ~ScopedTracer() {
-    if (p_data_ && *data_.category_group_enabled)
+    if (category_group_enabled_) {
       TRACE_EVENT_API_UPDATE_TRACE_EVENT_DURATION(
-          data_.category_group_enabled, data_.name, data_.event_handle);
+          category_group_enabled_, name_, event_handle_);
+    }
   }
 
   void Initialize(const unsigned char* category_group_enabled,
                   const char* name,
                   kudu::debug::TraceEventHandle event_handle) {
-    data_.category_group_enabled = category_group_enabled;
-    data_.name = name;
-    data_.event_handle = event_handle;
-    p_data_ = &data_;
+    category_group_enabled_ = category_group_enabled;
+    name_ = name;
+    event_handle_ = event_handle;
   }
 
  private:
-  // This Data struct workaround is to avoid initializing all the members
-  // in Data during construction of this object, since this object is always
-  // constructed, even when tracing is disabled. If the members of Data were
-  // members of this class instead, compiler warnings occur about potential
-  // uninitialized accesses.
-  struct Data {
-    const unsigned char* category_group_enabled;
-    const char* name;
-    kudu::debug::TraceEventHandle event_handle;
-  };
-  Data* p_data_;
-  Data data_;
+  const unsigned char* category_group_enabled_;
+  const char* name_;
+  kudu::debug::TraceEventHandle event_handle_;
 };
 
 // Used by TRACE_EVENT_BINARY_EFFICIENTx macro. Do not use directly.

Reply via email to