移植到安腾和Gnat Ada

移植到安腾和Gnat Ada,ada,itanium,Ada,Itanium,使用OpenVMS平台在Ada 83中开发的应用程序将使用GNAT Ada编译器迁移到安腾 这个港口有什么风险 是否有一个通用的迁移验收计划 知道GNAT Ada和DEC Ada之间的浮点值存在管理差异,如何验证此应用程序 浮点类型的问题将在编译时检测到。我不记得DEC Ada有什么限制,但我在英特尔体系结构上使用GNAT的经验是,最多可以有18位有效数字,这比我在DEC Alpha上使用GNAT时的有效数字还要多 我曾经处理过一个应用程序,它是从DEC Ada移植到GNAT的。据我所知,所有移

使用OpenVMS平台在Ada 83中开发的应用程序将使用GNAT Ada编译器迁移到安腾

这个港口有什么风险

是否有一个通用的迁移验收计划

知道GNAT Ada和DEC Ada之间的浮点值存在管理差异,如何验证此应用程序


浮点类型的问题将在编译时检测到。我不记得DEC Ada有什么限制,但我在英特尔体系结构上使用GNAT的经验是,最多可以有18位有效数字,这比我在DEC Alpha上使用GNAT时的有效数字还要多

我曾经处理过一个应用程序,它是从DEC Ada移植到GNAT的。据我所知,所有移植问题要么与表示子句有关,要么与源文本中的纯bug有关,DEC Ada没有检测到

我猜你应该用1天/M行+2小时/representation子句计算


当然,还有时间运行完整的测试套件。

浮点类型的问题将在编译时检测到。我不记得DEC Ada有什么限制,但我在英特尔体系结构上使用GNAT的经验是,最多可以有18位有效数字,这比我在DEC Alpha上使用GNAT时的有效数字还要多

我曾经处理过一个应用程序,它是从DEC Ada移植到GNAT的。据我所知,所有移植问题要么与表示子句有关,要么与源文本中的纯bug有关,DEC Ada没有检测到

我猜你应该用1天/M行+2小时/representation子句计算


当然,现在是运行完整测试套件的时候了。

DEC聘请ACT now AdaCore使GNAT-DEC编译器兼容,因此最大的努力可能是告诉GNAT文件名是什么。一旦GNAT知道哪些文件包含哪些Ada单元,使用-gnat83选项应该处理除平台特定代码之外的所有内容,并且可能指出它无法处理的平台特定代码。使用-gnat95选项,您可能会遇到更多的不一致,但编译器应该指出这些不一致,并且大多数Ada-83代码都是有效的Ada 95。*迁移到语言的更高版本-gnat05和-gnat12将增加出现问题的机会

一旦您设置好GNAT可以编译代码,使用-gnat83编译应该会让您了解所需的工作。可能性很小


*我曾经简单地通过重新编译将Ada-83代码的数千个终止分号移植到Ada 95。当然,这段代码的设计和实现是正确的,与编译器和平台无关,幸运的是,它没有使用任何新的Ada-95保留字作为标识符。YMMV

DEC聘请ACT now AdaCore使GNAT DEC编译器兼容,因此最大的努力可能是告诉GNAT文件名是什么。一旦GNAT知道哪些文件包含哪些Ada单元,使用-gnat83选项应该处理除平台特定代码之外的所有内容,并且可能指出它无法处理的平台特定代码。使用-gnat95选项,您可能会遇到更多的不一致,但编译器应该指出这些不一致,并且大多数Ada-83代码都是有效的Ada 95。*迁移到语言的更高版本-gnat05和-gnat12将增加出现问题的机会

一旦您设置好GNAT可以编译代码,使用-gnat83编译应该会让您了解所需的工作。可能性很小


*我曾经简单地通过重新编译将Ada-83代码的数千个终止分号移植到Ada 95。当然,这段代码的设计和实现是正确的,与编译器和平台无关,幸运的是,它没有使用任何新的Ada-95保留字作为标识符。我很晚才看到。只是关于FP的精确性。您可以将DEC特定的FP与GNAT一起使用。您只需重新编译所有指定您选择DEC fp格式的ada库。

我很晚才看到这一点。只是关于FP的精确性。您可以将DEC特定的FP与GNAT一起使用。您只需重新编译所有指定您选择DEC fp格式的ada库。

@trashgood我不同意太宽,至少对于验收计划来说是这样。这个问题非常具体,尽管它包含了general一词:OP向我们提供了迁移过程中涉及的操作系统和编译器,并要求提供一个清单。这样一份清单是由已经走上这条迁移道路的人编制的,因此可能很容易获得。谷歌在Alpha和VAX上发现了DEC编译器之间的兼容性,可能会给我一些注意事项的建议for@trashgod我不同意过于宽泛,至少对于验收计划来说是这样。这个问题非常具体,尽管它包含了general一词:OP向我们提供了迁移过程中涉及的操作系统和编译器,并要求提供一个清单。这样的支票 我的ist是由那些已经走上了迁移道路的人组装而成的,因此可能很容易获得。Google发现了我关于Alpha和VAX上DEC编译器之间兼容性的信息,可能会提供一些关于在编译时检测到大多数FP类型问题时应注意的事项。由于四舍五入的计算不同,FP值之间的相等比较等行为可能会有所不同,但这首先是对FP的错误使用。大多数FP类型的问题将在编译时检测到。由于不同的四舍五入计算,FP值之间的相等比较可能表现出不同的行为,但这首先是对FP的错误使用。