Ada AUnit中的虫子与蚊虫一起出现
我相信我已经在AUnit中发现并修复了一个bug,它是Ada GNAT编译器工具的一部分 向AdaCore提交GNAT工具社区版本的bug的最佳方式是什么 以下程序使用当前版本的编译器GNAT Community 2020(20200429-84)自动中止 错误出现在文件aunit.adb中的过程消息_Free中。以下是修补版本。更改是对AUnit.Memory.AUnit\u Free调用的参数Ada AUnit中的虫子与蚊虫一起出现,ada,gnat,aunit,Ada,Gnat,Aunit,我相信我已经在AUnit中发现并修复了一个bug,它是Ada GNAT编译器工具的一部分 向AdaCore提交GNAT工具社区版本的bug的最佳方式是什么 以下程序使用当前版本的编译器GNAT Community 2020(20200429-84)自动中止 错误出现在文件aunit.adb中的过程消息_Free中。以下是修补版本。更改是对AUnit.Memory.AUnit\u Free调用的参数 procedure Message_Free (Msg : in out Message_S
procedure Message_Free (Msg : in out Message_String) is
begin
if Msg /= null then
AUnit.Memory.AUnit_Free (Msg.all'address - System.Address'size/8);
Msg := null;
end if;
end Message_Free;
邮寄至:report(at)(制造GNAT的公司名称).com
您可以使用有意义的标题和有用的信息来显示错误(通常是复制者示例)和修复程序,从而增加您的机会。扩展:还有两个其他选项:
System.Address'size/8
看起来。。。有点不对劲。应该是System.Address'size/System.Storage\u Unit
?@BrianDrummond,消息Alloc中有文字8。我认为它实际上应该是Bounds'Object\u Size/8
(Bounds
是两个整数)如果你没有在Github上设置,我可以为你做这件事(顺便说一句,如果错误消息和macOS上的一样没有帮助,恭喜你找到了它!)
procedure Message_Free (Msg : in out Message_String) is
begin
if Msg /= null then
AUnit.Memory.AUnit_Free (Msg.all'address - System.Address'size/8);
Msg := null;
end if;
end Message_Free;