登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
Gitee 2025年度开源项目评选启动,快来选出你心中的最佳开源项目!
代码拉取完成,页面将自动刷新
开源项目
>
工业软件
>
芯片开发
&
EDA/电子设计自动化
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
43
Star
196
Fork
91
iEDA
/
iEDA
代码
Issues
6
Pull Requests
3
Wiki
统计
流水线
服务
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
83
Clang编译支持
开启的
雪泥喵爪:clang-fix
iEDA:master
雪泥喵爪
创建于 2025-10-20 17:23
克隆/下载
HTTPS
SSH
复制
下载 Email Patch
下载 Diff 文件
## 主要修改内容 本 PR 主要解决了项目在 Clang 编译器下的编译问题,并修复了一些代码逻辑问题。具体修改包括: ### 编译相关修复 - **添加 Clang 版本检测** - 在 `build.sh` 中增加对 Clang 编译器的版本检测支持 - **OpenMP 兼容性** - 在 `VecFeatureDrc::markNodes()` 中仅对 GCC 启用 OpenMP 特性,避免 Clang 编译错误 - **显式类型转换** - 使用 `static_cast` 替换隐式类型转换,防止 Clang 编译错误 - **noreturn 限定符** - 为 `Logger::error` 函数添加 `[[noreturn]]` 限定符,解决"所有路径无返回值"的编译警告 - **const 限定符** - 为 `CompInnerNode::operator()` 声明添加 `const` 限定符,确保在 STL 容器中的正确使用 ### 逻辑修复 - **IdbLayerImplant::get_min_spacing() 逻辑修正** - 修复了原函数在 `_spacing_list->get_num()` 返回值不为 1 时可能返回未定义值的问题 ## 注意事项 ### 关于 IdbLayerImplant::get_min_spacing() 的修复 - **这是一个临时修复方案**,尚未完全验证其正确性 - **建议维护者仔细检查相关逻辑**: - 如果 `_spacing_list->get_num()` 的返回值 1 确实是唯一有效值,应该显式抛出错误而不是静默返回未定义值 - 如果其他值也是有效的,需要正确处理这些情况 - 如果该函数尚未完全实现,应该在返回值不为 1 时抛出"未实现错误" ### 兼容性考虑 - 所有修改都保持了与 GCC 的向后兼容性 ### 测试建议 - 建议在合并前使用 Clang 编译器进行完整构建测试与回归测试 - 特别关注 `IdbLayerImplant::get_min_spacing()` 相关功能的回归测试 谢谢。
此 Pull Request 需要通过一些审核项
类型
指派人员
状态
审查
陶思敏
Xingquan-Li
Hao
Emin
进行中
(0/1人)
测试
Hao
Emin
进行中
(0/1人)
依赖于 1 个未合并的 Pull Request
!82
修复DPBin和DPSegment相关头文件的依赖问题
此 Pull Request 暂不能合并,一些 PR 依赖项尚未处理
怎样手动合并此 Pull Request
git checkout master
git pull https://gitee.com/scratch-er/iEDA.git clang-fix
git push origin master
评论
1
提交
6
文件
6
检查
代码问题
0
批量操作
展开设置
折叠设置
审查
Code Owner
审查人员
immelon
imelon
Hao
harrywh
Xingquan-Li
xingquan-li
puckbee
puckbee
陶思敏
simintao
Emin
Emin017
未设置
最少人数
1
测试
immelon
imelon
Hao
harrywh
Xingquan-Li
xingquan-li
puckbee
puckbee
陶思敏
simintao
Emin
Emin017
未设置
最少人数
1
优先级
不指定
严重
主要
次要
不重要
标签
标签管理
enhancement
关联 Issue
ID247V
`CompInnerNode::operator()` 缺少 const 修饰符导致的构建错误
ID2E8C
`IdbLayerImplant::get_min_spacing`实现可能存在问题
ID2I4Y
`irt::Logger::error`应该被标记为`[[noreturn]]`
Pull Request 合并后将关闭上述关联 Issue
里程碑
未关联里程碑
0.1.1
0.2.0
合并选项
合并后删除提交分支
提交分支为默认分支,无法删除
合并后关闭提到的 Issue
接受 Pull Request 时使用扁平化(Squash)合并
勾选此选项后,将建议使用 Squash Merge 方式合并以精简提交历史记录
参与者
(1)
C++
1
https://gitee.com/oscc-project/iEDA.git
[email protected]
:oscc-project/iEDA.git
oscc-project
iEDA
iEDA
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册