当前位置: 首页 > news >正文

2310d模板替换运行时

原文
上周,我开始从我之前的PR中的_d_newarray{i,}T实现开始,把_d_newarraym{i,}T转换为模板.目前,我已实现了新勾挂并更新了降级,但在编译器中遇见了一些测试失败.

修复它们之前,出现了该错误,它是因为我降级到_d_arrayappend{T,cTX}引起的.
我前段时间处理了这些勾挂,并用AST自身中勾挂调用替换了~=.
这在CTFE时产生了问题,因为它们经常调用libc函数,一般不可解释勾挂.

现在正在实现的方法是,在CatAssignExP中的降级字段中,存储~=降级.然后,CTFE可求值原始式并忽略降级,胶水层可从降级而不是CatAssignExp中生成其IR.arr~=elem的降级式不变,仍为_d_arrayappendcTX(arr,1),arr[$-1]=elem.

但是,现在当arr函数调用时,会导致后端错误,如foo().为了避免两次调用foo(),在临时变量中保存其返回值,并在CommaExp中如下使用它:

foo() ~= elem;
//降级为:
_tmp = foo(), _d_arrayappendcTX(_tmp, 1), _tmp[$ - 1] = elem

不知何故,后端找不到_tmp符号.我仍在调查该问题,及把降级移动到另一个导致它的.
谢谢
特奥多尔(土豆)

相关文章:

  • C/C++笔试面试真题
  • 理解CSS的层叠性和继承性
  • 力扣第347题 堆(优先队列) 经典题 c++ 简易注释版 附(相关知识点解答)
  • pandas
  • qml使用c++自定义listmodel数据
  • Android学习之路(16) Android 数据库Litepal
  • 利用norm.ppfnorm.interval分别计算正态置信区间[实例]
  • 深度学习(1)---卷积神经网络(CNN)
  • Audacity 使用教程:轻松录制、编辑音频
  • OpenCV实现视频的追踪(meanshift、Camshift)
  • Ubuntu Zookeeper开机自启动服务
  • 快速选择排序
  • Spring的注解开发-注解方式整合MyBatis代码实现
  • 辅助驾驶功能开发-测试篇(2)-真值系统介绍
  • 宝塔反代openai官方API接口详细教程,502 Bad Gateway问题解决
  • 【IPC 通信】信号处理接口 Signal API(6)
  • 点击router-link时候会发生什么?
  • 分类预测 | MATLAB实现WOA-FS-SVM鲸鱼算法同步优化特征选择结合支持向量机分类预测
  • 步力宝科技爆款产品定位,开创智能物联网新商业
  • 博客无限滚动加载(html、css、js)实现
  • 特朗普就防卫负担施压日本,石破茂:防卫费应由我们自主决定
  • 关于沪泰创新合作,泰州市委书记姜冬冬谈到了三个“合”
  • 正义网评“一男两女举办婚礼”:“一夫多妻”流量闹剧该歇了
  • 湖北一民房疑因过度采矿塌陷倒塌,镇政府:无伤亡,正在调查
  • 季后赛版本的吉米有多强?库里终于有答案了
  • 山东大学儒学高等研究院教授单承彬逝世,终年60岁