Alexey Serbin has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/23064 )

Change subject: [Rocky] suppress -Wpsabi warning with targeted GCC version check
......................................................................

[Rocky] suppress -Wpsabi warning with targeted GCC version check

GCC 10.1 and later may emit a -Wpsabi warning when returning
std::pair<double, double> from a function in C++17 mode on AArch64:

  kudu/src/kudu/tablet/compaction_policy.cc:304:63: note: parameter
  passing for argument of type ‘std::pair<double, double>’ when C++17
  is enabled changed to match C++14 in GCC 10.1
  304 |   std::pair<double, double> ComputeLowerAndUpperBound() const {
      |                                                               ^

The affected function, ComputeLowerAndUpperBound(), is purely internal
to Kudu and not part of any public ABI. Moreover, all Kudu components
are statically linked in release builds, so ABI mismatch across
compiler versions is not a concern.

To eliminate this harmless warning while keeping the function interface
unchanged, this patch applies a targeted `#pragma GCC diagnostic ignored
"-Wpsabi"` directive, guarded by a version check: only GCC ≥ 10.1 and
< 13 will apply the suppression, and Clang is explicitly excluded.

This approach avoids unnecessary changes to return types (e.g., replacing
std::pair with a custom struct) and minimizes the risk of compiler-specific
logic spilling into unrelated builds.

Build environment:
- GCC version: 11.5.0 20240719 (Red Hat 11.5.0-5)
- ld (GNU gold) version: 1.16

No functional behavior is changed.

References:
- https://gcc.gnu.org/gcc-10/changes.html

Change-Id: Iab4db585a8eaf152f1fa2884e72e38a4e7c5efa1
Reviewed-on: http://gerrit.cloudera.org:8080/23064
Tested-by: Alexey Serbin <[email protected]>
Reviewed-by: Alexey Serbin <[email protected]>
---
M src/kudu/tablet/compaction_policy.cc
1 file changed, 16 insertions(+), 0 deletions(-)

Approvals:
  Alexey Serbin: Looks good to me, approved; Verified

--
To view, visit http://gerrit.cloudera.org:8080/23064
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Iab4db585a8eaf152f1fa2884e72e38a4e7c5efa1
Gerrit-Change-Number: 23064
Gerrit-PatchSet: 7
Gerrit-Owner: KeDeng <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Ashwani Raina <[email protected]>
Gerrit-Reviewer: KeDeng <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <[email protected]>
Gerrit-Reviewer: Zoltan Martonka <[email protected]>

Reply via email to