已合并
【PR】: fix compile gcc 16 failed #4377
【PR】: fix compile gcc 16 failed #4377
已合并
duanpengliang创建于 17 天前
duanpengliang
duanpengliang成员
17 天前

Pull Request

描述

修复gcc 16编译ut失败

变更类型

请选择本次引入的变更类型:

关联的Issue

如何测试

描述测试此变更的步骤和前提条件:
gcc 16编译源码与ut都成功

核对清单

其他信息

在此添加任何其他关于本次 PR 的说明。

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 duanpengliang 的贡献)
duanpengliangduanpengliang成员
17 天前 添加了label:enhancement
duanpengliangduanpengliang成员
17 天前 创建了 pull request,commit 3d55b4ae
atomgit-bot
atomgit-bot
17 天前 评论:

变更摘要

本 PR 旨在修复使用 GCC 16 编译时失败的问题(fix compile gcc 16 failed),主要针对空容器访问、缺失头文件引入以及测试代码中的未使用变量告警(GCC 16 下默认按更严格的标准处理)进行兼容性修正,涉及 acl_tdt_channeltensor_data_transfer.cpptdt 头文件及相关测试用例。

主要改动

  • 修复空 vector 取地址问题: 在 tensor_data_transfer.cppTensorDatasetDeserializesTensorDatasetDeserializesV2 中,将构造 acltdtDataItem 时对 dims&dims[0] 改为 dims.empty() ? nullptr : dims.data(),避免 dims 为空时对空容器取首元素地址的未定义行为/编译报错。
  • 补充缺失头文件: 在 data_common.htdt_host_interface.htdt_stub.cpp 中新增 #include <cstdint>#include <memory>,补齐 GCC 16 下隐式包含不再生效的类型与内存管理头文件。
  • 修正 mock 方法参数类型: 在 acl_stub.h 中将 rtsKernelArgsGetPlaceHolderBuffer 的 mock 签名参数由 uint32_t dataSize 改为 size_t dataSize,与真实接口声明保持一致。
  • 清理测试代码中的未使用变量: 删除 acl_common_unittest.cppacl_runtime_unittest.cppacl_rt_unittest.cpp 中回调函数(CallBackFunc/CallBackFuncStub)内无实际作用的 int a = 1; a++;,并将 mmpa_api_stub.cppmmMalloc_Abnormal_Invokesize++ 改为 (void)size,消除未使用变量告警。
likedislike
atomgit-bot
atomgit-bot
17 天前 评论:

代码审查

✅ 未发现问题

likedislike
CANN-robotCANN-robot成员
17 天前 添加了label:cann-cla/yes
此处折叠了54条消息 查看更多
wangtao成员
16 天前 评论:

/approve

likedislike
CANN-robotCANN-robot成员
16 天前 添加了label:approved
ykl999
ykl999成员
16 天前 评论:

/lgtm

likedislike
CANN-robotCANN-robot成员
16 天前 添加了label:lgtm
CANN-robotCANN-robot成员
16 天前 合入了pull request