Fix build failure caused by GCC 15

Rewrite coroutine structured bindings to avoid triggering
-Wmaybe-uninitialized with GCC 15. This diagnostic is stricter
in GCC 15 and falsely detects uninitialized use in co_await
structured bindings.

Ensure compatibility with newer toolchains and maintain
successful builds.

Reference:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118634

Change-Id: Ie168db61695dfb5a401f2fc7c5d76c68e51b2ef2
Signed-off-by: George Liu <liuxiwei@ieisystem.com>
diff --git a/src/EntityManagerInterface.cpp b/src/EntityManagerInterface.cpp
index 581cd1b..e83dea4 100644
--- a/src/EntityManagerInterface.cpp
+++ b/src/EntityManagerInterface.cpp
@@ -74,9 +74,9 @@
 
     while (!ctx.stop_requested())
     {
-        auto [objectPath, inventoryData] =
-            co_await addedMatch
-                .next<sdbusplus::message::object_path, SensorData>();
+        auto result = co_await addedMatch
+                          .next<sdbusplus::message::object_path, SensorData>();
+        auto& [objectPath, inventoryData] = result;
 
         for (const auto& interfaceName : interfaceNames)
         {
@@ -104,9 +104,10 @@
 
     while (!ctx.stop_requested())
     {
-        auto [objectPath, interfaces] =
+        auto result =
             co_await removedMatch
                 .next<sdbusplus::message::object_path, interface_list_t>();
+        auto& [objectPath, interfaces] = result;
 
         for (const auto& interfaceName : interfaceNames)
         {
diff --git a/src/NotifyWatch.cpp b/src/NotifyWatch.cpp
index d4d8faf..f795464 100644
--- a/src/NotifyWatch.cpp
+++ b/src/NotifyWatch.cpp
@@ -8,7 +8,6 @@
 #include <array>
 #include <cerrno>
 #include <cstdint>
-#include <cstring>
 #include <filesystem>
 #include <memory>
 #include <span>
diff --git a/src/NotifyWatch.hpp b/src/NotifyWatch.hpp
index 1e1b33e..b82a594 100644
--- a/src/NotifyWatch.hpp
+++ b/src/NotifyWatch.hpp
@@ -2,8 +2,6 @@
 
 #include <sdbusplus/async.hpp>
 
-#include <cerrno>
-#include <cstring>
 #include <functional>
 #include <memory>
 #include <string>
diff --git a/src/SensorPaths.hpp b/src/SensorPaths.hpp
index b776b50..dc0a49a 100644
--- a/src/SensorPaths.hpp
+++ b/src/SensorPaths.hpp
@@ -1,6 +1,5 @@
 #pragma once
 
-#include <cstring>
 #include <string>
 
 namespace sensor_paths
diff --git a/src/mctp/MCTPReactor.cpp b/src/mctp/MCTPReactor.cpp
index 1f322a8..3c04241 100644
--- a/src/mctp/MCTPReactor.cpp
+++ b/src/mctp/MCTPReactor.cpp
@@ -7,7 +7,6 @@
 #include <boost/system/detail/error_code.hpp>
 #include <phosphor-logging/lg2.hpp>
 
-#include <cstdlib>
 #include <memory>
 #include <optional>
 #include <string>
diff --git a/src/nvidia-gpu/NvidiaGpuMctpVdm.cpp b/src/nvidia-gpu/NvidiaGpuMctpVdm.cpp
index efde488..80f5bfe 100644
--- a/src/nvidia-gpu/NvidiaGpuMctpVdm.cpp
+++ b/src/nvidia-gpu/NvidiaGpuMctpVdm.cpp
@@ -12,7 +12,6 @@
 
 #include <cerrno>
 #include <cstdint>
-#include <cstring>
 #include <span>
 
 namespace gpu
diff --git a/src/nvidia-gpu/OcpMctpVdm.cpp b/src/nvidia-gpu/OcpMctpVdm.cpp
index 6497621..4eb6f02 100644
--- a/src/nvidia-gpu/OcpMctpVdm.cpp
+++ b/src/nvidia-gpu/OcpMctpVdm.cpp
@@ -10,7 +10,6 @@
 
 #include <cerrno>
 #include <cstdint>
-#include <cstring>
 #include <span>
 
 namespace ocp
diff --git a/src/smbpbi/SmbpbiSensor.cpp b/src/smbpbi/SmbpbiSensor.cpp
index 05b73ec..238cbcf 100644
--- a/src/smbpbi/SmbpbiSensor.cpp
+++ b/src/smbpbi/SmbpbiSensor.cpp
@@ -26,7 +26,6 @@
 
 #include <array>
 #include <chrono>
-#include <cmath>
 #include <cstdint>
 #include <cstring>
 #include <functional>