消息数量超出允许的最大值。它或者大于前端允许的最大消息数量,或者小于 1。
应避免产生此消息。消息目录或编译器安装出错。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题。但是您可以更改代码以避免编译器发出此消息。
消息 ID:INTERNAL_0001
消息级别超出允许范围。它不在消息系统的消息级别有效范围内。
应避免产生此消息。消息目录或编译器安装出错。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题。但是您可以更改代码以避免编译器发出此消息。
消息 ID:INTERNAL_0002
消息系统无法发布此消息中包含的消息编号所指示的消息。出现此内部错误的原因可能很多,包括:
消息 ID:INTERNAL_0003
仅能在具有 generic_spec 的接口块中指定 MODULE PROCEDURE 语句。编译器在没有通用规范的接口块中找到 MODULE PROCEDURE 语句。
消息 ID:ERROR_0004
当前语句违反 Fortran 标准语句排序规则。
消息 ID:ERROR_0005
编译器已找到标签或构造名称。关键字或标识符必须跟在标签或构造名称之后。以下示例可以阐明这一点。
10 ! 这是一个非法语句 10 CONTINUE !这是合法的;关键字跟在 10 之后
消息 ID:ERROR_0006
构造名称仅能出现在 IF-THEN 语句、DO 语句或 SELECT CASE 语句中。构造名称出现在上述语句以外的语句中时,会生成此错误。
消息 ID:ERROR_0007
在派生类型定义中,此 PRIVATE 或 SEQUENCE 语句跟随一个或多个组件定义。PRIVATE 和 SEQUENCE 语句必须在所有组件定义之前。
消息 ID:ERROR_0008
如果标签的属性入口存在,那么必须在域单元中引用它。如果已引用但从未定义它,那么至少必须有一个前向引用入口以代表未解析的前向引用。但是,此标签的前向引用链为空。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0009
伪参数名称在 FUNCTION、SUBROUTINE、ENTRY 或语句函数定义语句的参数列表中多次出现。
消息 ID:ERROR_0010
将源格式设置为自由时会忽略行大小选项,因为此行可以包含最多 132 个字符。使用固定源格式时行大小选项有效,因为 Fortran 标准将行限制到 72 个字符。选项允许将行长度扩展到 80 个字符。
消息 ID:LOG_WARNING_0011
此消息生成自 src_input.m 中的 POP_SRC 宏。源栈已经下溢。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0012
多入口点函数(带有一个或多个 ENTRY 语句的函数)可以具有这样的入口点,这些入口点仅在所有入口点返回标量和类型为缺省实数、缺省逻辑、双精度实数、缺省复数或缺省整数的结果时,才返回不同声明类型的结果。如果此入口点具有 POINTER 属性,那么所有入口点类型必须相同并且都是指针。编译器允许有相同声明类型的入口点具有不同的种类参数。
消息 ID:ANSI_0013
在程序编译的过程中,编译器内存不足。请咨询您的产品支持组织并为此作业请求更多的内存。切记程序编译可能仅是在作业空间执行的几个过程之一。
消息 ID:LIMIT_0014
块数据程序单元中允许包含派生类型定义、类型声明语句和以下语句:
COMMON DATA DIMENSION END BLOCK DATA EQUIVALENCE IMPLICIT IMPLICIT NONE INTRINSIC PARAMETER POINTER SAVE TARGET TASK COMMON USE
SEQUENCE 语句必须在派生类型定义中指定才能在块数据程序单元内出现。
消息 ID:ERROR_0015
主程序单元中不允许包含以下语句:
ENTRY INTENT OPTIONAL PRIVATE PUBLIC RETURN
下列语句必须位于构造或包含的作用域单元内才能出现在主程序单元中:
-- SEQUENCE、END TYPE,位于派生类型定义中
-- MODULE PROCEDURE,位于通用接口块中
-- ELSE、ELSE IF、END IF,位于 IF 构造中
-- CASE、END SELECT,位于 CASE 构造中
-- ELSEWHERE、END WHERE,位于 WHERE 构造中
-- CYCLE、EXIT、END DO,位于 DO 构造中
-- FUNCTION、SUBROUTINE,位于接口块中
-- END FUNCTION,位于接口体中
-- END SUBROUTINE,位于接口体中
-- END INTERFACE,位于接口块中
消息 ID:ERROR_0016
编译器无法打开调试文件或跟踪文件。
消息 ID:ERROR_0017
接口块的语法是:
interface_stmt [interface_body]... [module_procedure_stmt]... end_interface_stmt
消息 ID:ERROR_0018
模块中允许包含派生类型定义、类型声明语句和以下语句(在 END MODULE 或 CONTAINS 语句之前):
ALLOCATABLE COMMON DATA DIMENSION EQUIVALENCE EXTERNAL IMPLICIT IMPLICIT NONE INTERFACE INTRINSIC NAMELIST PARAMETER POINTER PUBLIC PRIVATE SAVE TARGET USE
下列语句必须位于接口块或包含的作用域单元内才能出现在模块程序单元中。
-- MODULE PROCEDURE,位于通用接口块中
-- SEQUENCE、END TYPE,位于派生类型定义中
-- FUNCTION、SUBROUTINE、END FUNCTION、END SUBROUTINE、END INTERFACE,位于接口块中
消息 ID:ERROR_0019
DOUBLE COMPLEX 语句不是 Fortran 标准的组成部分。
消息 ID:ANSI_0020
如果多入口函数(带有一个或多个 ENTRY 语句的函数)任何入口点的结果为字符类型或派生类型,那么此函数中的所有入口点必须返回相同类型的结果。如果函数结果为字符类型,那么所有入口点必须返回具有相同声明字符长度的结果。如果结果为派生类型,那么所有条目必须是相同的派生类型。
消息 ID:ERROR_0021
多入口点函数(带有一个或多个 ENTRY 语句的函数)可以具有入口点,这些入口点仅在所有入口点返回标量结果和类型为缺省实数、缺省逻辑、双精度实数、缺省复数或缺省整数的结果时,才返回不同声明类型的结果。如果此入口点具有 POINTER 属性,那么所有入口点的类型必须相同并且具有 POINTER 属性。
编译器允许缺省和非缺省的实数、逻辑、双精度、复数和整数混合。
消息 ID:ANSI_0022
引用语句标签后,此标签必须是作为标签引用出现在相同作用域单元的分支目标语句的语句标签。例如,如果以下 GO TO 语句出现在子程序中,那么必须在同一子程序中定义标签 10。
GO TO 10
消息 ID:ERROR_0023
许多 I/O 控制信息列表项仅允许一组有限的有效字符常量集。遇到对于此控制列表项无效的字符常量。以下为 I/O 控制项及其有效字符常量:
OPEN I/O control 列表项 字符常量 STATUS OLD, NEW, SCRATCH, REPLACE, UNKNOWN ACCESS SEQUENCTIAL, DIRECT FORM FORMATTED, UNFORMATTED BLANK NULL, ZERO POSITION ASIS, REWIND, APPEND ACTION READ, WRITE, READWRITE DELIM APOSTROPHE, QUOTE, NONE PAD YES, NO
对于 CLOSE I/O 控制列表项 STATUS,允许的字符常量为 KEEP 和 DELETE。
对于 READ/WRITE I/O 控制列表项 ADVANCE,允许的字符常量为 YES 和 NO。
消息 ID:ERROR_0024
派生类型定义中仅允许包含 PRIVATE、SEQUENCE 和组件定义语句。如果派生类型定义位于模块程序单元中,则仅允许包含 PRIVATE 语句。
消息 ID:ERROR_0025
接口块中仅允许包含 FUNCTION、SUBROUTINE、MODULE PROCEDURE 和 END INTERFACE 语句。FUNCTION 和 SUBROUTINE 用于接口体开头。END INTERFACE 用于接口块结尾。如果接口块为通用接口,则可以指定 MODULE PROCEDURE。通用接口包含能以通用名引用的模块过程列表。
消息 ID:ERROR_0026
如果函数具有结果名称,那么在声明结果为数组时必须使用此结果名称。
消息 ID:ERROR_0027
在可以出现在 PROGRAM 语句中的可选括号化列表中,括号组不匹配。
消息 ID:ERROR_0028
在可执行程序中,Fortran 标准将未命名的块数据程序单元限制到 1。但是,编译器将此限制扩展到 26,而且检测到 26 个以上的未命名块数据程序单元。
消息 ID:ERROR_0029
Fortran 标准不允许多个未命名的块数据程序单元。
消息 ID:ANSI_0030
PROGRAM 语句包含用圆括号括入的参数列表。Fortran 标准不向主程序提供实际参数。
消息 ID:ANSI_0031
在 IMPLICIT 语句中,不允许假定长度字符类型声明。
消息 ID:ERROR_0032
Fortran 标准要求,派生类型的组件可以不声明为派生类型,除非组件是指针。例如:
TYPE BB TYPE(BB) :: A END TYPE
组件 A 非法,因为它已被定义为正在声明的类型 (BB)。
TYPE ZZ TYPE(ZZ), POINTER :: A END TYPE
此处组件 A 合法,因为它是正在被声明的类型 (ZZ) 结构的指针。
消息 ID:ERROR_0033
局部名称表索引或属性表索引无效。它或者小于零或者大于最后输入的表索引。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0034
已超出最大字符长度。
消息 ID:ERROR_0035
如果函数具有结果名称,那么在声明结果为指针时必须使用此结果名称。
消息 ID:ERROR_0036
编译器检测到大于 72 个字符的输入行。在固定源格式中,Fortran 标准未规定输入行大于 72 个字符长度。
消息 ID:ANSI_0037
未按预期遇到 DO 时生成此错误。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0038
名称列表语句可能与可执行语句混合。但是,特定名称列表组的所有定义必须出现在 I/O 语句首次引用名称列表组之前。
消息 ID:ERROR_0039
编译器检测出后跟程序单元名称的 END PROGRAM 语句。此程序单元没有 PROGRAM 语句,因此没有名称。
消息 ID:ERROR_0040
在派生类型定义中,PRIVATE 和 SEQUENCE 语句仅能被指定一次。
消息 ID:ERROR_0041
编译器检测到变量问题。在属性表中存取字段,但是使用了错误的变量。实际上,字段可能在属性辅助表中,但是它正在检查属性表变量。通常,无论字段是否实际驻留在属性表或属性辅助表中,在解决问题方面应该没有差别。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0042
每个 IF 构造只能有一个 ELSE 块。每个 WHERE 构造只能有一个 ELSEWHERE 块。编译器在 IF 或 WHERE 构造中检测到多个 ELSE 或 ELSE WHERE 语句。
消息 ID:ERROR_0043
在外部子程序内,在包含的子程序内的显式接口中已指定一个入口点名称。在主机中,入口点名称已具有显式接口,因此它们不能具有在包含的过程中指定的另一接口。以下示例说明了非法重新定义。
FUNCTION ABC() CONTAINS SUBROUTINE SAM() INTERFACE FUNCTION ABC() ! 非法的重新定义 END FUNCTION ! ABC 的接口 END INTERFACE END SUBROUTINE END FUNCTION
消息 ID:ERROR_0044
如果派生类型的组件被声明为专用类型,那么派生类型定义必须包含 PRIVATE 语句,或者派生类型必须为专用。
消息 ID:ERROR_0045
TASK COMMON 语句是 Fortran 标准的一个扩展。
消息 ID:ANSI_0046
在某个位置中的 I/O 控制信息列表内遇到星号 (*),或者该符号与除 UNIT 或 FMT 以外的关键词一起使用。
消息 ID:ERROR_0047
活动 DO 变量的名称出现在将更改 DO 变量值的语句中。可以使用 DO 变量,但不可在其循环范围内重新定义。
消息 ID:ERROR_0048
编译器无法打开源文件。
消息 ID:LOG_ERROR_0049
它由 fixed_get_line in src_input.c 生成。编译器试图读取 EOF 末尾后的内容。源输入文件可能被破坏。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0050
不能继续执行编译器指令。
消息 ID:ERROR_0051
在固定源格式中,Fortran 标准仅允许 19 个续行,在自由格式中允许 39 个续行。
消息 ID:ANSI_0052
包含文件的首行不能为续行。
消息 ID:ERROR_0053
INCLUDE 行之后的行不能为续行。
消息 ID:ERROR_0054
编译器认为源文件中的所有行应以换行字符结束。但是,该行未以换行结束。
消息 ID:WARNING_0055
在续行中定义标签是非法的。
消息 ID:ERROR_0056
INCLUDE 文件的名称长度超过最大长度限定。请缩短 INCLUDE 文件的名称。
消息 ID:ERROR_0057
INCLUDE 行未遵守预期格式。在以下语法中,file 是要包含的文件名称:
INCLUDE 'file'
必须使用撇号或引号将文件名括住。仅嵌入的注释可以跟在结束分隔符之后。
消息 ID:ERROR_0058
INCLUDE 行未遵守预期格式。在以下语法中,file 是要包含的文件名称:
INCLUDE 'file'
必须使用撇号或引号将文件名括住。仅嵌入的注释可以跟在结束分隔符之后。
消息 ID:ERROR_0059
INCLUDE 行未遵守预期格式。在以下语法中,file 是要包含的文件名称:
INCLUDE 'file'
必须使用撇号或引号将文件名括住。仅嵌入的注释可以跟在结束分隔符之后。
消息 ID:ERROR_0060
INCLUDE 行未遵守预期格式。在以下语法中,file 是要包含的文件名称:
INCLUDE 'file'
必须使用撇号或引号将文件名括住。仅嵌入的注释可以跟在结束分隔符之后。
消息 ID:ERROR_0061
DATA 语句具有以下通用格式:
data_stmt_object_list /data_stmt_value_list/
其中,data_stmt_object 可以是变量或隐含 DO。在变量 data_stmt_object 中,每个下标、段下标、子串起始点和子串结束点必须是表达式,其中,每次运算都是内在运算。
DATA 语句隐含的 DO 具有以下格式:
(data_i_do_object_list, data_i_do_variable = scalar_int_expr, scalar_int_expr [, scalar_int_expr])
data_i_do_object 下标列表的每个下标中的所有运算必须为内在运算。同样,每个循环控制 scalar_int_expr 中的所有运算也必须为内在运算。
消息 ID:ERROR_0062
编译器无法打开指定的 INCLUDE 文件。
消息 ID:ERROR_0063
INCLUDE 文件不能包括自身。
消息 ID:ERROR_0064
定义的运算符不能超过 127 个字符。
消息 ID:ERROR_0065
定义的运算符必须以句点分隔符开始和结束。此定义的运算符缺少结束分隔符。
消息 ID:ERROR_0066
编译器检测到长度超过 127 个字符的标识符。Fortran 标准将标识符的长度限制为 127 个字符。
消息 ID:ERROR_0067
Fortran 要求标签不能超过 5 位。编译器检测到超过 5 位的标签。
消息 ID:ERROR_0068
编译器检测到一个全为零的标签。标签必须至少有一位非零。
消息 ID:ERROR_0069
I/O 语句包含多个相同的说明符。例如,在以下示例中,因为 UNIT= 被指定了两次,所以将发出此消息。
WRITE (UNIT=101,FMT=10,UNIT=101)
消息 ID:ERROR_0070
Fortran 标准要求除续行字符外续行还应包含其他字符。
消息 ID:ANSI_0071
AT_ATTR_LINK(attr_idx) = attr_idx。这会导致编译过程中的各种内部循环。属性决不能连接到自身。
消息 ID:INTERNAL_0072
I/O 语句包含不适当或无法辨认的说明符。允许在 READ 或 WRITE 语句中使用的说明符是:
UNIT FMT END REC ERR IOSTAT NML ADVANCE SIZE EOR允许在 OPEN 语句中使用的说明符是:
UNIT FILE STATUS IOSTAT ERR FORM ACCESS RECL BLANK POSITION ACTION DELIM PAD允许在 CLOSE 语句中使用的说明符是:
UNIT IOSTAT STATUS ERR允许在 INQUIRE 语句中使用的说明符是:
FILE IOSTAT ERR EXIST OPENED NUMBER NAMED RECL NEXTREC NAME ACCESS SEQUENTIAL FORM DIRECT FORMATTED UNFORMATTED BLANK UNIT POSITION ACTION READ WRITE READWRITE DELIM PAD
消息 ID:ERROR_0073
编译器不能同时打开汇编语言文件和二进制文件。禁用二进制输出文件,因为命令行要求汇编语言输出(-eS 或 -S 文件名)。缺省情况下启用二进制输出文件;因此,在命令行中指定汇编语言文件(未关闭二进制文件)会导致出现该警告消息。
-eS file.f 发出警告消息 -dB -eS file.f 无警告,因为 -dB 关闭二进制输出 -eS -dS file.f -eS 的警告消息。 禁用汇编和二进制输出。
消息 ID:LOG_WARNING_0074
编译器检测到命令行中的舍入/截断冲突。使用最后一个指定的选项。
消息 ID:LOG_WARNING_0075
如果在命令行中指定 -O inline[0-3] 和 -I 文件名,则将发出此消息。已选定自动内联。
消息 ID:LOG_WARNING_0076
编译器在命令行中检测到未知选项。
消息 ID:LOG_ERROR_0077
该指定选项的参数是非法的。
消息 ID:LOG_ERROR_0078
命令行中的源输入文件名之后不能有任何选项。
消息 ID:LOG_ERROR_0079
如果从 stdin 输入源,则必须为二进制文件或汇编语言文件(取决于所需的文件)指定名称。
消息 ID:LOG_ERROR_0080
例程 not_visible_semantics 在符号表中找到属性。使用处理过程中在局部作用域内仅允许:过程名、函数结果名,伪参数名、使用关联对象和在声明边界表达式中使用的对象。可能出现的其他项一定包含声明错误。
消息 ID:INTERNAL_0081
如果禁用二进制输出(使用 -dB 选项),则编译器只能进行语义和语法检错。调试要求生成二进制输出。虽然缺省情况下打开二进制输出,但是通过指定 -dB 或请求汇编语言文件(-eS 或 -S 文件名)可以将其关闭。以下是说明这种情况的示例:
-dB -G0 非法 - 二进制输出关闭,调试打开 -eS -G0 非法 - 汇编语言文件打开,调试打开
消息 ID:LOG_WARNING_0082
编译器检测到由撇号或引号分隔的起始标记。缺少匹配的结尾分隔符。
消息 ID:ERROR_0083
编译器检测到计数和霍尔瑞斯常量中实际指定的字符数相矛盾。此种情况的示例:
4H123 常量仅包含 3 个字符, 但是 4H 指示应为 4。
消息 ID:ERROR_0084
指定 0H 无效。霍尔瑞斯常量的长度必须大于 0。
消息 ID:ERROR_0085
Fortran 要求:如果模块过程或内部过程的 END 语句是函数,则应该为 END FUNCTION;如果是子例程,则应该为 END SUBROUTINE。编译器仅检测到 END 语句。
消息 ID:ERROR_0086
编译器检测到实常量中缺少指数字段。实常量的语法是
[sign] real_literal_constant
real_literal_constant 是尾数 [exponent_letter exponent] [_kind_param]
或者
digit_string exponent_letter exponent [_kind_param]
尾数是 digit_string.[digit_string]
或者
digit_string
exponent_letter 是 E 或指数是 signed_digit_string
消息 ID:ERROR_0087
编译器检测到 D 指数后跟种类参数。
实常量的语法是
[digit_str].digit_str[exponent_letter exponent] [_kind_param]
exponent_letter 是 D 或 E;指数是带有以下约束的 signed_digit_string:如果 kind_param 和 exponent_letter 都出现,则 exponent_letter 必须是 E。
消息 ID:ERROR_0088
如果已在类型常量中指定种类参数,则此种类参数必须为整数或整数类型的命名常量。例如:
r = 10.0_8 ! 是有效的种类参数 END PARAMETER (KIND=4) j = 10_KIND ! 是有效的种类参数 END r = 10.0_IT ! 无效,因为 IT ! 不是整型常量值。
消息 ID:ERROR_0089
按照以下方式可以将八进制和十六进制值指定为布尔常量:
1000B --> 八进制
'1a3'X --> 十六进制
Fortran 标准不支持布尔常量。
消息 ID:ANSI_0090
非标准布尔常量和 Fortran BOZ 常量的大小都有限制。这些限制由机器的类型决定。
如果机器类型有 64 位字,则最大长度如下:
八进制常量: 22
十六进制常量: 16
二进制常量: 64
如果八进制常量包含 22 个字符,则高位(最左侧)数字只能是 0 或 1。
如果机器类型有 32 位字,则最大长度如下:
八进制常量: 11
十六进制常量: 8
二进制常量: 32
如果八进制常量包含 11 个字符,则高位(最左侧)数字只能是 0-3。
消息 ID:ERROR_0091
非标准布尔常量和 Fortran BOZ 常量的大小有限制。这些限制由机器的类型决定。
如果机器类型有 64 位字,则最大长度如下:
八进制常量: 22
十六进制常量: 16
二进制常量: 64
如果八进制常量包含 22 个字符,则高位(最左侧)数字只能是 0 或 1。
如果机器类型有 32 位字,则最大长度如下:
八进制常量: 11
十六进制常量: 8
二进制常量: 32
如果八进制常量包含 11 个字符,则高位(最左侧)数字只能是 0-3。
消息 ID:ERROR_0092
在八进制常量中(BOZ 或布尔常量),仅允许 0-7 的数字。编译器检测到此范围之外的字符。
消息 ID:ERROR_0093
指定的 "R" 霍尔瑞斯格式为:'123456789'R 9R123456789
两种情况都是错误的,因为在霍尔瑞斯常量中指定的字的字符数超过上限。在 64 位机器中,最多允许 8 个字符。在 32 位机器中,最多允许 4 个字符。
消息 ID:ERROR_0094
编译器正在查找实常量,但只能找到句点。
例如:
1.2 合法 .2 合法 1. 合法 . 非法
消息 ID:ERROR_0095
下面的霍尔瑞斯常量说明是非标准的。
2Hab 2Lab 2Rab 'ab'h 'ab'l 'ab'r "ab"H "ab"L "ab"R
消息 ID:ANSI_0096
正在类型声明语句或 DATA 语句中初始化变量。无论哪种情况,根据内在赋值规则,常量或结构构造函数的值必须与相应的变量兼容。
消息 ID:ERROR_0097
应该有点运算符,但未找到。点运算符只能包含字母。
消息 ID:ERROR_0098
在命令行中出现的两个优化选项要求冲突优化。
消息 ID:LOG_ERROR_0099
语句开头的标记无效。此标记必须是标签或标识符。标识符可以是语言关键字、构造名、作为赋值语句中目标变量的标识符,或语句函数定义语句中的语句函数名。
消息 ID:ERROR_0100
种类参数的长度超过 127 个字符。请缩短种类参数的长度。
消息 ID:ERROR_0101
在 WHERE 语句中,屏蔽表达式后的语句不是赋值语句。
消息 ID:ERROR_0102
此消息标识正在使用哪一个版本的编译器。
消息 ID:LOG_SUMMARY_0103
此消息报告程序编译过程所用的时间(以秒为单位)。
消息 ID:LOG_SUMMARY_0104
此消息报告编译器在编译过程中使用的最大内存量。
消息 ID:LOG_SUMMARY_0105
此消息不再使用。改用 LOG_SUMMARY_1925。
消息 ID:LOG_SUMMARY_0106
此消息不再使用。改用 LOG_SUMMARY_1926。
消息 ID:LOG_SUMMARY_0107
此消息报告指令的字数和编译器生成的数据的字数。
消息 ID:LOG_SUMMARY_0108
TASK COMMON 语句指定了空白(未命名)公共块。必须对 TASK COMMON 块进行命名。例如:
TASK COMMON /cbname/ n, ... ! 合法 TASK COMMON // n, ... ! 非法
消息 ID:ERROR_0109
公共块名只能指定一次 SAVE 属性。例如:
PROGRAM MAIN COMMON /BLK/A SAVE /BLK/ SAVE /BLK/ ! 非法这是非法的,因为已为 BLK 两次指定 SAVE。
消息 ID:ERROR_0110
如果语句包含 PARAMETER 属性,则必须出现用于数据对象名的 = initialization_expr。
消息 ID:ERROR_0111
这是过时的 FORTRAN 77 特征。请使用逻辑 IF 语句或 IF 构造代替算术 IF。
消息 ID:COMMENT_0112
指定 IMPLICIT NONE 后,所有的数据对象都必须具有显式类型。
消息 ID:ERROR_0113
编译器检测到数组 (:10) 或数组(:*) 或其变量。延迟形说明符和假定形说明符不能有指定的上界。允许下面的边界形式:
显形数组 [下界:] 上界
假定形数组 [下界]:
延迟形数组 :
假定大小数组 [下界:]*
下例说明了整数类型的二维假定形数组。
INTEGER, DIMENSION(1:,:) :: ARRAY
消息 ID:ERROR_0114
数组的类型由第一维决定。如果维是 1:2(其中,1 和 2 是整数,且 1 是可选的),那么这是显形数组声明且其余维必须有指定的上界。
消息 ID:ERROR_0115
假定大小的说明符 (*) 只能声明用于显形数组的最后一维。它必须是上界而且后跟右括号。允许下面的边界形式:
显形数组 [下界:] 上界
假定形数组 [下界]:
延迟形数组 :
假定大小数组 [下界:]*
消息 ID:ERROR_0116
数组不能超过 7 维。
消息 ID:ERROR_0117
编译器检测到下列操作:试图重新定义先前隐式定义并在表达式中使用的函数的类型。以下是此情况的示例:
DIMENSION ARRAY(KFUNC()) REAL KFUNC在此例中,KFUNC 只可定义为整数类型,因为它在 DIMENSION 语句中已被隐式定义为整数。
消息 ID:ERROR_0118
在分析延迟形数组说明时,编译器应该使用逗号或右括号,但是发现了其他符号。延迟形维数说明符只是一个冒号 (:)。 其他允许的边界形式类型有:
显形数组 [下界:] 上界
假定形数组 [下界]:
假定大小数组 [下界:]*
如果数组有 ALLOCATABLE 或 POINTER 属性,则必须将其指定为延迟形数组。 下例声明了整数类型名为 JOE 的三维指针数组:
INTEGER, POINTER, DIMENSION(:,:,:) :: JOE
消息 ID:ERROR_0119
在 WHERE 语句或 WHERE 构造中,用作屏蔽表达式的表达式类型不正确。它必须是逻辑表达式。
消息 ID:ERROR_0120
如果在类型声明语句中指定 = initialization_expr,则需要使用 :: 分隔符。
消息 ID:ERROR_0121
在非函数子程序中的 ENTRY 语句中使用了 RESULT 关键字。只能在函数子程序中的 FUNCTION 和 ENTRY 语句中指定 RESULT 关键字。
消息 ID:ERROR_0122
派生类型类型名称只能定义一次。编译器发现一个类型名称被再次用于定义另一个派生类型。
消息 ID:ERROR_0123
使用 data_type*length 是非字符数据类型的 Fortran 标准扩展。
消息 ID:ANSI_0124
星号后指定的长度是此类型的非法长度。例如,DOUBLE PRECISION*8 是非法的,因为 16 是 DOUBLE PRECISION 唯一有效的星类型。
下面是各种类型及其合法的星类型:
整数:1、2、4、6、8 实数:4、8、16 复数:8、16、32 逻辑:1、2、4、8 双精度:16
消息 ID:ERROR_0125
除非派生类型在 FUNCTION 语句或 IMPLICIT 语句中指定,否则,必须先定义其组件然后再使用。这种情况下,必须在引用后定义派生类型。在所有情况中,都必须定义派生类型。通过指定元素定义来定义派生类型。
消息 ID:ERROR_0126
此数据引用有多个部分为值确定的数组。在一个值确定的数组数据引用中,只能有一个值确定的数组部分。在下例中,A 和 B 都是数组:
A(1:4)%B(3:4) !非法的引用
消息 ID:ERROR_0127
位置参数跟在此实际参数列表中的参数关键字之后。
消息 ID:ERROR_0128
种类类型参数必须是 digit_string 或标量整型常量的名称。例如:
INTEGER, PARAMETER :: large = 8 REAL, PARAMETER :: rkind = 8.0 INTEGER :: ikind = 8 i = 123_8 ! 合法 i = 123_large !合法 i = 123_rkind ! 非法,rkind 不是整数类型。 i = 123_ikind ! 非法,ikind 不是命名的常量。
消息 ID:ERROR_0129
以下是每个类型的有效种类类型:
字符:1 整数:1、2、4、6、8 实数:4、8、16 复数:4、8、16 逻辑:1、2、4、8
消息 ID:WARNING_0130
具有非恒定边界的显形数组仅能在子例程、函数或描述子例程和函数的接口体中声明。编译器检测到具有非恒定边界的数组,但程序单元不是子例程或函数。
消息 ID:ERROR_0131
如果函数具有结果名称,则在将结果声明为目标时必须使用该结果名称。
消息 ID:ERROR_0132
如果在作用域单元中出现了省略 saved_entity_list 的 SAVE 语句,则在同一作用域单元中就不允许显式出现其他 SAVE 属性或 SAVE 语句。
消息 ID:ANSI_0133
Cray 指针是非标准的,其声明如下:POINTER(pointer,pointee)
Fortran 指针声明如下:POINTER [::] object-name
不能混合这两种类型的指针。
消息 ID:ANSI_0134
FORMAT 语句的语法为:
format_stmt 是 FORMAT format_specification
format_specification 是 ([format_item_list])
FORMAT 语句必须具有语句标签。
消息 ID:ERROR_0135
传递到命名例程的属性表索引无效。它具有错误的活动变量。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0136
EQUIVALENCE 列表中的项目少于两个。EQUIVALENCE 列表至少需要两个项目。
消息 ID:ERROR_0137
所列的表不能在此机器的字边界上排列。请检查以确保该表被分成 32 位的块,且该表的 NUM_...._WDS 宏被设置为正确的字数。
应避免产生此消息。这是一个错误的编译器或错误的安装。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题。
消息 ID:INTERNAL_0138
除了 UNIT、FMT 和 NML 说明符,用在 I/O 语句 OPEN、CLOSE、BACKSPACE、ENDFILE、REWIND 和 INQUIRE 中的所有参数必须用 keyword= 在参数前进行标识。UNIT 如果未用关键字指定,则必须为控制列表中的第一个项目。FMT 或 NML 说明符如果未用关键字指定,则必须为列表中的第二个项目;第一个项目必须为未用关键字指定的 UNIT。
消息 ID:ERROR_0139
如果所定义的派生类型中出现 SEQUENCE 语句,则所有在组件定义中指定的派生类型都必须为序列类型。编译器检测到不是序列类型的派生类型组件。
消息 ID:ERROR_0140
语句分析驱动程序调用了 parse_bad_stmt 例程。请检查起始标记和分析例程表标记。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0141
ASSIGN 语句或赋值 GO TO 语句具有标签变量 (scalar_int_variable),而该变量不是标量和/或缺省整数类型。ASSIGN 语句的语法是:
ASSIGN label TO scalar_int_variable赋值 GO TO 语句的语法是:
GO TO scalar_int_variable [ [,] (label_list) ]scalar_int_variable 必须是非限定名称;它不能是结构组件、数组元素或子串指示器。变量必须为缺省整数类型,且还必须为标量。
消息 ID:ERROR_0142
定义为具有非恒定长度的字符对象仅能在子例程、函数或接口体(描述子例程和函数)中声明。编译器检测到非恒定长度的字符对象,但是,子例程、接口体或函数中没有声明。
消息 ID:ERROR_0143
该语句试图将控制传输到非执行语句。仅能将控制传输到可执行的分支目标语句。
消息 ID:ERROR_0144
该语句试图将控制传输到不能用作分支目标的可执行语句。所有可执行语句都是分支目标,但除了:CASE、ELSE、ELSE IF、ELSE WHERE、END WHERE 和 IF-THEN。仅在限制的上下文中,允许将控制传输给一些执行语句:
-- 只从 CASE 构造内部分支转移到其 END SELECT 语句是允许的。
-- 应该只从 IF 构造内部将控制传输到 END IF 语句。将控制传输到 IF 构造外的 END IF 语句是一个过时特征。
-- 应该只从 DO 构造内部将控制传输到 DO 循环终止语句。对于共享公共循环终止语句的嵌套 DO 循环,应该只从 DO 构造的最深层将控制传输到该循环终止语句。
这些特定条件的违规情况由其他消息诊断。
消息 ID:ERROR_0145
语句标签仅能在作用域单元中定义一次。编译器在指定行发现该语句标签的另一个定义。
消息 ID:ERROR_0146
该语句试图将控制传输到 WHERE 构造的 WHERE 块或 ELSEWHERE 块中的语句。在 WHERE 构造中,只有 WHERE 构造语句本身可以是分支目标。
消息 ID:ERROR_0147
错误语句试图从 CASE 构造外部或同一 CASE 构造内的另一个 CASE 块将控制传输到 CASE 块。不允许从 CASE 块的外部将控制传输到其内部。
消息 ID:ERROR_0148
不是从其 IF 构造外分支转移到 END IF 语句,而是分支转移到 END IF 跟有的语句。如果跟随 END IF 的语句不是有效的分支目标语句,那么可能要求更改程序逻辑。
过时特征是 FORTRAN 77 的多余特征,在 Fortran 中还有更好的方法。ANSI Fortran 委员会建议程序员在新程序中使用首选方法并将现有代码转换为首选方法。如果在 Fortran 程序中过时特征的使用已经不重要,将来的 Fortran 标准委员会考虑将其从此标准中删除。
消息 ID:COMMENT_0149
错误语句试图将控制传输到 END DO 语句,但由标记 END DO 终止的块 DO 构造中没有分支转移语句。允许从 DO 构造内部转移到其 END DO 语句。
消息 ID:ERROR_0150
派生类型名称是在可执行语句中,但未用作派生类型的构造函数。
消息 ID:ERROR_0151
此屏蔽数组赋值决定了已定义的赋值。
消息 ID:ERROR_0152
错误语句试图将控制传输给 END SELECT 语句,但由标记 END SELECT 终止的 CASE 构造的 CASE 块中没有分支转移语句。允许只从 CASE 构造内部转移到其 END SELECT 语句。
消息 ID:ERROR_0153
该语句正在将控制传输到 DO 循环体或 DO 循环终止语句,但该循环中没有分支转移语句。在含有公共终止语句的嵌套循环中,仅能从最深层循环将控制传输到公共终止语句。
消息 ID:WARNING_0154
Fortran 标准不允许从循环的外部将控制传输到 DO 循环体或 DO 循环终止语句。
消息 ID:ANSI_0155
该语句正在从 IF 构造外部或 IF 构造中的另一个块中将控制传输到 THEN、ELSE 或 ELSE IF 块。不允许将控制从块的外部传输到其内部。
消息 ID:WARNING_0156
Fortran 标准不允许从 IF 构造外部或 IF 构造中的另一个块中将控制传输给 THEN、ELSE IF 或 ELSE 块。
消息 ID:ANSI_0157
未命名的块数据程序单元不能在其 END 语句中指定名称。在 END BLOCK DATA 语句中,编译器检测到未命名块数据程序单元的名称。
消息 ID:ERROR_0158
编译器检测到多个用于此 CASE 构造的 CASE DEFAULT 语句。每个 CASE 构造只允许有一个 CASE DEFAULT 语句。
消息 ID:ERROR_0159
出现了以下错误之一:
-- 编译器在已指定块索引的块栈中发现未知块。块栈中决不应有未知块。
-- 该块栈含有一个后面没有紧跟 IF_THEN_BLK、IF_ELSE_IF_BLK 或 IF_ELSE_BLK 的 If_Blk。
-- blk_stk_idx = NULL_IDX。块栈应该始终含有作为第一入口的程序单元块。
-- 当前块是 If_Then_Blk、If_Else_If_Blk 或 If_Else_Blk,但前面的块入口不是 If_Blk。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0160
字符常量正在用于不允许使用字符常量但允许使用霍尔瑞斯常量的上下文中。这是 Fortran 标准的一个扩展。在算术和逻辑表达式以及等号左侧为整数或实数类型实体的赋值语句中,允许使用霍尔瑞斯常量。在 I/O 语句的控制信息列表中将文本字符串用作文件标识符时,也会出现此消息。
消息 ID:ANSI_0161
以下语句允许在 IF 构造的 ELSE IF 之后:
ALLOCATE ASSIGN BACKSPACE BUFFER CALL CLOSE CONTINUE DATA DEALLOCATE DECODE DO ENCODE ENDFILE ENDIF ELSE ELSEIF FORMAT GOTO IF INQUIRE NAMELIST NULLIFY OPEN PAUSE PRINT READ RETURN REWIND SELECT STOP WHERE WRITE assignment
如果满足所列条件,则允许包含下列语句。
-- CASE、END SELECT,位于 CASE 构造中
-- ELSEWHERE、END WHERE,位于 WHERE 构造中
-- CYCLE、EXIT、END DO,位于 DO 构造中
消息 ID:ERROR_0162
IF 构造的 ELSE 块中允许包含以下语句:
ALLOCATE ASSIGN BACKSPACE BUFFER CALL CLOSE CONTINUE DATA DEALLOCATE DECODE DO ENCODE ENDFILE ENDIF ELSE ELSEIF FORMAT GOTO IF INQUIRE NAMELIST NULLIFY OPEN PAUSE PRINT READ RETURN REWIND SELECT STOP WHERE WRITE assignment
如果满足所列条件,则允许包含下列语句。
-- CASE、END SELECT,位于 CASE 构造中
-- ELSEWHERE、END WHERE,位于 WHERE 构造中
-- CYCLE、EXIT、END DO,位于 DO 构造中
消息 ID:ERROR_0163
内部过程中不允许包含以下语句:
CONTAINS TASK COMMON PUBLIC PRIVATE
下列语句必须位于接口块、作用域单元或构造内才能出现在内部子程序中。
-- SEQUENCE、END TYPE,位于派生类型定义中
-- MODULE PROCEDURE,位于通用接口块中
-- ELSE、ELSEIF、END IF,位于 IF 构造中
-- CASE、END SELECT,位于 CASE 构造中
-- ELSEWHERE、END WHERE,位于 WHERE 构造中
-- CYCLE、EXIT、END DO,位于 DO 构造中
-- FUNCTION、SUBROUTINE、END INTERFACE,位于接口块中
消息 ID:ERROR_0164
模块过程中不允许包含以下语句:
PUBLIC PRIVATE TASK COMMON
下列语句必须位于接口块、作用域单元或构造内才能出现在模块过程中:
-- SEQUENCE、END TYPE,位于派生类型定义中
-- MODULE PROCEDURE,位于通用接口块中
-- ELSE、ELSEIF、END IF,位于 IF 构造中
-- CASE、END SELECT,位于 CASE 构造中
-- ELSEWHERE、END WHERE,位于 WHERE 构造中
-- CYCLE、EXIT、END DO,位于 DO 构造中
-- FUNCTION、SUBROUTINE、END INTERFACE,位于接口块中
消息 ID:ERROR_0165
此格式说明有无法识别的字符,它们超出了格式说明的末尾。以下语句会导致发出此消息:
10 FORMAT(1X,A8) X6 ! 非法
消息 ID:ERROR_0166
不正确的字段宽度与 E、F、D、G、I、Z 或 O 编辑描述符一起使用。在以下编辑描述符中,w 必须大于或等于 d:
Ew.d Ew.dEe Fw.d Gw.d Gw.dEe Dw.d对于下列编辑描述符,w 必须大于或等于 m。
Iw.m Bw.m Ow.m Zw.m
消息 ID:WARNING_0167
空格式说明出现在另一格式说明中。Fortran 标准要求格式说明是以下格式:
([format_item_list])
format_item_list 是以下格式的项目列表:
[r] data_edit_desc control_edit_desc [r] char_string_edit_desc (format_item_list)
r 是非零、无符号整型常量。
消息 ID:ANSI_0168
此格式说明有两个没有用逗号分隔的连续格式描述符。Fortran 标准要求在格式说明的项目之间加逗号。Fortran 标准允许在以下位置省略逗号:
-- P 描述符和其后面紧跟的 F、E、D 或 G 描述符之间
-- 斜线前后
-- 冒号前后
消息 ID:ANSI_0169
此格式说明中逗号之后跟随另一逗号,或逗号之后跟随一个右括号。Fortran 标准不允许逗号位于右括号之前。
消息 ID:ANSI_0170
构造名称仅能在作用域单元中定义一次。编译器在指定行发现此构造名称的定义。
消息 ID:ERROR_0171
ASSIGN 语句中的赋值变量名必须为简单变量名。该名称既不能包含结构组件的限定也不能由下标列表或子串范围限定。
消息 ID:ERROR_0172
编译器要求名称列表组名跟随在 NML 说明符之后。
消息 ID:ERROR_0173
遇到了以下格式的 WRITE 语句:
WRITE f [,iolist]
此格式的 WRITE 语句没有控制信息列表,是 Fortran 标准的一个扩展。
消息 ID:ANSI_0174
在 IMPLICIT 语句中,如果显式说明列表是:letter1 - letter2,则 letter2 必须按字母顺序跟随在 letter1 之后。
消息 ID:ERROR_0175
如果在过程的范围内已经指定 IMPLICT NONE,则不允许其他的 IMPLICIT 语句。
消息 ID:ERROR_0176
在作用域单元的 IMPLICIT 语句中,字母仅能被指定一次。例如:
IMPLICIT INTEGER (A) IMPLICIT REAL (A,B) ! 非法这是非法的,因为已经在先前的 IMPLICIT 语句中指定了 A。
消息 ID:ERROR_0177
如果维数说明有声明错误,则数组类只能为 Unknown_Array。在 parse_array_spec 末尾检测到该问题。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0178
处理开关语句时,进入了不该进入的条件。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0179
在表中查找的名称在当前范围内不应找到(例如程序单元名和伪参数标识符)。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0180
编译器检测到 WHERE 语句中的屏蔽表达式是标量表达式。它必须为值确定的数组表达式。
消息 ID:ERROR_0181
在斜线编辑描述符之前发现重复计数。此重复计数的使用是 Fortran 标准的一个扩展。
消息 ID:ANSI_0182
CASE 构造中允许包含以下语句,这些语句应跟在 CASE 语句之后:
ALLOCATE ASSIGN BACKSPACE BUFFER CALL CLOSE CONTINUE DATA DEALLOCATE DECODE DO ENCODE ENDFILE ENDIF ELSE ELSEIF FORMAT GOTO IF INQUIRE NAMELIST NULLIFY OPEN PAUSE PRINT READ RETURN REWIND SELECT STOP WHERE WRITE assignment
如果满足所列条件,则允许包含下列语句。
-- CASE、END SELECT,位于 CASE 构造中
-- ELSEWHERE、END WHERE,位于 WHERE 构造中
-- CYCLE、EXIT、END DO,位于 DO 构造中
消息 ID:ERROR_0183
如果递归函数的结果是数组,为了递归调用,它必须具有已声明的结果名称。如果未指定结果名称,则对函数名称的引用就是对该结果变量的引用。这样就不能在此函数范围内递归调用其本身。例如:
RECURSIVE FUNCTION IARRAY(I) RESULT(I_RESULT) REAL, DIMENSION :: I_RESULT(100) ... ! 以下对 I_RESULT 的引用 ! 是对结果变量的第 10 个元素 ! 的引用。 X = I_RESULT(10) ! 以下对 IARRAY 的引用 ! 是对函数的递归引用 Y = IARRAY(10) END FUNCTION
消息 ID:CAUTION_0184
如果函数入口具有结果名称,则在设定或指定该函数结果的属性时必须使用结果名称。
消息 ID:ERROR_0185
编译器正在查找 END 关键字之后的以下字符串之一:BLOCK DATA、MODULE、PROGRAM、SUBROUTINE、FUNCTION、INTERFACE、TYPE、IF、DO、SELECT、WHERE 或 "EOS"。编译器没有找到相应的字符串。
消息 ID:ERROR_0186
Fortran 标准要求组件声明语句的 POINTER 和/或 DIMENSION 属性说明之后跟 :: 分隔符。例如:
TYPE :: NEW_TYPE INTEGER, POINTER :: A ! 合法 REAL, DIMENSION(100) B ! 非法 END TYPE
消息 ID:ERROR_0187
派生类型的每个组件都必须有唯一的名称。该名称已经是此派生类型的组件名称。
消息 ID:ERROR_0188
如果组件具有 POINTER 和 DIMENSION 属性,则其维数必须为延迟形维数。
消息 ID:ERROR_0189
如果组件有 DIMENSION 属性,但没有 POINTER 属性,则 DIMENSION 必须为带有恒定边界的显形定义。
消息 ID:ERROR_0190
组件定义的字符长度必须为常量表达式。
消息 ID:ERROR_0191
为非字符类型组件或数据对象指定了 "*char_length"。
消息 ID:ERROR_0192
在符号表字段中发现的值无效。它是由于下列原因生成的:
-- 在 AT_TYPE 中发现超出结构外的某些内容。
-- 发现一个函数,其在 ATP_RSLT_IDX 中有 NULL_IDX。
-- 如果对于一个派生类型,计数非零,则必须设置 ATO_CHAR_CPNT、ATO_POINTER_CPNT 或 ATO_NUMERIC_CPNT。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0193
迭代 DO 语句具有以下格式:
DO [label] [,] do_variable = scalar_numeric_expr, scalar_numeric_expr [, scalar_numeric_expr]DO 变量必须是一个命名标量变量;例如,它不能是一个函数名或命名常量名。
消息 ID:ERROR_0194
所有屏蔽赋值语句必须与屏蔽表达式的形式相匹配。
消息 ID:ERROR_0195
符号表搜索例程经过优化并对所搜索项大小有限制。调用此例程来搜索超出例程限制的项。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0196
此语句的语法不正确。在分析期间,编译器在查找一项内容,但却找到了其他内容。这是一个分析器使用的常见消息。
消息 ID:ERROR_0197
INTRINSIC 语句的语法是:
INTRINSIC intrinsic_procedure-name_list
EXTERNAL 语句的语法是:
EXTERNAL external_name_list
消息 ID:ERROR_0198
迭代 DO 语句具有以下格式:
DO [label] [,] do_variable = scalar_numeric_expr, scalar_numeric_expr [, scalar_numeric_expr]
DATA 语句、某些 I/O 语句和数组构造函数必须包含隐含 DO 语句。隐含 DO 语句的格式是:
(data_i_do_object_list, data_i_do_variable = scalar_int_expr, scalar_int_expr [, scalar_int_expr]) (io_implied_do_object_list, do_variable = scalar_numeric_expr, scalar_numeric_expr [, scalar_numeric_expr]) (ac_value_list, ac_do_variable = scalar_int_expr, scalar_int_expr [, scalar_int_expr])DO 语句和 I/O 语句的 DO 变量、DATA 语句的 data_i_do_variable 和数组构造函数的 ac_do_variable 都称为“DO 变量”。在每种情况下,DO 变量必须是命名变量;即必须是一个简单的非限定名。例如,不能包含下标列表或结构组件分隔符 "%"。
消息 ID:ERROR_0199
格式说明包含一个对 Fortran 标准扩展的编辑描述符。以下非标准编辑描述符可被编译器接受:
消息 ID:ANSI_0200
ALLOCATE 语句中的所有参数必须事先声明为指针或可分配数组。
消息 ID:ERROR_0201
在 ALLOCATE 或 DEALLOCATE 语句中用作状态变量的变量 STAT = stat_variable 不能是数组,该变量必须是整数类型。
消息 ID:ERROR_0202
在 ALLOCATE 语句中没有必须跟随状态变量的分配项。STAT = stat_variable 必须是列表中的最后一项。
消息 ID:ERROR_0203
使用了格式为 a(s[,s]...) 的数组引用。引用中的下标数应等于在 DIMENSION、COMMON、POINTER 或类型语句中为数组声明的维数。作为对 Fortran 标准的扩展,编译器允许数组引用指定小于声明维数的下标数。在此情况下,使用还未指定的维数的下界。
消息 ID:ERROR_0204
在未提供分配形式规范列表的 ALLOCATE 语句中试图分配数组。分配形式规范列表的语法是
[下界:] 上界
消息 ID:ERROR_0205
Fortran 标准要求如果在常量初始化表达式中使用了求幂,则该幂必须具有整数指数。
消息 ID:ERROR_0206
例程 reset_src_input 试图将源输入索引重新设置为一个在源输入缓冲区中不再有效的行号。源输入只应在当前行上被重新设置。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0207
Cray 指针被用作一个 DO 变量。对 Cray 指针的支持是 Fortran 标准的一个扩展。
消息 ID:ANSI_0208
替换返回伪参数 (*) 没有与其相匹配的标签实际参数。
消息 ID:ERROR_0209
编译器检测到对此对象的非法使用。如果要在初始化表达式中使用,对象必须是常量。常量只可能有的属性是 PARAMETER、PRIVATE 或 PUBLIC。常量必须指定为显式类型并且可声明为显形数组。
消息 ID:ERROR_0210
此固定源格式的续行未跟随在一个正规源行之后。此错误消息在程序第一行为续行时出现。
消息 ID:ERROR_0211
出错的对象后面跟随一个结构组件名分隔符 (%),但该对象未声明为派生类型。
消息 ID:ERROR_0212
在分析组件引用时,编译器检测到未声明为派生类型组件的名称。
消息 ID:ERROR_0213
编译器将在超出允许的致命错误最大数量时终止。最大数量被设置为 100。使用命令行选项 -dq 可更改此设置。-dq 选项允许不限制致命错误的数量。
消息 ID:LIMIT_0214
如果语句函数的伪参数为字符型,那么其长度必须为整型常量表达式。编译器检测到语句函数伪参数类型为字符型,但其长度为假定长度或变量长度。
消息 ID:ERROR_0215
编译器检测到不适合机器字的字符串。预期应该是数据集名或整型表达式。数据集名是 I/O 语句中控制信息列表内的外部文件标识符。
消息 ID:ERROR_0216
DO 语句的 loop_control 部分中的每个表达式都必须为数值并且为整数、缺省实数或双精度实数类型。缺省实数或双精度实数类型的 DO 循环表达式是一个过时特征。整数类型为首选。
消息 ID:ERROR_0217
实数或双精度实数 DO 循环表达式是一个过时特征。(过时特征是 FORTRAN 77 的多余特征,在 Fortran 中还有更好的方法。)整数类型的表达式应用来替代类型为缺省实数或双精度实数的 DO 循环表达式。
消息 ID:COMMENT_0218
DO 语句的 DO 变量必须为数值并且为整数、缺省实数或双精度实数类型。对缺省实数或双精度实数类型的 DO 变量的使用是一个过时特征。整数类型为首选。
消息 ID:ERROR_0219
过时特征是 FORTRAN 77 的多余特征,在 Fortran 中还有更好的方法。整数类型的 DO 变量应被用来替换类型为缺省实数或双精度实数的 DO 变量。
消息 ID:COMMENT_0220
Fortran 标准要求所有的边界表达式为整型。
消息 ID:ANSI_0221
在以下格式的 DO 语句中
DO [label] [,] do_variable = scalar_numeric_expr, scalar_numeric_expr [, scalar_numeric_expr]
每个 scalar_numeric_expr 都必须是标量。
在以下格式的 DO 语句中
DO [label] [,] WHILE(scalar_logical_expr)scalar_logical_expr 必须是标量。
消息 ID:ERROR_0222
在以下格式的 DO 语句中
DO [label] [,] do_variable = scalar_numeric_expr, scalar_numeric_expr [, scalar_numeric_expr]
do_variable 必须是标量。
消息 ID:ERROR_0223
有两个由编译器生成的表达式树作为 DO 语句表示的一部分:迭代计数计算和 DO 变量的求值计算。这两个计算都只涉及已建立的编译器临时变量。语义分析只用来在表达式树中向上传送数据类型等,因此语义分析不应失败。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0224
此消息后面总是跟随一个内部消息并且编译器终止。
此消息由调试编译主初始化时调用的调试例程发出。此例程仔细检查语义表并确认标志和消息相一致。所涉及的表为:
检验两个表中的条目并改变其中一个或另一个表以使两个表一致。如果发出此消息,组合将被在表中标记为错误,但没有为表中的组合指定的错误消息。
消息 ID:ERROR_0225
如果在语义表中 verify_semantic_tbls 发现任何问题,将生成此内部错误。每个问题都生成致命错误。此最终内部错误在最后生成以停止编译。
应避免产生此消息。这是一个错误的编译器或错误的安装。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题。
消息 ID:INTERNAL_0226
此消息后面总是跟随一个内部消息并且编译器终止。
此消息由调试编译主初始化时调用的调试例程发出。它仔细检查语义表并确认标志和消息相一致。所涉及的表为:
检验两个表中的条目并改变其中一个或另一个表以使两个表一致。如果生成了此消息,则组合是合法的,但表中有此组合的错误消息。
消息 ID:ERROR_0227
BUFFER IN 或 BUFFER OUT 语句包含不正确的模式说明符。在以下语句中,模式说明符 m 必须为整型表达式:
BUFFERIN (id,m) (bloc,eloc) BUFFEROUT (id,m) (bloc,eloc)模式说明符不能是数组表达式。
消息 ID:ERROR_0228
I/O 语句包含不正确的单元或文件标识符。
单元标识符可以是以下之一:
-- 一个取值范围为 0 至 101 的整型表达式。
-- 一个表示缺省单元的星号。
单元标识符可以是以下之一:
-- 一个字符变量、数组元素、数组或指定一个内部文件的子串。
-- 一个使用撇号括起、最多包含 7 位字母数字字符并指定一个外部文件名的字符串。
消息 ID:ERROR_0229
BUFFER IN 或 BUFFER OUT 语句包含不正确的模式说明符。在以下语句中,模式说明符 m 必须为整型表达式:
BUFFERIN (id,m) (bloc,eloc) BUFFEROUT (id,m) (bloc,eloc)
模式说明符不能是数组表达式。
消息 ID:ERROR_0230
I/O 语句中控制信息列表内的外部文件标识符超过了 7 个字符。在 Cray Research 通用(64 位)体系结构中,文件标识符必须由 1 至 7 个数字字母字符组成。在 32 位体系结构中,限制为 4 个字符。
消息 ID:ERROR_0231
设置 IMPLICIT NONE 时,所有函数必须具有显式类型。
消息 ID:ERROR_0232
在主机范围内设置 IMPLICIT NONE 时,所有函数必须具有显式类型,包括任何包含范围中的函数。
消息 ID:ERROR_0233
在以下格式的 DO 语句中:
DO [label] [,] WHILE (scalar_logical_expr)
scalar_logical_expr 必须是逻辑类型。
消息 ID:ERROR_0234
如果一个派生类型最终包含了一个指针组件,那么此类型的对象既不能作为一个 I/O 输入项也不能作为 I/O 输出列表项的求值结果出现。
消息 ID:ERROR_0235
为了完成一个编译器生成的 CONTINUE 语句,continue_stmt_semantics 将搜索跟在当前语句标题 (statement header, SH) 后面的不是由编译器生成并具有非零行号的语句标题。当遇到语句标题链的结束但未发现满足以上标准的一个语句标题时,将生成此内部错误消息。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0236
出现内部错误条件,因为一个内部表对于其索引字段大小来说变得太大。通常,这是由于程序太大,以致编译器无法处理而导致的。将您的代码分解为几个编译单元可使编译成功完成。
请通知您的产品支持组织以便我们检验是否达到了编译器的限制。
消息 ID:LIMIT_0237
编译器检测到通过类型声明语句或 IMPLICIT 语句试图重新设定命名常量的类型。只有在类型符合对象的隐式类型时,这种做法才合法。
PARAMETER (A = 3.0) INTEGER A ! 非法 PARAMETER (I = 4) INTEGER I ! 合法 PARAMETER (I = 4) IMPLICIT INTEGER (I) ! 合法 PARAMETER (I = 4) IMPLICIT CHARACTER (I) ! 非法
消息 ID:ERROR_0238
编译器检测到试图重新设定已初始化对象的类型。只有在类型符合对象的隐式类型时,这种做法才合法。
DATA A /3/ INTEGER A ! 这是非法的 DATA I /3/ INTEGER I ! 合法
消息 ID:ERROR_0239
在数组维数约束声明符或字符长度声明符中允许外部函数调用是 Fortran 标准的一个扩展。这些函数不能具有值确定的数组或值确定的指针结果。
消息 ID:ERROR_0240
过时特征是 FORTRAN 77 的多余特征,在 Fortran 中还有更好的方法。非块 DO 构造是一个过时特征。如果一个 DO 语句包含一个标签,并且循环终止语句不是 END DO 或 CONTINUE,那么该循环就定义为非块 DO 构造。应使用 CONTINUE 或 END DO 语句来终止一个 DO 循环。如果多个 DO 循环使用相同的语句终止,那么单独的 CONTINUE 或 END DO 语句应被用来终止每个嵌套 DO 循环。
消息 ID:COMMENT_0241
如果一个 DO 语句包含一个标签,并且循环终止语句不是 END DO 或 CONTINUE,那么该循环就定义为非块 DO 构造。无条件 GO TO 语句不能用作非块 DO 构造的终止语句。
消息 ID:ERROR_0242
如果一个 DO 语句包含一个标签,并且循环终止语句不是 END DO 或 CONTINUE,那么该循环就定义为非块 DO 构造。赋值 GO TO 语句不能用作非块 DO 构造的终止语句。
消息 ID:ERROR_0243
如果一个 DO 语句包含一个标签,并且循环终止语句是 action_stmt 而不是 END DO 或 CONTINUE,那么该循环就定义为非块 DO 构造。以下 action_stmt 不能用作非块 DO 构造的终止语句:RETURN、STOP、EXIT、CYCLE、END FUNCTION、END SUBROUTINE、END PROGRAM 或算术 IF。
消息 ID:ERROR_0244
实际参数数量大于分配的内部表大小。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0245
如果一个 DO 语句包含一个标签,并且循环终止语句不是 END DO 或 CONTINUE,那么该循环就定义为非块 DO 构造。过时的 IF 语句是间接逻辑 IF 语句或二叉算术 IF 语句。这些语句已经被能够增强 Fortran 程序可移植性的其他语句所代替。IF 构造或逻辑 IF 应被用来替换这些过时的格式。
消息 ID:ERROR_0246
等价项中的每个下标或子串表达式必须是标量整型常量表达式。
消息 ID:ERROR_0247
DO 语句指定的终止语句标签已在作用域单元中定义。按照定义,循环终止语句必须跟随 DO 语句。因此,此标签必须是在 DO 语句之后的一个语句上。
消息 ID:ERROR_0248
例程 fold_relationals 发现无效的操作数类型。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0249
EQUIVALENCE 语句中不允许分段数组引用。
消息 ID:ERROR_0250
调用例程 fold_relationals 来折叠不要显示的运算符。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0251
数组语法操作中的两个操作数必须在形式上相一致。具有常量下标的两个数组在形式上不一致。
消息 ID:ERROR_0252
当一个赋值语句采用数组语法时,其左右两侧必须在形式上相一致。
消息 ID:ERROR_0253
迭代 DO 语句具有以下格式:
DO [label] [,] do_variable = start_expr, end_expr [, inc_expr]
DO 循环的迭代数由下式计算:
MAX( INT( (end_expr - start_expr + inc_expr) / inc_expr), 0)
对于以下两种情况,迭代数是 0:
start_expr > end_expr and inc_expr > 0, or start_expr < end_expr and inc_expr < 0
如果迭代数为 0,那么循环将不执行。
消息 ID:CAUTION_0254
DO 语句包含值为 0 的增量表达式。它必须大于或小于 0。
消息 ID:ERROR_0255
具有 POINTER 属性的伪参数必须与具有 POINTER 属性的实际参数相匹配。
消息 ID:ERROR_0256
在符号表中发现意外值。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0257
假定形伪参数不能与假定大小实际参数相关联。
消息 ID:ERROR_0258
在边界规范表达式中允许函数引用是 Fortran 标准的一个扩展。递归函数引用在边界规范表达式中是不允许的。编译器检测到与下列示例类似的内容:
FUNCTION IFUNC() RECURSIVE IFUNC DIMENSION A(IFUNC())
对 IFUNC 的引用是非法的,因为边界表达式必须在入口点计算。
消息 ID:ERROR_0259
如果当前块类型大于 Interface_Body_Blk,过程 cif_begin_scope_rec 就会认为是这样的,因为这些块类型之一是主程序中的第一个语句。块栈已经被破坏,或者由于 cif_begin_scope_rec 做出不正确的假定而需要修正。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0260
函数子程序中不允许包含 PRIVATE 和 PUBLIC 语句。
以下语句必须位于接口块、作用域单元或构造内才能出现在函数子程序中。
-- SEQUENCE、END TYPE,位于派生类型定义中
-- MODULE PROCEDURE,位于通用接口块中
-- ELSE、ELSEIF、END IF,位于 IF 构造中
-- CASE、END SELECT,位于 CASE 构造中
-- ELSEWHERE、END WHERE,位于 WHERE 构造中
-- CYCLE、EXIT、END DO,位于 DO 构造中
-- FUNCTION、SUBROUTINE、END SUBROUTINE、END INTERFACE,位于接口块中
消息 ID:ERROR_0261
CYCLE 和 EXIT 语句必须在 DO 构造范围内指定。如果 CYCLE 或 EXIT 语句引用了 DO 构造名,那么它必须在具有相同 DO 构造名的 DO 构造范围之内。
消息 ID:ERROR_0262
语义传递中将语义处理应用到每个语句的驱动程序从函数指针数组中选择适当的语义例程。数组中的索引无效。它必须是正值,但可能是 0 或负值。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0263
CONTAINS 语句后只允许是 SUBROUTINE、FUNCTION 和 END 语句。SUBROUTINE 和 FUNCTION 开始一个新的内部或模块子程序。
消息 ID:ERROR_0264
Fortran 标准要求所有的 NAMELIST 语句处于程序单元的规范部分。允许 NAMELIST 语句散布在可执行语句之间是 Fortran 标准的一个扩展。但是,名称列表组的所有定义必须在对名称列表组的引用之前完成。
消息 ID:ANSI_0265
使用带有 X 编辑描述符的负值是 Fortran 标准的一个扩展。
消息 ID:ANSI_0266
IF 构造允许包含以下语句:
ALLOCATE ASSIGN BACKSPACE BUFFER CALL CLOSE CONTINUE DATA DEALLOCATE DECODE DO ENCODE ENDFILE ENDIF ELSE ELSEIF FORMAT GOTO IF INQUIRE NAMELIST NULLIFY OPEN PAUSE PRINT READ RETURN REWIND SELECT STOP WHERE WRITE assignment
如果满足所列条件,则允许包含下列语句。
-- CASE、END SELECT,位于 CASE 构造中
-- ELSEWHERE、END WHERE,位于 WHERE 构造中
-- CYCLE、EXIT、END DO,位于 DO 构造中
消息 ID:ERROR_0267
DO 构造中允许包含以下语句:
ALLOCATE ASSIGN BACKSPACE BUFFER CALL CLOSE CONTINUE DATA DEALLOCATE DECODE DO ENCODE ENDFILE ENDIF ELSE ELSEIF FORMAT GOTO IF INQUIRE NAMELIST NULLIFY OPEN PAUSE PRINT READ RETURN REWIND SELECT STOP WHERE WRITE assignment
下列语句允许位于列出的构造中。
-- CASE、END SELECT,位于 CASE 构造中
-- ELSE、ELSEIF、END IF,位于 IF 构造中
-- ELSEWHERE、END WHERE,位于 WHERE 构造中
消息 ID:ERROR_0268
SELECT CASE 语句后只能跟 CASE 语句。编译器发现 SELECT CASE 语句后有其他语句(不是 CASE 语句)。
消息 ID:ERROR_0269
WHERE 构造的 WHERE 块或 ELSEWHERE 块中只允许包含数组赋值语句。编译器在 WHERE 或 ELSEWHERE 块中发现其他语句(不是数组赋值语句)。
消息 ID:ERROR_0270
接口体中允许包含以下语句:
如果满足所列条件,则允许包含下列语句:
-- SEQUENCE、END TYPE,位于派生类型定义中
-- PUBLIC、PRIVATE,位于模块程序单元中
消息 ID:ERROR_0271
子例程子程序中不允许包含 PRIVATE 和 PUBLIC 语句。
这些语句必须位于接口块、作用域单元或构造内才能出现在子例程子程序中。
-- SEQUENCE、END TYPE,位于派生类型定义中
-- MODULE PROCEDURE,位于通用接口块中
-- ELSE、ELSEIF、END IF,位于 IF 构造中
-- CASE、END SELECT,位于 CASE 构造中
-- ELSEWHERE、END WHERE,位于 WHERE 构造中
-- CYCLE、EXIT、END DO,位于 DO 构造中
-- FUNCTION、END FUNCTION、SUBROUTINE、END SUBROUTINE、END INTERFACE,位于接口块中
消息 ID:ERROR_0272
一个组件只能指定一次属性。多次为组件指定 DIMENSION 或 POINTER 属性,如下所示:
TYPE :: ABC REAL, POINTER, POINTER :: IJK ! 非法 END TYPE ABC
消息 ID:ERROR_0273
在 Fortran 中,限定表达式允许基本函数引用。内在过程的每个参数都必须为整数或字符类型。如果表达式结果为整数或字符类型,编译器允许参数为整数或字符之外的其他类型。
消息 ID:ANSI_0274
只能为派生类型声明一次 PUBLIC 或 PRIVATE 属性。
消息 ID:ERROR_0275
编译器检测到此对象的非法使用。要在初始化表达式中使用,该对象必须是常量。
消息 ID:ERROR_0276
编译器检测到与被调用例程显式接口中的伪参数名不匹配的实际参数关键字。
消息 ID:ERROR_0277
语句级别语义处理驱动程序遇到一个语义标题,其中包含无语义例程语句的语句类型值。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0278
编译器检测到以下内容:
SUBROUTINE JOE() EXTERNAL JOE ! 这是非标准的 RETURN END
消息 ID:ANSI_0279
在 Fortran 中,规范表达式允许基本函数引用。内在过程的每个参数都必须为整数类型。只要表达式结果的类型为整数,编译器就允许参数类型为整数之外的其他类型。
消息 ID:ANSI_0280
此赋值语句左侧无效。这可能是由于对以下赋值所导致的:常量、外部子程序名、名称列表组名或除当前函数的变量或函数结果名外的其他实体。
消息 ID:ERROR_0281
类型可为假定长度字符的函数只有外部函数。如果函数是在一个接口块内声明的,那么其类型不能为假定长度的字符。接口块只能用于显式声明的外部子程序。
消息 ID:ERROR_0282
编译器检测到在 END 语句中指定的名称与程序单元或派生类型的名称不匹配。
以下语句的名称必须匹配:
PROGRAM/END PROGRAM program_name MODULE/END MODULE module_name BLOCKDATA/END BLOCK DATA block_data_name SUBROUTINE/END SUBROUTINE subroutine_name FUNCTION/END FUNCTION function_name TYPE/END TYPE type_name
消息 ID:ERROR_0283
如果 IF、DO 或 CASE 构造具有构造名,那么 END IF、END DO 或 END SELECT 语句必须指定相同的构造名。编译器检测到构造名之间有差异,或 END 语句缺少构造名。
消息 ID:ERROR_0284
如果 DO、IF 或 CASE 构造没有构造名,则相应的 END DO、END IF 或 END SELECT 语句也不能具有指定的构造名。
消息 ID:ERROR_0285
编辑器检测到下列情况之一:
TYPE :: INTEGER TYPE :: REAL TYPE :: DOUBLE PRECISION TYPE :: COMPLEX TYPE :: CHARACTER TYPE :: LOGICAL
以上均为非法,因为派生类型的类型名不能与任何内在类型的名称相同。
消息 ID:ERROR_0286
到达函数末尾,并且函数中未定义或指定函数返回值。必须在函数执行期间定义函数返回值。
消息 ID:WARNING_0287
编译器检测到此 DO 语句没有相应的终止语句。如果 DO 语句未指定标签,则 DO 循环必须使用 END DO 语句终止。如果 DO 语句指定了标签,则 DO 循环必须使用 END DO 语句或除下列语句外的任何活动语句终止:
无条件 GO TO 赋值 GO TO RETURN STOP EXIT CYCLE END FUNCTION END SUBROUTINE END PROGRAM 11:00 2007-6-29算术 IF
消息 ID:ERROR_0288
编译器找不到以此 END 语句结束的块的开始语句。以下 END 语句关闭相应的块:
END PROGRAM, MODULE, BLOCK DATA, FUNCTION, SUBROUTINE END PROGRAM PROGRAM END FUNCTION FUNCTION END SUBROUTINE SUBROUTINE END BLOCK DATA BLOCK DATA END MODULE MODULE END IF IF END DO DO END SELECT SELECT CASE END WHERE WHERE END INTERFACE INTERFACE END TYPE TYPE
消息 ID:ERROR_0289
编译器没有检测到声明为结束于此语句的派生类型的组件。派生类型定义的语法要求至少一个组件声明,如下所示:
derived_type_stmt [private_sequence_stmt]... component_def_stmt [component_def_stmt]... end_type_stmt
消息 ID:ERROR_0290
编译器检测到以下语法构造之一缺少其 END 语句:模块、块数据子程序、子例程子程序、函数子程序、IF 构造、DO 构造、CASE 构造、WHERE 构造、接口块、接口体或派生类型定义。END 语句要求所有这些内容。
消息 ID:ERROR_0291
编译器无法定位在 USE 语句中指定的模块名。编译器搜索了所有在当前程序单元之前指定的模块。如果编译器仍找不到该模块,将搜索在 -p 命令行选项中指定的所有文件。
消息 ID:ERROR_0292
编译器检测到文件提前结束。主程序单元必须由 END 语句终止。未命名主程序单元指没有使用 PROGRAM、SUBROUTINE、FUNCTION、MODULE 或 BLOCKDATA 语句作为其第一个语句的程序单元。
消息 ID:ERROR_0293
如果对象出现在 EQUIVALENCE 语句中,并且是派生类型,则该对象必须是序列派生类型。
消息 ID:ERROR_0294
例程具有内置假定 - 先行字符是指定字符。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0295
所有消息(除了输出为标准错误的日志消息)必须具有非零的行号。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0296
当在主机范围内指定 IMPLICIT NONE 时,所有数据对象必须具有显式类型,包括任何包含范围中的数据对象。
消息 ID:ERROR_0297
如果在作用域单元中指定了 IMPLICIT NONE 语句,则在此作用域单元中不能有其他 IMPLICIT 语句。
消息 ID:ERROR_0298
在函数声明指定独立函数结果变量后,试图为函数名(函数结果变量)赋值。必须使用此结果变量。
消息 ID:ERROR_0299
编译器检测到运算符 =、=> 或 % 被用作 OPERATOR(defined_operator) 中的 defined_operator。有效 defined_operator 为:
** * / + - // .EQ. .NE. .LT. .LE. .GT. .GE. == /= < <= > >= .NOT. .AND. .OR. .EQV. .NEQV. defined-unary-op defined-binary-op
注意:defined-unary-op 和 defined-binary-op 是 .letter[letter]...。
消息 ID:ERROR_0300
因为未创建二进制输出文件,所以将不创建模块信息文件。模块信息文件在该二进制文件中,因此不可写入。在命令行指定 -dB 或生成汇编语言文件,将使此二进制文件无法生成。
消息 ID:WARNING_0301
数组语法表达式中的二进制运算符的等级必须一致。这意味着等级必须相等,或者一个或两个操作数必须为标量。
消息 ID:ERROR_0302
表达式的两个操作数所属数据类型对于正在使用的运算符非法。
消息 ID:ERROR_0303
此格式说明包含不对称的括号。
消息 ID:ERROR_0304
格式说明包含不对称的括号。左括号多于右括号。
消息 ID:ERROR_0305
格式说明中使用了不完整的编辑描述符。在指定以下编辑描述符时必须严格遵循格式:
Ew.d Ew.dEe Fw.d Gw.d Gw.dEe Dw.d Dw.dEe Iw Iw.m Bw Bw.m Ow Ow.m Zw Zw.m Rw Lw kP -kP +kP Tc TLc TRc -nX不能省略值 w、d、m、k、n 和 c。
消息 ID:ERROR_0306
编译器要求此处为句点。这些编辑描述符必须依照以下格式:
Ew.d Ew.dEe Fw.d Gw.d Gw.dEe Dw.d
消息 ID:ERROR_0307
编译器发现了 -n(其中 n 是整数)并认为其后为 P 或 X;或编译器发现了 +n 并认为其后为 P。
消息 ID:ERROR_0308
不可重复编辑描述符与重复计数一起使用。以下编辑描述符不能重复:
kP 比例因子 " 文本字符串 ' 文本字符串 BN 被忽略的空格 BZ 视为 0 的空格 : 终止格式控制 Tn 定位 TLn TRn nX 间距 $ 回车控制 SP 加法符号 S 加法符号 SS 加法符号
消息 ID:ERROR_0309
对于此格式说明,重复计数无效。格式说明必须为以下格式:
([format_item_list])
format_item_list 是以下格式的项目列表:
[r] data_edit_desc control_edit_desc char_string_edit_desc [r] (format_item_list)
r 是非零、无符号整型常量。
消息 ID:ERROR_0310
编译器在编辑描述符上发现 0 字段宽度或指数宽度。在以下编辑描述符中,值 w 和 e 不能为 0:
Ew.d Ew.dEe Fw.d Gw.d Gw.dEe Dw.d Dw.dEe Iw Iw.m Aw Ow Ow.m Zw Zw.m Rw Lw
消息 ID:ERROR_0311
对于可重复编辑描述符,字段总宽度和十进制数字段宽度允许的最大值为 16,777,215。指数字段宽度允许的最大值为 63。重复计数允许的最大值为 2,147,483,647。
消息 ID:ERROR_0312
H 编辑描述符与不适当的字符数值一起使用。用于输出霍尔瑞斯字符串的 H 编辑描述符必须依照以下格式:
nH
n 必须为非零正整数。
消息 ID:ERROR_0313
此格式说明包含未知编辑描述符。
消息 ID:ERROR_0314
H 编辑描述符指定了大于语句长度的字符数。例如,以下语句将导致发出此消息:
10 FORMAT(100HABCDEFGHIJ)
消息 ID:ERROR_0315
在 I/O 语句中布尔类型的常量不允许作为输入或输出列表项。布尔常量为霍尔瑞斯常量或十六进制、八进制或二进制常量。一些示例包括
4habcd "abcd"R 77b x"a77"
消息 ID:ERROR_0316
以下点运算符是 Fortran 标准的扩展。
.A. (.AND. 的同义字) .N. (.NOT. 的同义字) .O. (.OR. 的同义字) .X. (.NEQV. 的同义字) .XOR.
扩展点运算符不允许用作已定义的运算符。
消息 ID:ANSI_0317
编译器检测到未声明为定义运算符并且不是内点运算符的点运算符。
消息 ID:ERROR_0318
在数组引用或下标三元组数组引用中,编译器检测到不是标量整型表达式的下标。
消息 ID:ERROR_0319
编译器检测到数组引用中有等级大于 1 的向量下标。
消息 ID:ERROR_0320
第二个下标不能从假定大小数组最后一维的下标三元组中省略。
消息 ID:ERROR_0321
应该是带括号的列表,但未找到。出错的对象是派生类型名或是对内部函数的前向引用。
消息 ID:ERROR_0322
编译器检测到不是标量整型表达式的子串范围。
消息 ID:ERROR_0323
除非有允许这样做的扩展赋值,否则,赋值语句两侧的等级必须一致,或右侧必须是 0 级表达式。
消息 ID:ERROR_0324
例程 get_dummy_arg_type 的调用使用了无效参数。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0325
赋值语句的左侧是命名常量或命名常量的子对象。
消息 ID:ERROR_0326
IACHAR 和 ICHAR 的实际参数长度必须等于 1。
消息 ID:ANSI_0327
正在需要 FORMAT 语句标签的上下文中引用未在 FORMAT 语句中定义的语句标签。
消息 ID:ERROR_0328
初始化表达式中不允许包含该内在函数。它必须是基本内在函数或以下转换内在函数之一:
REPEAT RESHAPE SELECTED_INT_KIND SELECTED_REAL_KIND TRANSFER TRIM
消息 ID:ERROR_0329
编译器发现为一个特定的伪参数指定了多个实际参数。这可能是由两个相同参数关键字所导致,或者由同一伪参数的一个参数关键字和一个位置参数所导致。
消息 ID:ERROR_0330
此实际参数无相应的伪参数。其原因是指定的实际参数多于伪参数。
消息 ID:ERROR_0331
声明了被调用例程的显式接口。编译器发现非可选伪参数(没有 OPTIONAL 属性)没有相应实际参数。
消息 ID:ERROR_0332
只有编译时已知被调用例程的接口时,才能使用参数关键字。此信息可以由接口块提供给外部子程序。内部子程序和模块子程序始终具有由定义指定的关键字信息。
消息 ID:ERROR_0333
检测到被调用例程的显式接口中提供的实际参数的类型和伪参数的类型之间有差异。
消息 ID:ERROR_0334
该 CALL 语句正试图调用函数。只有子例程才能在 CALL 语句中指定。
消息 ID:ERROR_0335
检测到被调用例程的显式接口中提供的伪参数的种类类型参数和实际参数的种类类型参数之间有差异。
消息 ID:ERROR_0336
检测到被调用例程的显式接口中提供的伪参数的等级和实际参数的等级之间存在差异。
消息 ID:ERROR_0337
显式接口将此伪参数定义为替换返回参数 (*),但是调用点不提供作为相应的实际参数的用户标签。
消息 ID:ERROR_0338
有三种格式的 GO TO 语句:
-- 无条件: GO TO 标签
-- 计算的: GO TO (label_list) [,] scalar_int_expr
-- 赋值: GO TO scalar_int_variable [ [,] (label_list) ]
关键字 TO 后面的标记应该是语句标签、左括号或变量名。
消息 ID:ERROR_0339
在当前作用域单元中,诊断变量没有被 ASSIGN 语句赋予语句标签值。当执行赋值 GO TO 语句时,必须用出现在同一作用域单元中的分支目标语句的语句标签值定义整型变量。该变量只能由同一作用域单元中的 ASSIGN 语句用语句标签值定义为赋值 GO TO 语句。
消息 ID:ERROR_0340
过时特征是 FORTRAN 77 的多余特征,在 Fortran 中还有更好的方法。ASSIGN 语句允许将标签动态赋值给整型变量,而且赋值 GO TO 语句允许通过此变量的“间接分支”。这就防碍了程序流的可读性,特别是算术运算也使用整型变量时。整型变量这两种完全不同的用途可能导致混淆性错误。
这些语句一般用于模拟现在可以直接编码的内部过程。
消息 ID:COMMENT_0341
过时特征是 FORTRAN 77 的多余特征,在 Fortran 中还有更好的方法。ASSIGN 语句允许将标签动态赋值给整型变量,而且赋值 GO TO 语句允许通过此变量的“间接分支”。这就防碍了程序流的可读性,特别是算术运算也使用整型变量时。整型变量这两种完全不同的用途可能导致混淆性错误。
这些语句一般用于模拟现在可以直接编码的内部过程。
消息 ID:COMMENT_0342
函数或子程序正被递归调用,但是该程序单元的 FUNCTION 或 SUBROUTINE 语句中没有 RECURSIVE 关键字。
消息 ID:ERROR_0343
Fortran 标准规定,如果函数声明中不包含 RESULT 子句,则任何对该函数名称的引用是对函数结果变量的引用,而不是递归调用。已进行扩展以便允许对函数名称的引用成为递归引用,前提是函数结果不是值确定的数组或派生类型。在要递归调用函数时,使用 RESULT 子句更清楚更安全。
消息 ID:ANSI_0344
在 ASSIGN 语句中,label 必须是可执行语句(必须是有效的分支目标语句)的语句标签,或者必须是 FORMAT 语句的语句标签。可执行语句或格式语句也必须在与 ASSIGN 语句相同的作用域单元中进行定义。
消息 ID:ERROR_0345
在 ASSIGN 语句中,如果 label 是可执行语句的语句标签,则可执行语句必须是有效的分支目标语句。可执行语句不是有效分支目标语句的示例如下:ELSE IF、ELSE、CASE、ELSEWHERE 和 END WHERE。
消息 ID:ERROR_0346
ASSIGN 语句中的标签定义于 WHERE 构造内的语句中。禁止将控制传输到 WHERE 构造的内部。
消息 ID:WARNING_0347
ASSIGN 语句中的标签定义于 CASE 块内的语句中。禁止将控制从 CASE 块外部(即使从相同 CASE 构造的其他 CASE 块)传输到 CASE 块中。
消息 ID:WARNING_0348
正被诊断的赋值 GO TO 语句使用了此消息引用的标签,但是在当前作用域单元的任一 ASSIGN 语句中都不出现该标签。当执行赋值 GO TO 语句时,必须用出现在同一作用域单元中的分支目标语句的语句标签值定义整型变量。该变量只能由同一作用域单元中的 ASSIGN 语句用语句标签值定义为赋值 GO TO 语句。
消息 ID:WARNING_0349
声明为假定长度字符 (CHARACTER*(*)) 的数据对象必须是伪参数、常量或 Cray 指针对象。Cray 指针对象是非标准的。
消息 ID:ERROR_0350
根据定义,假定形数组必须是非指针伪参数。通过指定以下内容来声明假定形数组
DIMENSION NEW_ARRAY(10:)这声明了一个名为 NEW_ARRAY、下界为 10 的一级数组。不能使用 POINTER 属性声明 NEW_ARRAY。
消息 ID:ERROR_0351
被赋予 OPTIONAL 和/或 INTENT 属性的对象必须声明为伪参数。
消息 ID:ERROR_0352
延迟形数组必须是伪参数、指针或具有 ALLOCATABLE 属性。此项没有这些特性。
消息 ID:ERROR_0353
派生类型的等价对象包含一个指针组件。包含指针组件的派生类型无法等价。
消息 ID:ERROR_0354
在表达式中使用或在名称列表组中指定对象时,如果该对象是首次引用,则隐式定义类型。只有对象与此类型相符时,接下来才能在类型声明语句中定义此对象的类型。
示例:
DIMENSION ARRAY(K) REAL K ! 非法
K 只能被定义为整型,因为它在 DIMENSION 语句中被隐式定义为整型。
IMPLICIT INTEGER(A-Z) NAMELIST /GROUP/ R REAL R ! 非法
R 只能被定义为整型,因为它在 NAMELIST 语句中被隐式定义为整型。
消息 ID:ERROR_0355
在此赋值语句中,类型的组合无效。只有在同一声明中定义各种类型,或其声明不仅包含 SEQUENCE 语句并且各方面都相同,才允许派生类型赋值。“相同”意味着类型名称、组件数目、组件顺序、组件名称以及组件类型和属性一致。
消息 ID:ERROR_0356
此派生类型构造函数的组件数目不正确。
消息 ID:ERROR_0357
派生类型构造函数的每一个组件的类型必须与派生类型定义的相应组件的类型相同。此构造函数组件的类型和派生类型的相应组件的类型不匹配。
消息 ID:ERROR_0358
当派生类型组件为指针时,相应的结构构造函数表达式必须计算以下对象的值:该对象在指针赋值语句中是此指针的允许目标。在以下示例中,两种结构构造函数都是允许的。
TYPE X INTEGER, POINTER :: IPTR END TYPE TYPE(X) :: LEFT INTEGER, POINTER :: INT_PTR INTEGER, TARGET :: INT_TARGET LEFT = X(INT_PTR) LEFT = X(INT_TARGET)
消息 ID:ERROR_0359
在类型和形式方面,派生类型构造函数的所有组件必须与相应的声明组件相匹配。
消息 ID:ERROR_0360
DPROD 的两个实际参数都必须是缺省实数类型。
消息 ID:ERROR_0361
诊断语句前面是 GO TO 语句。当前语句没有标签;因此无法控制当前语句。例如:
GO TO 20 I = J ! 无法执行此语句。
消息 ID:WARNING_0362
同一基本内在过程的所有实际参数必须一致。
消息 ID:ERROR_0363
在编译过程中,编译器必须生成内标签。编译器所用标签数超出了标明的限制。源文件必须分割为若干更小的单独文件。
消息 ID:LIMIT_0364
逻辑 IF 语句包含不允许作为逻辑 IF 语句的 action_stmt 部分的语句。
逻辑 IF 语句的语法为:
IF (scalar_logical_expr) action_stmt
action_stmt 必须是除以下语句之外的可执行语句:
-- 其他逻辑 IF 语句
-- 任一格式的 END 语句
-- 组成构造部分的任何语句(例如,IF 构造的 IF、ELSE IF 或 ELSE 语句)
消息 ID:ERROR_0365
逻辑 IF 语句处理程序遇到意外的 stmt_type 值。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0366
内部和模块过程不能设定为假定长度字符类型。
消息 ID:ERROR_0367
MODULE PROCEDURE 语句列出的所有名称必须在该作用域单元中定义,或者可从另一作用域单元访问。下例为一个尚未定义的模块过程。
MODULE Error INTERFACE Undefined MODULE PROCEDURE Not_Here END INTERFACE END MODULE Error
Not_Here 错误。它既不存在于模块 ERROR 中,也未使用关联启用。
消息 ID:ERROR_0368
在此上下文中的表达式必须是整型标量表达式(例如,RETURN 语句后面的表达式必须是整型标量表达式)。
消息 ID:ERROR_0369
如果用户在函数子程序中编写 RETURN 语句,则关键字 RETURN 必须独立。函数子程序中不允许包含替换返回说明符。
消息 ID:ERROR_0370
过时特征是 FORTRAN 77 的多余特征,在 Fortran 中还有更好的方法。
替换返回允许被调用过程控制返回时调用过程的执行情况。通过返回满足以下条件的整数值可以实现同样的效果:在返回调用过程时,用此值控制 CASE 构造或计算的 GO TO 语句。
消息 ID:COMMENT_0371
common_block_object_list 中对象的语法是
variable_name [(explicit_shape_spec_list)]
explicit_shape_spec 中的每个边界必须是常量规范表达式。要在 common_block_object_list 中声明指针,请使用 DIMENSION 语句将此数组声明为延迟形数组,然后在 COMMON 语句中指定它。
消息 ID:ERROR_0372
如果 common_block_object 是派生类型,则其必须是序列类型。
消息 ID:ERROR_0373
发现一个数值常量超出范围。整型常量太大,或者实数常量的指数太大。
消息 ID:ERROR_0374
使用了格式为 a(s[,s]...) 的数组引用。引用中的下标数应等于为数组声明的维数。Fortran 标准的扩展允许下标比声明的维数小。数组引用中指定的下标用于最左侧的维数,下界用于省略的最右侧的下标。
消息 ID:WARNING_0375
编译器允许引用维数比声明维数小的数组。未指定的维数缺省为该维的下界。这是 Fortran 标准的一个扩展。
消息 ID:ANSI_0376
对于 IF 构造的 IF-THEN 语句,IF 条件的右括号后必须跟关键字 THEN。对于 IF 语句,action_stmt 必须始于 IF 条件的右括号之后。对于算术 IF 语句、间接逻辑 IF 或二叉算术 IF 语句,IF 条件的右括号后必须跟一个标签。
算术 IF 是一个过时特征,间接逻辑 IF 和二叉算术 IF 是过时的扩展。
消息 ID:ERROR_0377
编译器检测到一处本应为数据对象或函数调用的子程序引用。这可能是由于没有实际参数列表的函数名或不在 CALL 语句中的子程序名造成的。
消息 ID:ERROR_0378
过程名被用作函数或子程序调用的实际参数,但是该过程名未被赋予 EXTERNAL 属性、不是模块过程或未在接口块内指定。注意:为正在编译的 SUBROUTINE 的名称赋予 EXTERNAL 属性是标准的一个扩展。
消息 ID:ERROR_0379
已定义运算符或通用调用的操作数类型与接口块中的所有特定子程序接口不匹配。在类型、种类类型和等级方面,所有实际参数必须与相应的伪参数严格一致,以便产生匹配。所有无相应实际参数的伪参数必须声明为 OPTIONAL。
消息 ID:ERROR_0380
PAUSE 语句是一个过时特征。过时特征是 FORTRAN 77 的多余特征,在 Fortran 中还有更好的方法。在多数情况下,用等待输入数据的 READ 语句,可以采用可移植的方式实现 PAUSE 语句的功能。
消息 ID:COMMENT_0381
编译器无法打开名为 input_name.T 的编译器信息文件 (Compiler Information File, CIF) 或用于写入的临时 CIF。请检查工作目录的文件权限。
消息 ID:LOG_ERROR_0382
编译器无法将记录写入编译器信息文件 (Compiler Information File, CIF)。编译将继续进行,但是会关闭 CIF 进程。将不创建对象文件。
消息 ID:ERROR_0383
鉴于标记尺寸限制,关键字表中的所有项都必须少于 127 个字符。发出此消息时,请检查正在使用的表。
应避免产生此消息,它表示编译器错误或安装错误。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题。
消息 ID:INTERNAL_0384
Fortran 标准允许在 STOP 或 PAUSE 后跟标量字符型常量或 5 位整型常量(前导零不算)。使用字符变量、字符表达式或多于 5 位的整型常量是 Fortran 标准的一个扩展。
消息 ID:ANSI_0385
Fortran 标准允许在 STOP 或 PAUSE 关键字后跟 5 位无符号标量整型常量(前导零不算)或标量字符常量。编译器允许在 STOP 或 PAUSE 关键字后跟任意长度的无符号标量整型常量或标量字符表达式。
消息 ID:ERROR_0386
编译器检测到其后没有 SUBROUTINE 或 FUNCTION 语句的 CONTAINS 语句。CONTAINS 语句的语法如下:
在模块中:
contains_stmt module_subprogram [module_subprogram]...
在外部过程中:
contains_stmt internal_subprogram [internal_subprogram]...
消息 ID:ERROR_0387
编译器不能同时具有汇编语言列表和汇编语言输出文件。汇编语言输出文件被禁用。
示例:
-eS -rg file.f (将发出警告消息)
消息 ID:LOG_WARNING_0388
调用通用接口名称的函数或子例程调用与通用接口块中的所有特定子程序接口不匹配。在类型、种类类型和等级方面,不具有 OPTIONAL 属性的所有伪参数都必须与所有相应的实际参数严格一致。
消息 ID:ERROR_0389
编译器检测到以下内容:
TYPE :: NEW_TYPE INTEGER :: A END TYPE NEW_TYPE ... CONTAINS SUBROUTINE EXAMPLE TYPE(NEW_TYPE) :: VAR TYPE :: NEW_TYPE ! 此重新定义是非法的。 INTEGER :: B END TYPE NEW_TYPE ... END SUBROUTINE END
消息 ID:ERROR_0390
由于编译器目前不支持指定的数据类型,所以该类型将被映射为新的数据类型。
消息 ID:WARNING_0391
数据类型的一元运算符操作数无效。
消息 ID:ERROR_0392
编译器发现不带下标的数组引用,但它不是整个数组的引用。下面的示例说明了此问题:
DIMENSION I(10) J = I()
如果 J 是标量引用,则必须在对 I 的引用中指定下标才能确保正确,例如 I(3)。
消息 ID:ERROR_0393
用作数值常量的霍尔瑞斯常量不能大于一个字。
消息 ID:ERROR_0394
逻辑运算符与以下类型的操作数一起使用:整数、实数、布尔和/或 Cray 指针类型。这称为屏蔽表达式,它是 Fortran 标准的一个扩展。
消息 ID:ANSI_0395
通用接口只能拥有所有函数专用接口或所有子例程专用接口。此通用接口具有子例程和函数专用接口。
消息 ID:ERROR_0396
在 CALL 语句中使用了通用接口名,但是此接口只包含函数专用接口。
消息 ID:ERROR_0397
通用接口名被用作函数名,但是此接口只包含子例程专用接口。
消息 ID:ERROR_0398
此注释说明通用接口引用或重载的运算符的转变情况。
消息 ID:COMMENT_0399
在固定源格式下,行的标签字段(第一列到第五列)只能包含空格或数字。在此行的标签字段中发现非法字符。
消息 ID:ERROR_0400
数组形式规范具有指定的跨度。仅可指定下界(可选)和上界。allocate_shape_spec 的语法为 [下界:] 上界。
消息 ID:ERROR_0401
如果 allocate_object 是可分配的数组或指针数组,则在 ALLOCATE 语句中指定的形式必须具有指定的所有维的范围。
消息 ID:ERROR_0402
在 ALLOCATE 语句中,allocate_object 用非标量整数表达式的边界指定其形状。
消息 ID:ERROR_0403
在 ALLOCATE 语句的 allocation_list 中遇到非标量对象。这是因为在派生类型引用中的 part_ref 是整个数组引用或数组段。
消息 ID:ERROR_0404
使用子串限定符引用了 ALLOCATE 或 DEALLOCATE 语句中的 allocate_object。
消息 ID:ERROR_0405
非直接逻辑 IF 语句和二叉算术 IF 语句都是过时特征。这些过时特征已经被能够增强 Fortran 程序可移植性的其他语句所代替。IF 构造或逻辑 IF 应被用来替换这些过时的格式。不要使用这些过时的格式,尤其是在新代码中。
消息 ID:ANSI_0406
这是固定源格式,因此标签必须位于第 1 至 5 列。此种错误示例如下:
i = 1; 100 read *,i
100 错误。它应指定为:
i=1 100 read *, i
消息 ID:ERROR_0407
非零级 part_ref 的右侧不允许出现具有 POINTER 属性的其他 part_ref。
消息 ID:ERROR_0408
算术 IF 的条件表达式必须为整数、实数或双精度类型。
消息 ID:ERROR_0409
算术 IF 的条件表达式必须具有标量结果,并且必须是整数、实数或双精度类型。
消息 ID:ERROR_0410
赋值语句的左侧不能是假定大小数组的整个数组引用。
消息 ID:ERROR_0411
除非假定大小数组是实际参数,否则它不能作为整个数组引用出现。
消息 ID:ERROR_0412
此 ALLOCATE 语句的 STAT= 变量也是同一 ALLOCATE 语句中的 allocate_object。
消息 ID:ERROR_0413
如果二叉 IF 要成为非直接逻辑 IF,那么条件表达式必须是逻辑类型。如果二叉 IF 要成为二叉算术 IF,那么条件表达式的类型必须是整数、实数或双精度类型。
二叉 IF 语句的两种格式都是过时特征。不应再使用这两种格式。
消息 ID:ERROR_0414
Fortran 标准要求使用空格来分隔名称、常量、标签与邻近的关键词、名称、常量、标签。
消息 ID:ERROR_0415
IF-THEN 语句的语法是:
[if_construct_name:] IF (scalar_logical_expr) THEN
ELSE IF 语句的语法是:
ELSE IF (scalar_logical_expr) THEN [if_construct_name]
IF 语句的语法是:
IF (scalar_logical_expr) action_stmt
在所有三种情况下,条件表达式必须是逻辑类型并且必须是标量。
消息 ID:ERROR_0416
指针赋值语句的左侧必须具有 POINTER 属性。
消息 ID:ERROR_0417
指针赋值语句右侧的变量必须是目标、目标子对象或指针。
消息 ID:ERROR_0418
如要生效,指针赋值语句左右两侧的类型、种类类型和等级都必须一致。这也适用于与指针组件相对应的结构构造函数的表达式。
消息 ID:ERROR_0419
指针赋值语句的右侧不能是具有向量定值下标的数组段。这也适用于对应组件是指针的结构构造函数内的表达式。
消息 ID:ERROR_0420
指针赋值语句的右侧只能为指针定值函数。
消息 ID:ERROR_0421
在二进制常量 (boz_literal_constant) 中,仅允许 0 和 1 两个数字。编译器检测到超出此范围的字符。
消息 ID:ERROR_0422
在十六进制常量(BOZ 或布尔常量)中,仅允许 0-9 和 A-F(a-f 也是合法的)的数字。编译器检测到 0-9 或 A-F 以外的字符。
消息 ID:ERROR_0423
在类型声明语句中,多次指定同一属性是非法的。编译器检测到类似于以下示例的错误:
REAL, ALLOCATABLE, DIMENSION(::), & ALLOCATABLE :: A
ALLOCATABLE 错误。它被指定了两次。
消息 ID:ERROR_0424
指定的属性是互斥的。一个对象不能同时具有这两个属性。下面的属性列表在每个属性后面列出了与其冲突的属性。
消息 ID:ERROR_0425
NULLIFY 语句中的每个对象都必须是变量名或具有 POINTER 属性的结构组件。
消息 ID:ERROR_0426
此 DEALLOCATE 语句中的 STAT= 变量正在同一语句中被解除分配。
消息 ID:ERROR_0427
ALLOCATE 语句中的所有参数必须事先声明为指针或可分配数组。
消息 ID:ERROR_0428
DEALLOCATE 语句的 deallocate_object_list 包含非标量对象。这是因为在派生类型引用中的 part_ref 是整个数组引用或数组段。
消息 ID:ERROR_0429
deallocate_object_list 中的对象必须是指针或可分配数组的名称。它可以是结构组件,但不能是数组元素引用或数组段。
消息 ID:ERROR_0430
如要生效,指针赋值语句左右两侧的类型、种类类型和等级都必须一致。这也适用于与指针组件相对应的结构构造函数的表达式。
消息 ID:ERROR_0431
如要生效,指针赋值语句左右两侧的类型、种类类型和等级都必须一致。这也适用于与指针组件相对应的结构构造函数的表达式。
消息 ID:ERROR_0432
编译器检测到标志 io_stmt_must_be_split 为 false,此时该标志位于将 I/O 语句分为多个语句的例程内。这暗示一个内部错误条件。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0433
假定形数组伪参数不能与标量实际参数相关联。
消息 ID:ERROR_0434
除非标量实际参数是数组元素引用,否则不能将其传递给数组伪参数。
消息 ID:ERROR_0435
标量伪参数需要标量实际参数。
消息 ID:ERROR_0436
此对象不能在边界规范表达式中使用,因为它具有 OPTIONAL 属性。
消息 ID:ERROR_0437
如果名称列表组具有 PUBLIC 属性,那么在名称列表组对象列表中的任何项目都不能具有 PRIVATE 属性。同样,派生类型的任何组对象列表项都不能包含具有 PRIVATE 属性的组件。
消息 ID:ERROR_0438
此 I/O 语句中必须存在 UNIT 说明符(用于外部或内部文件)。
消息 ID:ERROR_0439
INQUIRE 语句必须具有 UNIT 或 FILE 说明符。但是,它不能同时具有这两个说明符。
消息 ID:ERROR_0440
I/O 控制列表说明符无效。
消息 ID:ERROR_0441
INQUIRE 语句必须具有 UNIT 或 FILE 说明符。但是,它不能同时具有这两个说明符。
消息 ID:ERROR_0442
遇到的 I/O 控制列表包含具有 FMT 和 NML 说明符的 WRITE 或 READ 语句。该语句可以是格式化语句,也可以是名称列表 I/O 语句;但它不能同时是这两种语句。
消息 ID:ERROR_0443
名称列表 I/O 不能具有输入或输出列表。
消息 ID:ERROR_0444
不能在 WRITE 语句中使用 END=、EOR= 和 SIZE= 说明符。
消息 ID:ERROR_0445
NML= 说明符所在的 READ、WRITE 或 PRINT 语句包含不是名称列表组名的参数。
消息 ID:ERROR_0446
格式 I/O 控制列表说明符必须是标签或整型变量。I/O 控制列表说明符必须事先在 ASSIGN 语句中定义,或者必须是字符变量或字符表达式。
消息 ID:ERROR_0447
指定分支目标的 I/O 说明符(如 EOR=、ERR= 或 END=)必须具有作为参数的标签或已在 ASSIGN 语句中定义的整型变量。
消息 ID:ERROR_0448
I/O 控制列表中项目的等级高于零。
消息 ID:ERROR_0449
在 PDGCS 接口过程中,为不需要类型的事件调用了 get_type_desc 以查找类型描述符。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0450
此种对函数的调用没有在该函数后加括号。如果实际参数列表为空,函数名在调用时必须后跟括号。
消息 ID:ERROR_0451
表达式中存在对子例程的引用。子例程子程序仅能使用 CALL 语句调用。
消息 ID:ERROR_0452
表达式中存在对主程序名称的引用。不能引用主程序名称。
消息 ID:ERROR_0453
表达式中存在对块数据名称的引用。不能引用块数据子程序名称。
消息 ID:ERROR_0454
表达式中存在对模块的引用。不能在表达式中指定模块名称。
消息 ID:ERROR_0455
不能在 CALL 语句中指定主程序名称。
消息 ID:ERROR_0456
不能在 CALL 语句中指定块数据子程序名称。
消息 ID:ERROR_0457
不能在 CALL 语句中指定模块名称。
消息 ID:ERROR_0458
用作 I/O 控制列表说明符的变量类型无效。
消息 ID:ERROR_0459
某些 I/O 控制列表说明符要求使用变量名称作为参数。该变量必须是所需类型并且必须具有缺省的种类类型。
消息 ID:ERROR_0460
控制列表项没有缺省的种类类型。
消息 ID:ERROR_0461
用作 READ、WRITE 或 PRINT 语句中格式说明符的整型变量必须是缺省整数类型。
消息 ID:ERROR_0462
READ 或 WRITE 语句中存在 END= 说明符,同时也具有 REC= 说明符。
消息 ID:ERROR_0463
星号 (*) 是 READ 或 WRITE 语句中的格式说明符,同时这些语句也具有 REC= 说明符。
消息 ID:ERROR_0464
EOR= 说明符出现在没有 ADVANCE= 说明符的 READ 或 WRITE 语句中。
消息 ID:ERROR_0465
名称列表组名出现在具有 REC= 说明符的 READ 或 WRITE 语句中。
消息 ID:ERROR_0466
用作 READ 或 WRITE 语句中 UNIT 说明符的字符变量具有向量下标。
消息 ID:ERROR_0467
ADVANCE= 说明符仅能在格式化的顺序 I/O 语句中出现,并且该语句具有显式格式说明而没有内部文件单元说明符。
消息 ID:ERROR_0468
ADVANCE= 说明符仅能在格式化的顺序 I/O 语句中出现,并且该语句具有显式格式说明而没有内部文件单元说明符。
消息 ID:ERROR_0469
ADVANCE= 说明符仅能在格式化的顺序 I/O 语句中出现,并且该语句具有显式格式说明而没有内部文件单元说明符。
消息 ID:ERROR_0470
如果单元说明符指定一个内部文件,则 io_control_spec_list 不能包含 REC= 说明符或名称列表组名。
消息 ID:ERROR_0471
如果单元说明符指定一个内部文件,则 io_control_spec_list 不能包含 REC= 说明符或名称列表组名。
消息 ID:ERROR_0472
ADVANCE= 说明符仅能在格式化的顺序 I/O 语句中出现,并且该语句具有显式格式说明而没有内部文件单元说明符。REC= 说明符使此语句成为直接存取 I/O 语句。
消息 ID:ERROR_0473
DO 变量必须是整数、实数或双精度实数。
消息 ID:ERROR_0474
特定接口位于已定义的赋值接口块内,但不是子例程。位于已定义赋值接口块中的所有特定接口必须是子例程。
消息 ID:ERROR_0475
控制 I/O 语句 I/O 列表中隐含 DO 循环的数值表达式必须是标量。这些表达式是隐含 DO 变量的开始值、结束值和可选增量值。
消息 ID:ERROR_0476
每个隐含 DO 控制表达式必须是整数、缺省实数或双精度实数类型的标量数值表达式。
消息 ID:ERROR_0477
I/O 输入项是表达式。输入项必须是变量。
消息 ID:ERROR_0478
I/O 输入项是常量。输入项必须是变量。
消息 ID:ERROR_0479
DOUBLE PRECISION*16 类型已被映射到 DOUBLE PRECISION,因为编译器当前不支持 DOUBLE PRECISION*16。编译器将完全支持以后版本中的 DOUBLE PRECISION*16。
消息 ID:WARNING_0480
表达式或常量出现在应该是隐含 DO 变量的位置。
消息 ID:ERROR_0481
隐含 DO 变量的等级高于零。
消息 ID:ERROR_0482
在 INQUIRE 语句中,IOLENGTH= 说明符要求指定缺省种类类型的标量整型变量。
消息 ID:ERROR_0483
名称列表组对象不能包含具有指针组件或最终指针组件的派生类型。具有指针组件的派生类型项目不允许出现在名称列表组中。
消息 ID:ERROR_0484
在应该是单元数的位置,指定字符常量。常量被解释为文件名并且是 Fortran 标准的一个扩展。
消息 ID:ANSI_0485
如果一个实体与一个以上模块建立使用关联,则不能引用它。例如:
MODULE one INTEGER two_uses END MODULE MODULE two INTEGER two_uses END MODULE PROGRAM show USE one USE two ! 使用关联 TWO_USES 两次 ! 是合法的。 J = two_uses ! 这是非法的,因为 ! 编译器无法确定 ! 正确的 TWO_USES。
消息 ID:ERROR_0486
通用或定义接口中的两个特定接口不明确。在一个作用域单元内,同一通用或定义接口中的两个过程通过其不可选伪参数加以区分。一种区分特定接口的方法是按其伪参数的个数。如果特定接口具有相同的伪参数个数,则伪参数必须在类型、种类类型或者等级上有所不同。
消息 ID:ERROR_0487
在边界表达式或种类选择符表达式中,编译器检测到非整型表达式。边界表达式用于声明数组维数大小和字符长度并且必须总是整型。种类选择符表达式必须总是整型常量并且用于声明类型的种类。
消息 ID:ERROR_0488
已定义赋值接口块内只能包含恰好有两个所需伪参数且为子例程的特定接口。
消息 ID:ERROR_0489
一个伪参数具有 OPTIONAL 属性,但声明该伪参数的特定接口是已定义的运算符接口块或已定义的赋值接口块。
消息 ID:ERROR_0490
在已定义的运算符或赋值接口块内,伪参数的 intent 必须用特定的值来指定。对于已定义的赋值,第一个伪参数必须具有 INTENT(OUT) 或 INTENT(INOUT)。第二个伪参数必须具有 INTENT(IN)。对于已定义的运算符,伪参数必须具有 INTENT(IN)。
消息 ID:ERROR_0491
在已定义运算符接口块内的所有特定接口必须是具有一个或两个伪参数的函数。
消息 ID:ERROR_0492
在已定义运算符接口块内的函数特定接口不能有假定长度的字符结果。
消息 ID:ERROR_0493
在已定义运算符接口块内的所有特定接口都被解释为一元运算,因此仅能具有一个参数。
消息 ID:ERROR_0494
在已定义运算符或赋值接口块中的特定接口包含具有类型、种类类型和等级的伪参数,这些伪参数作为对运算符的内在使用是有效的。此冲突产生歧义,并且是不允许的。
消息 ID:ERROR_0495
在已定义的运算符接口块中,特定接口的伪参数数量必须与运算符的内在使用相匹配。严格的二元运算符(如星号)需要两个伪参数。
消息 ID:ERROR_0496
在已定义的运算符接口块中,特定接口的伪参数数量必须与运算符的内在使用相匹配。+ 或 - 之类的运算符可用作一元或二元运算符,因此特定接口可具有一个或两个伪参数。
消息 ID:ERROR_0497
在已定义的赋值接口块或已定义的运算符接口块内的特定接口必须具有属于数据对象的伪参数。不允许出现伪过程。
消息 ID:ERROR_0498
在应该是运算符的位置指定了逻辑型常量、.TRUE. 或 .FALSE.。
消息 ID:ERROR_0499
用假定大小说明符声明的数组必须是伪参数。如果它是字符类型,那么也可以是 Cray 字符指针对象。Cray 指针是 Fortran 标准的一个扩展。
消息 ID:ERROR_0500
用假定长度说明符声明的的字符数组必须是伪参数或 Cray 字符指针的对象。Cray 指针是 Fortran 标准的一个扩展。
消息 ID:ERROR_0501
正在调用的子程序具有显式接口。此显式接口允许实际参数与伪参数进行比较。此检查发现实际参数和伪参数之间不匹配。伪参数是伪过程,而实际参数不是程序单元。
消息 ID:ERROR_0502
正在调用的子程序具有显式接口。此显式接口允许实际参数与伪参数进行比较。此检查发现实际参数和伪参数之间不匹配。
消息 ID:ERROR_0503
标签仅能传递给作为 "*" 替换返回说明符的伪参数。
消息 ID:ERROR_0504
自由源格式中字符上下文的续行必须有一个 & 作为下一行的第一个非空字符。
消息 ID:ERROR_0505
Fortran 标准禁止将递归函数的类型设定为假定长度字符。
如果函数是内部函数或模块函数、值确定的数组、值确定的指针或者递归函数,则函数名不能用星号字符长度进行声明。
消息 ID:ERROR_0506
Fortran 标准禁止将结果是数组或指针的函数设定为假定长度字符类型。
如果函数是内部函数或模块函数、值确定的数组、值确定的指针或者递归函数,则函数名不能用星号字符长度进行声明。
消息 ID:ERROR_0507
仅能从字符变量或字符常量中格式化子串。
消息 ID:ERROR_0508
编译器检测到此对象的声明和使用发生冲突。该对象不能用在边界规范表达式中,因为它已被声明为以下类型:
Cray 指针 Cray 指针对象 函数结果 模块过程 内部过程 派生类型 通用接口 名称列表组 语句函数 构造 模块 块数据 程序 子例程
消息 ID:ERROR_0509
这些是 Fortran 标准的扩展。
.F. (代表 .FALSE.) .T. (代表 .TRUE.)
如果这些扩展格式中的任意一个被声明为已定义的运算符,则不允许该扩展。
消息 ID:ANSI_0510
名称之后跟随带括号的列表,但它不是数组名或函数名。
消息 ID:ERROR_0511
名称列表组名仅能用作控制列表项,供 READ、WRITE 或 PRINT 语句指定名称列表 I/O。
消息 ID:ERROR_0512
DO 语句的语法是:
[do_construct_name:] DO [label] [loop_control]
loop_control 的格式是:
[,] do_variable = scalar_numeric_expr, scalar_numeric_expr [, scalar_numeric_expr] 或者 [,] WHILE (scalar_logical_expr)
编译器发现关键字 DO 后跟标签。标签之后应该跟逗号、标识符、关键字 WHILE 或语句结束标记,但却找到其他内容。
消息 ID:ERROR_0513
在调试模式中,malloc_check 在每个 malloc、realloc 和自由分配之前被调用。这时 malloc_check 发现了问题。malloc_check 将打印一条说明此问题的消息。该消息将在此内部消息之前输出。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0514
DO 语句的语法是:
[do_construct_name:] DO [label] [loop_control]
loop_control 的格式是:
[,] do_variable = scalar_numeric_expr, scalar_numeric_expr [, scalar_numeric_expr] 或者 [,] WHILE (scalar_logical_expr)
编译器发现关键字 DO 并且认为其后应该跟语句标签、逗号、标识符、关键字 WHILE 或语句结束标记。
消息 ID:ERROR_0515
符号表条目需要共享同一名称的同一名称池条目。局部名称表不使用同一名称池条目作为属性表。这会在模块和接口压缩中造成错误的索引问题。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0516
活动的 DO 变量仅能使用其 DO 语句改变其值。其值不能被循环中的任何语句更改。这意味着如果变量正被用作 DO 变量,则不能将其用作内部循环的 DO 变量。
消息 ID:ERROR_0517
编译器检测到此对象的使用发生冲突。该对象被用作子例程,从而禁止在表达式中使用。
消息 ID:ERROR_0518
具有 INTENT(OUT) 的伪参数不能在边界规范表达式中使用。
消息 ID:ERROR_0519
在数组维数边界声明符或字符长度声明符中引用外部函数是 Fortran 标准的一个扩展。
消息 ID:ERROR_0520
规范表达式的每个初等量必须是常量、伪参数、公共块成员、使用关联或主机关联。编译器检测到上述之外的变量。
消息 ID:ERROR_0521
如果等价列表中有一个对象是字符或字符序列类型,则该列表中的所有对象都必须是字符或字符序列类型。编译器放松了此约束。字符与非字符可以彼此等价。但是,如果由于此类等价,某个非字符项未在字边界上对齐,就会发生致命错误。
消息 ID:ANSI_0522
如果 equivalence_object 所属的派生类型不是数值序列或字符序列类型,则此等价组中的所有对象都必须属于这些类型。或者,如果 equivalence_object 所属的内类型不是缺省整数、缺省实数、双精度实数、缺省复数、缺省逻辑或字符,则此等价集中的所有对象都必须是具有相同种类类型参数值的相同类型。
消息 ID:ERROR_0523
在固定源格式和自由源格式中,对编译器的续行限制都是 99。
消息 ID:ERROR_0524
在固定源格式和自由源格式中,对编译器的续行限制都是 99。
消息 ID:ERROR_0525
通过非公共块变量与公共块的等价,此公共块已被扩展超出其起始地址。不允许在此方向上扩展公共块。
消息 ID:ERROR_0526
非字符对象被等价到字符对象,从而导致此非字符对象未在字边界上对齐。
消息 ID:ERROR_0527
某个变量被等价,从而导致相同变量内的两个不同位置重叠。例如:
EQUIVALENCE (A(1), A(3)) ! 这是非法的
消息 ID:ERROR_0528
ENTRY 语句中的伪参数必须在声明后才能在可执行语句中引用。但是,这些参数可在边界规范表达式中使用。
消息 ID:ERROR_0529
隐含 DO 变量必须是整数、缺省实数或双精度实数类型的命名标量。不能由组件引用或下标列表限定该名称。
消息 ID:ERROR_0530
必须在程序单元的声明部分指定下列编译器指令。
AUXILIARY NAME NOSIDE EFFECTS SYMMETRIC TASK COMMON VFUNCTION
消息 ID:ERROR_0531
在隐含 DO 循环内遇到作为该循环 DO 变量的 I/O 输入项目。
消息 ID:ERROR_0532
DATA 语句中的隐含 DO 变量名称在隐含 DO 列表或数组构造函数中多次出现。导致发出此消息的语句示例如下:
DATA ((A(I,J), I = 1,5), I = 1,5) IARRY = (/ ((I + I, I = 1, 3), I = 1, 3) /)
消息 ID:ERROR_0533
辅助存储器中不允许存在位于空白公共区的数组或变量。
消息 ID:ERROR_0534
辅助存储器中的变量和数组不能定义为字符类型。
消息 ID:ERROR_0535
如果某项位于辅助存储器中且被定义为派生类型,则该派生类型的组件不能是字符或指针。
消息 ID:ERROR_0536
TASK COMMON 块中的变量或数组不能指定 AUXILIARY 属性。
消息 ID:ERROR_0537
下例是算术上未定义的求幂运算。
(-1.0)**3.5
不允许此类未定义的表达式。
消息 ID:ERROR_0538
在自由源格式中,如果行尾有 &,则说明该行将继续到下一个非注释行。此行之后没有非注释行。
消息 ID:ERROR_0539
DIM 的指定值大于 ARRAY 的等级或小于 1。
消息 ID:ERROR_0540
下列项目将在以后版本中实现:
使用内部数组参数 REAL*16 REAL (KIND=16) COMPLEX*32 (KIND=16) 的MODULES USE 语句、CONTAINS 语句、内部过程、模块过程、构造函数边界声明
消息 ID:ERROR_0541
DATA 语句重复因子 (data_stmt_repeat) 必须是无符号标量整型常量 (scalar-int-constant)。整型常量可以是类型常量或命名常量,不能带符号。
消息 ID:ERROR_0542
由于编译器当前不支持指定的种类类型,因此将其映射为新的种类类型。
消息 ID:WARNING_0543
非块 DO 构造的终止语句必须是可执行语句(如 CONTINUE 或赋值语句),而不能是非可执行语句(如 DATA 或 FORMAT 语句)。
消息 ID:ERROR_0544
来自 make_base_subtree 的内部编译器错误。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0545
来自 expr_semantics 的内部编译器错误。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0546
Fortran 标准禁止命名常量和公共块使用同一名称。
消息 ID:ANSI_0547
编译器检测到此对象的使用发生冲突。该对象被用作变量,所以禁止用作派生类型名称。
消息 ID:ERROR_0548
f90 任务实现不允许在并行区域内部或外部有分支。并行区域既可能是 DOALL 循环,也可能是由 PARALLEL/ENDPARALLEL 对限制的代码区域。此类区域中不允许返回语句,否则会成为该区域的不当出口。同样,也不允许会成为该区域不当入口的 ENTRY 语句。
消息 ID:ERROR_0549
编译器检测到此对象声明中有冲突。该对象不能同时具有这两个属性。
消息 ID:ERROR_0550
编译器检测到此对象声明中有冲突。该对象不能被赋予指定属性。
消息 ID:ERROR_0551
编译器检测到此对象声明中有冲突。鉴于对象的给定属性,不能将其声明为新的项目。
消息 ID:ERROR_0552
编译器检测到此对象声明中有冲突。对象已声明为给定项目,因此不能声明为新的项目。
消息 ID:ERROR_0553
在作用域单元中,任何属性都不能多次地显式赋予一个实体。
消息 ID:ERROR_0554
编译器不能将任何(更多)记录写入临时消息文件。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0555
编译器无法打开此临时消息文件。要求该文件缓冲消息直至编辑结束,此时将以源行顺序输出这些消息。请检查工作目录的文件权限。
消息 ID:LOG_ERROR_0556
对象被引用为或定义为变量之后,一定不能重新声明为或引用为过程。
消息 ID:ERROR_0557
声明的对象已被用作变量,所以不能将其声明为下列项目:
Cray 指针 Cray 指针对象 函数结果 派生类型 通用接口 名称列表组 语句函数 构造名 函数 子例程
消息 ID:ERROR_0558
声明的对象已被用作变量,所以不能赋予下列属性:
DIMENSION ALLOCATABLE PARAMETER INTRINSIC VFUNCTION NOSIDE EFFECTS
消息 ID:ERROR_0559
编译器检测到此对象声明中有冲突。声明的对象已被设定为变量长度字符实体类型,所以不能赋予下列属性:
AUXILIARY PARAMETER SAVE EXTERNAL INTRINSIC VFUNCTION NOSIDE EFFECTS
设定为变量长度字符类型的对象不能被多次赋予显式类型。不能对其进行等价或数据初始化。
消息 ID:ERROR_0560
编译器检测到此对象声明中有冲突。声明的对象已被设定为变量长度字符实体类型,所以不能将其声明为下列项目:
Cray 指针对象 伪参数 派生类型 通用接口 名称列表组 语句函数 构造名 函数 子例程
消息 ID:ERROR_0561
编译器检测到此对象声明中有冲突。声明的对象是一个带有非恒定边界的显形数组,所以不能赋予下列属性:
ALLOCATABLE DIMENSION PARAMETER SAVE POINTER EXTERNAL INTRINSIC VFUNCTION NOSIDE EFFECTS
不能对其进行等价或数据初始化。
消息 ID:ERROR_0562
编译器检测到此对象声明中有冲突。声明的对象是一个带有非恒定边界的显形数组,所以不能将其声明为下列项目:
Cray 指针 Cray 指针对象 派生类型 通用接口 名称列表组 语句函数 构造名 子例程 内部过程 模块过程
消息 ID:ERROR_0563
编译器检测到此对象声明中有冲突。声明的对象位于公共块中,所以不能赋予下列属性:
ALLOCATABLE PARAMETER INTENT OPTIONAL SAVE EXTERNAL INTRINSIC VFUNCTION NOSIDE EFFECTS
它既不能被设定为假定长度字符类型,也不能被声明为假定大小或假定形数组。
消息 ID:ERROR_0564
编译器检测到此对象声明中有冲突。声明的对象位于公共块中,所以不能将其声明为下列项目:
Cray 指针对象 函数结果 伪参数 派生类型 通用接口 名称列表组 语句函数 构造名 函数 子例程
消息 ID:ERROR_0565
如果已为过程声明了显式接口,则必须在此显式接口内部指定描述此过程的所有信息(除 PTIONAL、PRIVATE 和 PUBLIC 属性之外)。此过程可以被指定为伪参数。
消息 ID:ERROR_0566
如果已为过程声明了显式接口,则必须在此显式接口内部指定描述此过程的所有信息(除 PTIONAL、PRIVATE 和 PUBLIC 属性之外)。此过程可以被指定为伪参数。
消息 ID:ERROR_0567
CALL 语句中只能引用子例程。
消息 ID:ERROR_0568
ASSIGN 语句或赋值 GO TO 语句中有命名常量,该处本应为标签变量 (scalar_int_variable)。
ASSIGN 语句的语法是:
ASSIGN label TO scalar_int_variable
赋值 GO TO 语句的语法是:
GO TO scalar_int_variable [ [,] (label_list) ]
scalar_int_variable 必须是变量的非限定名,即它不能是结构组件、数组元素或子串指示器。标签必须为缺省整数类型,且还必须为标量。
消息 ID:ERROR_0569
如果某对象已被声明为可分配对象,则也必须将其声明为延迟形数组。以下是声明 A 为可分配的两种正确方式。
ALLOCATABLE :: A(:) REAL, ALLOCATABLE :: A DIMENSION A(:)
消息 ID:ERROR_0570
函数结果是延迟形数组,因此必须具有 POINTER 属性。同样,具有 POINTER 属性且为数组的函数名称必须用 deferred_shape_spec_list 声明。
示例:
FUNCTION FCN() REAL, DIMENSION(:) :: FCN POINTER :: FCN
消息 ID:ERROR_0571
声明的对象已被用作函数,因此不能对此对象作进一步的声明。
消息 ID:ERROR_0572
声明的对象已被用作函数,因此不能对此对象作进一步的声明。
消息 ID:ERROR_0573
声明的对象已被用作子例程,因此不能对此对象作进一步的声明。
消息 ID:ERROR_0574
声明的对象已被用作子例程,因此不能对此对象作进一步的声明。
消息 ID:ERROR_0575
如果对象已在先前的类型语句中设定了类型,或已在 DATA 语句中初始化,或具有下列属性,则该对象不能被设定为变量长度字符类型:PARAMETER、SAVE、POINTER、VFUNCTION、AUXILIARY、NOSIDE EFFECTS、EXTERNAL 或 INTRINSIC。
消息 ID:ERROR_0576
编译器检测到此对象声明中有冲突。对象不能被设定为变量长度字符类型,因为它已被声明为下列项目之一:
Cray 指针 Cray 指针对象 模块过程 派生类型 通用接口 名称列表组 语句函数 构造 模块 块数据 程序 子例程
消息 ID:ERROR_0577
在编译时必须知道公共块中对象的字符长度。
消息 ID:ERROR_0578
如果已为过程声明了显式接口,则必须在此显式接口内部指定描述此过程的所有信息(除 PTIONAL、PRIVATE 和 PUBLIC 属性之外)。此过程可以被指定为伪参数。
消息 ID:ERROR_0579
命名常量用初始化表达式求出的值定义。这必须满足 Fortran 标准中定义的内部赋值规则。指定命名常量的类型和值的类型不满足内部赋值的规则。
消息 ID:ERROR_0580
此对象是子例程,因此不能将其指定为显式类型。
消息 ID:ERROR_0581
编译器检测到此对象声明中有冲突。对象不能被声明为带有非恒定边界的显形数组,因为它已被等价、数据初始化、设定为假定长度字符类型和/或具有一个或多个下列属性:
ALLOCATABLE DIMENSION PARAMETER SAVE PRIVATE PUBLIC POINTER EXTERNAL INTRINSIC VFUNCTION NOSIDE EFFECTS
消息 ID:ERROR_0582
编译器检测到此对象声明中有冲突。对象不能被声明为带有非恒定边界的显形数组,因为已将其声明为下列项目之一:
Cray 指针 模块过程 派生类型 通用接口 名称列表组 语句函数 构造 模块 块数据 程序
消息 ID:ERROR_0583
因为机器特性系统调用被赋予无效机器名称,所以调用失败。
消息 ID:LOG_ERROR_0584
在编译时必须知道公共块中数组的长度。
消息 ID:ERROR_0585
REAL(KIND=16) 和 COMPLEX(KIND=16) 不受 -dp 命令行选项的影响。
消息 ID:WARNING_0586
如果类型声明语句具有 PARAMETER 属性,或在 PARAMETER 语句中指定了初始化表达式,则 Fortran 标准要求该初始化表达式为常量。
消息 ID:ERROR_0587
子例程不能具有 DIMENSION 属性。
消息 ID:ERROR_0588
编译器检测到此对象声明中有冲突。对象不能位于公共块中,原因在于:
-- 它被设定为 CHARACTER*(*) 类型,
-- 它是假定大小或假定形数组,或
-- 它具有一个或多个下列属性:
ALLOCATABLE PARAMETER INTENT OPTIONAL SAVE EXTERNAL INTRINSIC VFUNCTION NOSIDE EFFECTS
消息 ID:ERROR_0589
编译器检测到此对象声明中有冲突。对象不能位于公共块中,因为它已被声明为下列项目之一:
Cray 指针对象 函数结果 伪参数 派生类型 通用接口 名称列表组 语句函数 构造名 过程 模块 块数据 程序
消息 ID:ERROR_0590
在编译时必须知道公共块中字符变量的长度。
消息 ID:ERROR_0591
在编译时必须知道公共块中数组的长度。
消息 ID:ERROR_0592
一个变量只能在公共块中出现一次,并且一个变量只能在一个公共块中出现。编译器检测到:一个公共块中同一变量被多次指定,或同一变量出现在两个不同的公共块中。
消息 ID:ERROR_0593
公共块中只允许变量。
消息 ID:ERROR_0594
此程序单元应该允许类型声明语句,但不允许该特定属性。以下是不同属性的上下文约束:
-- ALLOCATABLE:不允许位于块数据程序单元中。
-- DIMENSION:允许与类型声明语句同时出现。
-- EXTERNAL:不允许位于块数据程序单元中。
-- INTENT:仅允许位于子例程、函数和接口体中。
-- INTRINSIC:允许与类型声明语句同时出现。
-- OPTIONAL:仅允许位于子例程、函数和接口体中。
-- PARAMETER:允许与类型声明语句同时出现。
-- POINTER:允许与类型声明语句同时出现。
-- PRIVATE:仅允许位于模块中。
-- PUBLIC:仅允许位于模块中。
-- SAVE:允许与类型声明语句同时出现。
-- TARGET:允许与类型声明语句同时出现。
消息 ID:ERROR_0595
尽管此上下文可以允许派生类型声明语句,但仅当此派生类型声明语句位于模块程序单元中时,才允许指定 PUBLIC 和 PRIVATE 属性。
消息 ID:ERROR_0596
有一个开发命令行选项造成编译器在第一个 ANSI 消息后终止。
消息 ID:LIMIT_0597
如果对象已被设定为专用类型,则不能通过缺省或实际声明赋予其 PUBLIC 属性。
消息 ID:ERROR_0598
对象不能位于名称列表组中,因为它已被设定为 CHARACTER*(*) 类型,属于假定大小、假定形或延迟形数组,或者具有一个或多个下列属性:
ALLOCATABLE AUXILIARY PARAMETER POINTER EXTERNAL INTRINSIC VFUNCTION NOSIDE EFFECTS
消息 ID:ERROR_0599
对象不能位于名称列表组中,因为它是下列项目之一:
Cray 指针对象 派生类型 通用接口 名称列表组 语句函数 构造 模块 块数据 程序 函数 子例程
名称列表组中的对象必须是变量。
消息 ID:ERROR_0600
在编译时必须知道名称列表组对象的长度。
消息 ID:ERROR_0601
在编译时必须知道名称列表组对象的长度。
消息 ID:ERROR_0602
名称列表组中的所有对象都必须是变量。
消息 ID:ERROR_0603
此硬件不支持指定的编译器指令,或该指令将在以后版本中实现。
消息 ID:LOG_WARNING_0604
如果要在初始化表达式中使用,对象必须是常量。编辑器检测到下列情况之一:
-- 对象被设定为字符类型或带有非恒定边界的数组。
-- 对象是公共的,因此为变量。
-- 对象是一个过程。它具有显式接口和/或被用作函数或子例程。
-- 对象已被用作变量。
消息 ID:ERROR_0605
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0606
辅助存储器中的对象不能与主机关联。辅助存储器是 Fortran 标准的一个扩展。
消息 ID:ERROR_0607
如果已为过程声明了显式接口,则必须在此显式接口内部指定描述此过程的所有信息(除 PTIONAL、PRIVATE 和 PUBLIC 属性之外)。此过程可以被指定为伪参数。
消息 ID:ERROR_0608
如果已为过程声明了显式接口,则必须在此显式接口内部指定描述此过程的所有信息(除 PTIONAL、PRIVATE 和 PUBLIC 属性之外)。此过程可以被指定为伪参数。
消息 ID:ERROR_0609
如果已为过程声明了显式接口,则必须在此显式接口内部指定描述此过程的所有信息(除 PTIONAL、PRIVATE 和 PUBLIC 属性之外)。此过程可以被指定为伪参数。
消息 ID:ERROR_0610
如果已为过程声明了显式接口,则必须在此显式接口内部指定描述此过程的所有信息(除 PTIONAL、PRIVATE 和 PUBLIC 属性之外)。此过程可以被指定为伪参数。
消息 ID:ERROR_0611
公共块中的所有对象都是变量。编译器检测到试图将变量用作过程或将其声明为过程。
消息 ID:ERROR_0612
一个过程只能在一个显式接口中定义。在接口块中,为外部过程定义了显式接口。定义过程时,为模块或内部过程定义了显式接口。
消息 ID:ERROR_0613
此项目所需的存储大小超过本机的存储大小(以字为单位)。
消息 ID:ERROR_0614
此表达式所需的存储大小超过本机的存储大小(以字为单位)。表达式可能包含数组构造函数,或者是函数调用的结果。
消息 ID:ERROR_0615
除内部函数外,函数的所有定义都必须在使用之前进行。它们可能在使用时尚未定义。
消息 ID:ERROR_0616
除内部子例程外,子例程的所有定义都必须在使用之前进行。它们可能在使用时尚未定义。
消息 ID:ERROR_0617
如果当前编译单元使用 -dp 选项进行编译,则其使用的每个模块或试图内联的每个预编译过程都必须用 -dp 选项编译。如果当前编译单元使用 -ep 选项进行编译,则其使用的每个模块或内联的每个预编译过程都必须用 -ep 选项编译。
消息 ID:ERROR_0618
如果已为过程声明了显式接口,则必须在此显式接口内部指定描述此过程的所有信息(除 PTIONAL、PRIVATE 和 PUBLIC 属性之外)。此过程可以被指定为伪参数。
消息 ID:ERROR_0619
如果实际参数为辅助数组,则传递给子程序的地址将成为辅助存储器地址。如果相关伪参数不是辅助数组,则地址将被错误解释。辅助数组是 Fortran 标准的一个扩展。
消息 ID:WARNING_0620
种类参数的语法是 _kind-param。
kind_param 是 digit_string 或 scalar_int_constant_name。
无效种类参数示例如下:
4 8 INTEGER, PARAMETER :: KIND_PARM=4
消息 ID:ERROR_0621
具有 TARGET 属性的伪参数只能与具有 TARGET 或 POINTER 属性的实际参数相关联。
消息 ID:ERROR_0622
对于模块,必须用相同的缺省整型种类类型编译模块和正在使用的编译单元。此外,还必须用相同的 -i 命令行选项或相同的 CDIR$ INTEGER= 选项对其进行编译。示例如下。
模块 编译单元 缺省 正在使用模块 -i64 -i64 ! 合法 -i32 -i64 ! 非法 !DIR INTEGER=64 -i32 ! 非法 !DIR INTEGER=64 !DIR INTEGER=64 ! 合法预编译可内联过程也是这样。调用者和被调用者应当用同样的方式编辑。
消息 ID:CAUTION_0623
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0624
声明 Cray 字符指针时,必须在 POINTER 语句之前声明指针对象的类型为 CHARACTER*(*),如下例所示:
CHARACTER*(*) EE POINTER(PTR, EE) ! 合法 POINTER(PTR, EE) CHARACTER*(*) EE ! 非法
消息 ID:ERROR_0625
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0626
如果子程序的接口已知,且伪参数是辅助数组,则子程序要求所接收地址是辅助存储器地址。如果与辅助数组伪参数关联的实际参数是表达式、非辅助数组或数组段,则没有此条件。因为辅助数组的数组段被复制到不在辅助存储器中的临时数组中,所以该数组段仍然无效。辅助存储器是 Fortran 标准的一个扩展。
消息 ID:WARNING_0627
编译器检测到此对象的声明和使用发生冲突。对象不能用作外部函数名,因为它已被设定为假定长度字符类型,属于假定大小或假定形数组,已被等价或进行数据初始化,或者具有一个或多个下列属性:
ALLOCATABLE AUXILIARY PARAMETER INTENT TARGET SAVE POINTER INTRINSIC
消息 ID:ERROR_0628
编译器检测到此对象的声明和使用发生冲突。此对象不能用作外部函数名,因为它已被声明为下列项目之一:
Cray 指针 Cray 指针对象 函数结果 派生类型 名称列表组 语句函数 构造 变量 模块 块数据 程序 子例程 内部过程
消息 ID:ERROR_0629
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0630
要在此硬件上运行编译器,需要获得许可。
消息 ID:LOG_ERROR_0631
对象是子例程,因此不能用作函数。
消息 ID:ERROR_0632
子例程只能具有以下属性:
OPTIONAL PUBLIC PRIVATE EXTERNAL INTRINSIC NOSIDE EFFECTS
消息 ID:ERROR_0633
编译器检测到此对象的声明和使用发生冲突。此对象不能用作 CALL 语句的外部子例程名,因为它已被声明为下列项目之一:
Cray 指针 Cray 指针对象 函数结果 派生类型 名称列表组 语句函数 构造 变量 模块 块数据 程序 函数
消息 ID:ERROR_0634
子例程不能具有显式类型。
消息 ID:ERROR_0635
子例程不能具有 DIMENSION 属性。
消息 ID:ERROR_0636
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0637
要成为 Cray 字符指针对象,此指针对象必须被声明为 CHARACTER*(*),如下例所示:
CHARACTER*(*) EE POINTER(PT, EE) ! 合法 CHARACTER*(I) EE POINTER(PT,EE) ! 非法 CHARACTER*(6) EE POINTER(PT,EE) ! 非法
Cray 指针数据类型是 Fortran 标准的一个扩展。
消息 ID:ERROR_0638
不能将函数作为子例程来引用。
消息 ID:ERROR_0639
此特定参数不能是标量实体。
消息 ID:ERROR_0640
编译器检测到此名称的声明和使用发生冲突。此名称不能在表达式中使用,因为它是派生类型名、名称列表组名、构造名、模块名、块数据程序单元名或主程序名。
消息 ID:ERROR_0641
Cray 指针不能同时是 Cray 字符指针。Cray 字符指针不能同时是 Cray 指针。Cray 指针和字符指针数据类型是 Fortran 标准的扩展。
消息 ID:ERROR_0642
子例程只能在 CALL 语句中使用。
消息 ID:ERROR_0643
用作派生类型的此对象必须是派生类型。派生类型名称只能具有 PUBLIC 或 PRIVATE 属性。
消息 ID:ERROR_0644
编译器检测到此对象的声明和使用发生冲突。该对象不是派生类型名称,因此不能用作派生类型名称。
消息 ID:ERROR_0645
编译器检测到此对象的声明和使用发生冲突。所用对象被设定为字符类型,因此禁止将其用作派生类型名称。
消息 ID:ERROR_0646
编译器检测到此对象声明中有冲突。派生类型名称只能具有 PUBLIC 或 PRIVATE 属性。
消息 ID:ERROR_0647
编译器检测到此对象的声明和使用发生冲突。对象位于公共块中,因此是变量。不能将变量用作派生类型名称。
消息 ID:ERROR_0648
编译器检测到此对象的声明和使用发生冲突。对象是一个过程,因此不能用作派生类型名称。
消息 ID:ERROR_0649
Cray 指针对象不能是派生类型。Cray 指针数据类型(及其相关的指针对象)是 Fortran 标准的一个扩展。
消息 ID:ERROR_0650
Cray 指针对象不能是派生类型。Cray 指针数据类型(及其相关的指针对象)是 Fortran 标准的一个扩展。
消息 ID:ERROR_0651
编译器检测到此对象的使用发生冲突。声明对象被用作函数,因此禁止将其用作派生类型名称。
消息 ID:ERROR_0652
编译器检测到此对象的使用发生冲突。声明对象被用作子例程,因此禁止将其用作派生类型名称。
消息 ID:ERROR_0653
此实际参数对于出错的内在过程没有合法等级。
消息 ID:ERROR_0654
很多例程自行检测错误,出现问题时才调用 fnd_semantic_err。如果语义表发生更改,则调用例程也需要作相应更改。通过检查该内部错误之前的错误,可以发现相关的问题。这是调用例程需要检测的错误。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0655
不包含 access_id_list 的多个 PRIVATE 和 PUBLIC 语句是非法的。编译器检测到类似下列示例的内容:
MODULE A PUBLIC PRIVATE ! 非法 - 已指定 PUBLIC
消息 ID:ERROR_0656
如果函数结果位于名称列表语句的内容范围内,则允许其位于名称列表组中,如下例所示:
MODULE ABC CONTAINS FUNCTION XYZ() NAMELIST /GRP/ XYZ, RST ! RST 非法 END FUNCTION FUNCTION RST() END FUNCTION END MODULE
NAMELIST 语句中的 RST 是非法的,因为 NAMELIST 语句不在 RST 范围之内。XYZ 是合法的名称列表组成员。
消息 ID:ERROR_0657
DATA 隐含 DO 的开头、结尾或增量表达式的每个操作数都必须是整型常量(类型或已命名的),或是包含隐含 DO 的 DO 变量。
消息 ID:ERROR_0658
如果变量长度字符声明使用伪参数确定长度表达式,则必须在同一入口点指定所有的伪参数。编译器检测到以下长度表达式:其中两个伪参数位于不同的入口点。下面的示例说明了此情况:
SUBROUTINE SUBCHAR(IDX1) CHARACTER*(IDX1 + IDX2) SUN_CHAR ... ENTRY SUBLATER(IDX2) ... END SUBROUTINE
此程序将接收到 SUN_CHAR 的长度表达式错误。要使此程序合法,必须在至少一个入口点处同时指定 IDX1 和 IDX2。
消息 ID:ERROR_0659
如果变量长度数组声明使用伪参数确定其边界,则必须在同一入口点指定所有的伪参数。编译器检测到以下数组声明:它的一个伪参数与其边界表达式中的另一伪参数位于不同的入口点。下面的示例说明了此情况:
SUBROUTINE SUBDIM(IDX1) REAL, DIMENSION (IDX1,IDX2) :: AN_ARRAY ... ENTRY SUBLATER(IDX2) ... END SUBROUTINE
此程序将接收到 AN_ARRAY 声明错误。要使此程序合法,必须在至少一个入口点处同时指定 IDX1 和 IDX2。
消息 ID:ERROR_0660
编译器检测到以下字符数组声明:在规范表达式中使用伪参数声明字符长度和数组边界。必须在至少一个公共入口点指定规范表达式中用于声明此对象的所有伪参数。下面的示例说明了此情况:
SUBROUTINE SUBCHAR(IDX1) CHARACTER*(IDX1) CHAR_ARRAY(IDX2) ... ENTRY SUBLATER(IDX2) ... END SUBROUTINE
此程序将接收到 CHAR_ARRAY 声明错误。要使此程序合法,必须在至少一个入口点处同时指定 IDX1 和 IDX2。
消息 ID:ERROR_0661
编译器检测到以下伪参数声明:在规范表达式中使用伪参数声明字符长度和/或数组边界。必须在指定该伪参数的入口点,指定规范表达式中用于声明此对象的所有伪参数。下面的示例说明了此情况:
SUBROUTINE SUBCHAR(IDX1, CHAR_ARRAY) CHARACTER*(IDX1) CHAR_ARRAY(IDX2) ... ENTRY SUBLATER(IDX2) ... END SUBROUTINE
此程序将接收到 CHAR_ARRAY 声明错误。要使此程序合法,必须在至少一个入口点处同时指定 IDX1 和 IDX2。
消息 ID:ERROR_0662
名称列表组对象不能位于辅助存储器中。辅助存储器是 Fortran 标准的一个扩展。
消息 ID:ERROR_0663
如果语句类型是组件声明语句,则表达式分析器应捕捉到非常量表达式中的所有对象。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0664
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0665
编译器检测到以下内容:
CHARACTER*(IFUN) FUNCTION IFUN()或
CHARACTER*(IFUN(1)) FUNCTION IFUN(I)它们都是非法的。
消息 ID:ERROR_0666
DATA 语句指定的要初始化的实体多于值列表中的可用值。DATA 语句具有下列格式:
DATA data_stmt_set [ [,] data_stmt_set ]其中每个 data_stmt_set 包括
data_stmt_object_list /data_stmt_value_list/data_stmt_object_list 扩展形成标量变量序列,data_stmt_value_list 扩展形成标量常量值序列。扩展后的 data_stmt_object_list 的实体数必须与扩展后的 data_stmt_value_list 的常量值数目相同。
消息 ID:ERROR_0667
DATA 语句在值列表中指定的值多于要初始化的实体。DATA 语句具有下列格式:
DATA data_stmt_set [ [,] data_stmt_set ]其中每个 data_stmt_set 包括
data_stmt_object_list /data_stmt_value_list/data_stmt_object_list 扩展形成标量变量序列,data_stmt_value_list 扩展形成标量常量值序列。扩展后的 data_stmt_object_list 的实体数必须与扩展后的 data_stmt_value_list 的常量值数目相同。
消息 ID:ERROR_0668
如果用构造名标识块 DO 构造的 DO 语句,则该 DO 构造的终止语句必须是 END DO 语句,且此 END DO 必须指定同一构造名。
消息 ID:ERROR_0669
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0670
在同一接口块中,不能多次指定一个过程。以下是使用模块过程的示例:
PROGRAM TEST1 USE FOOS INTERFACE INT_1 MODULE PROCEDURE FOO,FOO ! 是非法的 MODULE PROCEDURE FOO1 MODULE PROCEDURE FOO1 ! FOO1 是非法的 END INTERFACE INTERFACE INT_2 MODULE PROCEDURE FOO2B END INTERFACE INTERFACE INT_2 MODULE PROCEDURE FOO2b ! FOO2B 是非法的 END INTERFACE END但对于模块过程,以下内容是合法的:
MODULE TEST2 USE FOOS INTERFACE INT_2 MODULE PROCEDURE FOO2B END INTERFACE END MODULE MODULE TEST3 USE FOOS INTERFACE INT_2 MODULE PROCEDURE FOO2B END INTERFACE END MODULE PROGRAM TEST4 USE TEST2 USE TEST3 ! 这是合法的,因为 ! FOO2B 来自两个 ! 独立的模块 END
消息 ID:ERROR_0671
声明对象已用作函数,因此不能声明为带有非恒定边界的显形数组。必须在使用实体之前声明。
消息 ID:ERROR_0672
如果带有一个或更多 ENTRY 语句的函数的某入口点的结果具有 DIMENSION 属性,那么该函数的所有入口点都必须返回具有相同 DIMENSION 属性的结果。如果是函数是值确定的数组,则所有入口点都必须返回相同等级的结果,如果函数不是假定形的,则所有入口点的形式必须一致。
消息 ID:ERROR_0673
如果带有一个或更多 ENTRY 语句的函数的某入口点的结果具有 POINTER 属性,那么该函数的所有入口点都必须返回具有 POINTER 属性的结果。
消息 ID:ERROR_0674
DATA 语句或数组构造函数中的隐含 DO 列表,包含不是整型变量的隐含 DO 循环控制变量。DATA 语句隐含 DO 有以下格式:
(data_i_do_object_list, data_i_do_variable = scalar_int_expr, scalar_int_expr [, scalar_int_expr])data_i_do_variable 必须是整型变量的名称。数组构造函数隐含 DO 具有以下格式:
(ac_value_list, ac_do_variable = scalar_int_expr, scalar_int_expr [, scalar_int_expr])ac_do_variable 必须是整型变量的名称。作为对解释请求的反应,Fortran 标准的更正扩展了身为语句实体(I/O 隐含的 DO 变量不是语句实体)的隐含 DO 循环控制变量的规则。本质上讲,它说明在包含 DATA 语句或数组构造函数的作用单元中,语句实体名可以和公共块名或整型标量名相同。因此,statement 实体名不能和以下名称相同:外部过程、内部过程、模块过程、命名常量、构造名、通用名、派生类型名等。同样,因为它必须为整型,所以它的名称也不能和声明为非整型的实体相同。解释反应也说明隐含 DO 变量必须是标量变量的名称,但通过允许作为整型数组的 data_i_do_variable 或 ac_do_variable 同名,Sun f90 扩展了标准。
消息 ID:ERROR_0675
数据语句的值列表中的值有以下格式:
[data_stmt_repeat *] data_stmt_constant如果重复因子或常量是标识符,则必须是命名常量的名称,且该命名常量必须已在作用单元中预先声明,或已通过使用或主机关联具有可访问性。
消息 ID:ERROR_0676
DATA 语句值列表中的值之前可以有一个重复因子,如下所示:
[data_stmt_repeat *] data_stmt_constant如果 DATA 语句重复因子是一个标识符,它必须是命名常量的名称,且此命名常量必须代表一个标量值。
消息 ID:ERROR_0677
DATA 语句值列表中的值之前可以有一个重复因子,如下所示:
[data_stmt_repeat *] data_stmt_constantDATA 语句重复因子必须是整数类型。
消息 ID:ERROR_0678
DATA 语句值列表中的值之前可以有一个重复因子,如下所示:
[data_stmt_repeat *] data_stmt_constant如果 DATA 语句重复因子是标识符,则它必须是命名常量的名称,并且该命名常量必须代表一个等于或大于零的值。
消息 ID:ERROR_0679
DOALL 和 PARALLEL 编译器任务指令的 IF 条件参数仅能被指定一次。
消息 ID:ERROR_0680
ENCODE 或 DECODE 语句正在指定一个非整数值的字符数。在以下语句中,字符数 n 必须是小于或等于 152 的非零整数表达式:
ENCODE (n,f,dent) [elist] DECODE (n,f,sent) [dlist]
消息 ID:ERROR_0681
ENCODE 或 DECODE 语句正在指定一个 1 to 152 范围之外的字符数的值。在以下语句中,字符数 n 必须是小于或等于 152 的非零整数表达式。
ENCODE (n,f,dent) [elist] DECODE (n,f,sent) [dlist]
消息 ID:ERROR_0682
ENCODE 或 DECODE 语句正在指定一个无效表达式字符数的值。在以下语句中,字符数 n 必须是小于或等于 152 的非零整数表达式:
ENCODE (n,f,dent) [elist] DECODE (n,f,sent) [dlist]
消息 ID:ERROR_0683
具有伪参数的模块过程或具有专用可访问性类型的函数结果必须具有专用可访问性。如果模块过程是公共的,那么,在它的任何伪参数或函数结果为派生类型时,其类型必须为公共类型。
消息 ID:ERROR_0684
具有伪参数的模块过程或具有专用可访问性类型的函数结果必须具有专用可访问性。如果模块过程是公共的,那么,在它的任何伪参数或函数结果为派生类型时,其类型必须为公共类型。
消息 ID:ERROR_0685
具有伪参数的模块过程或具有专用可访问性类型的函数结果必须具有专用可访问性,并且不能有公共可访问性的通用标识符。如果通用标识符具有公共可访问性,那么,其所有特定过程都必须具有函数结果和声明为公共类型的伪参数。
消息 ID:ERROR_0686
具有伪参数的模块过程或具有专用可访问性类型的函数结果必须具有专用可访问性。如果模块过程是公共的,那么,在它的任何伪参数或函数结果为派生类型时,其类型必须为公共类型。
消息 ID:ERROR_0687
如果在 SAVE 语句中指定了公共块,那么还必须在 COMMON 语句中声明该公共块。
消息 ID:ERROR_0688
给 globals.h 添加运算符时还必须给 debug.h 添加相应的字符串。应避免产生此消息,它表示编译器错误或安装错误。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题。
消息 ID:INTERNAL_0689
如果在 CDIR$ (!DIR$) TASK COMMON 语句中指定了公共块,那么还必须在 COMMON 或 TASK COMMON 语句中声明该公共块。
消息 ID:ERROR_0690
命名常量不能赋予 POINTER 属性,而且不能是具有将指针作为一个组件的派生类型。
消息 ID:ERROR_0691
对象是由 DATA 语句或类型声明语句中的初始化值来初始化的。此对象是命名公共块的一个成员。如果对象是命名公共块的一个成员,那么它仅能在块数据程序单元中初始化。
消息 ID:ANSI_0692
对象是由 DATA 语句或类型声明语句中的初始化值来初始化的。该对象是空公共块的一个成员。那些为空公共块成员的对象不能初始化。
消息 ID:ERROR_0693
表达式中正在使用含有比机器字所适合字符更多的霍尔瑞斯常量。在此上下文中,霍尔瑞斯常量被限制为适合机器字的字符数。霍尔瑞斯常量是 Fortran 标准的扩展。
消息 ID:ERROR_0694
DATA 语句或类型声明语句试图初始化 Cray 字符指针。非字符 Cray 指针可以初始化,但 Cray 字符指针不能初始化。Cray 指针是 Fortran 标准的一个扩展。
消息 ID:ERROR_0695
DATA 语句可以包含以下格式的隐含 DO:
(data_i_do_object_list, data_i_do_variable = scalar_int_expr, scalar_int_expr [, scalar_int_expr])隐含 DO 嵌套中每个隐含 DO 的 data_i_do_variable 必须是唯一的名称。例如,以下隐含 DO 嵌套集与 Fortran 标准不一致,因为变量 K 用于多个循环中。
DATA ((ARRAY(K,K), K = 1, 3), K = 1, 3) /9*-1/
消息 ID:ERROR_0696
编译器检测到下面的某种情况:
Cray 指针 Cray 指针对象 PRIVATE PUBLIC PUBLIC PRIVATE它们都必须具有 PUBLIC 或 PRIVATE 属性。Cray 指针是 Fortran 标准的一个扩展。
消息 ID:ERROR_0697
data_stmt_object_list 中命名的完整数组的每一个元素都必须有一个常量,但如果目标列表的最后一项是完整数组的引用,那么,Sun f90 就允许常量列表中值的数量少于目标的数量。这是 Sun f90 继承的一个过时扩展。建议在现有代码中尽可能将其删除并在新代码中避免使用。
消息 ID:ANSI_0698
DATA 目标(data_stmt_object 或 data_i_do_object)具有的格式为:
name(list)在遇到引用时,该名称没有可用的附加信息;因此产生了歧义。它似乎是函数引用或是数组元素引用(其中,数组不是在 DATA 语句前的当前作用单元中声明的)。DATA 目标不能是函数引用,因为它必须是变量。如果在 DATA 语句中出现数组元素引用,那么该数组的属性必须已由当前作用单元中前一个规范语句建立。示例 1:以下程序与标准不符,因为隐含 DO 目标数组是由 DATA 语句后面的规范语句声明为数组的。
DATA (array(i), i = 1, 5) /5 * 1.0/ DIMENSION array(5)示例 2:以下程序与标准不符,因为隐含 DO 目标数组是在内部子程序中声明的。作用单元中出现 DATA 语句,造成目标变量被显式声明为该作用单元的局部变量。因此,被包含的作用单元不能初始化在主作用单元中声明的变量。
PROGRAM main REAL array(5) ... CONTAINS SUBROUTINE sub DATA (array(i), i = 1, 5) /5 * 1.0/ ... END SUBROUTINE END PROGRAM
消息 ID:ERROR_0699
调用内部过程名称的函数或子例程调用与任何特定的内部过程都不匹配。没有 OPTIONAL 属性的所有伪参数都必须在类型和等级方面严格一致。
消息 ID:ERROR_0700
用 INTRINSIC 属性声明的名称不是内在过程的名称。
消息 ID:ERROR_0701
只有在命令行中使用了 -dp(-dp 表示“禁用双精度”)时,才能支持双精度复数类型作为 Fortran 标准的一个扩展。如果 -ep 打开(启用双精度),那么就不支持双精度复数。可通过使用 COMPLEX(KIND=16) 指定不受 -dp/-ep 命令行选项影响的双精度复数类型。
消息 ID:ERROR_0702
在自由源格式中,以 & 符号开始的续行必须跟随着以 & 符号结束的行。
消息 ID:ERROR_0703
该代码要求特定的 FLD 值(如 AT_Tbl_Idx),却遇到了它不能处理的 FLD 值。应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0704
DATA 语句具有以下通用格式:
data_stmt_object_list /data_stmt_value_list/其中 data_stmt_object 可以是变量或隐含 DO。在那些为变量的 data_stmt_object 中,每个下标、段下标、子串起始点和子串结束点都必须是初始化表达式。初始化是常量表达式,并且在幂为整数类型时允许求幂。常量表达式本质上是表达式,其中所有主项必须为常量或可分解为常量,并且每个运算必须是内部运算。
消息 ID:ERROR_0705
DATA 语句具有以下通用格式:
data_stmt_object_list /data_stmt_value_list/其中 data_stmt_object 可以是变量或隐含 DO。在那些为变量的 data_stmt_object 中,每个下标、段下标、子串起始点和子串结束点都必须是初始化表达式。如果函数引用出现在初始化表达式中,它必须引用初始化表达式所允许的受限内在函数集中的一个函数。它不能是对用户定义函数的引用。DATA 语句隐含 DO 具有以下格式:
(data_i_do_object_list, data_i_do_variable = scalar_int_expr, scalar_int_expr [, scalar_int_expr])data_i_do_object 下标列表中下标的主项必须是常量或包含隐含 DO 的 DO 变量。这样的下标列表中的主项不能是内在函数或用户定义函数的引用。并且,每个 scalar_int_expr 循环控制中的每个主项都必须是常量或包含隐含 DO 的 DO 变量。
消息 ID:ERROR_0706
MODULE PROCEDURE 语句中的每个 module_procedure_name 都必须是可通过主机关联或使用关联进行存取的模块过程名称。编译器在主机中发现模块过程名称,但它却不是模块过程的名称。它是变量、派生类型或名称列表组的名称。以下是编译器找到的一个示例:
MODULE MOD DIMENSION MM(100) CONTAINS SUBROUTINE JOE() INTERFACE BAD MODULE PROCEDURE MM ! MM 不是一个模块 ! 过程。它是 ! 一个数组。 END INTERFACE END SUBROUTINE JOE END MODULE
消息 ID:ERROR_0707
编译器检测到一个位于接口块内部的模块过程声明,但是该接口块处于模块过程自身的范围内。以下示例可以阐明这一点:
MODULE MM CONTAINS SUBROUTINE JOE INTERFACE GENERIC MODULE PROCEDURE JOE ! 这是一个 ! 对包含过程的引用 END INTERFACE CALL GENERIC() ! 这是一个递归引用, ! 因此 JOE ! 必须声明为 ! RECURSIVE SUBROUTINE JOE END SUBROUTINE JOE END MODULE
消息 ID:WARNING_0708
DATA 语句隐含 DO 具有以下格式:
(data_i_do_object_list, data_i_do_variable = scalar_int_expr, scalar_int_expr [, scalar_int_expr])data_i_do_object 可以是数组元素、标量结构组件引用或另一个隐含 DO。如果 data_i_do 对象是结构组件引用,那么该结构或组件名称中至少应有一个具有和它关联的下标列表。
消息 ID:ERROR_0709
REAL*16、DOUBLE PRECISION*16 和 COMPLEX*32 不受 -dp 命令行选项影响。它们将仍为双精度类型。
消息 ID:WARNING_0710
通用内在函数名称出现在类型声明语句中。根据参数的数据类型,通用内在函数执行各种运算。特定数据类型不能赋给通用内在函数。该类型声明语句被忽略。
消息 ID:CAUTION_0711
如果模块过程和通用接口名称相同,则必须在通用接口中将模块过程指定为一个特定的名称。以下是一个合法示例:
MODULE XYZ INTERFACE IN MODULE PROCEDURE IN END INTERFACE CONTAINS SUBROUTINE IN() END SUBROUTINE IN END MODULE XYZ下面是一个非法示例:
MODULE XYZ INTERFACE IN MODULE PROCEDURE NOT_IN END INTERFACE CONTAINS SUBROUTINE IN() END SUBROUTINE IN SUBROUTINE DOIT() CALL IN() !非法;编译器无法 ! 确定调用哪一个 IN。 END SUBROUTINE DOIT SUBROUTINE NOT_IN() END SUBROUTINE NOT_IN END MODULE XYZ
消息 ID:ERROR_0712
如果通用接口和外部过程(或模块过程)共享相同的名称,那么该过程就必须是通用接口中一个特定名称。如果模块过程和通用接口名称相同,则必须在通用接口中将模块过程指定为一个特定的名称。以下是一个合法的示例:
MODULE XYZ CONTAINS SUBROUTINE IN() END SUBROUTINE IN SUBROUTINE DOIT() INTERFACE IN MODULE PROCEDURE IN END INTERFACE CALL IN() END SUBROUTINE DOIT END MODULE XYZ下面是一个非法示例:
MODULE XYZ CONTAINS SUBROUTINE IN() END SUBROUTINE IN SUBROUTINE DOIT() INTERFACE IN MODULE PROCEDURE NOT_IN END INTERFACE ! 非法;IN 不在接口中 CONTAINS SUBROUTINE B CALL IN() !非法;编译器无法 END SUBROUTINE B! 确定调用哪一个 IN END SUBROUTINE DOIT SUBROUTINE NOT_IN END SUBROUTINE NOT_IN END MODULE XYZ
消息 ID:ERROR_0713
公共块名称被用作内在过程名称。这是 Fortran 标准的一个扩展。
消息 ID:ANSI_0714
编译器不能同时打开汇编语言文件和二进制文件。禁用了汇编语言输出,因为命令行(-eB 或 -b filename)已要求二进制输出。编译器处理了与此类似的命令行:
-eS -eB file.f此警告指出 -eB 选项会覆盖 -eS 选项。
消息 ID:LOG_WARNING_0715
Fortran 标准禁止公共块名作为外部子程序名或者程序单元名使用。程序单元是一个块数据子程序、一个模块子程序或者是一个主程序。外部子程序是外部函数或子例程。
消息 ID:ANSI_0716
如果指定了 MPP 初级选项,即使用户只要求特定的 CIF 记录,还是会产生所有的 CIF 记录。
消息 ID:LOG_WARNING_0717
例程 set_format_start_idx 试图使输入行号与当前在该语句缓冲区中的行号相匹配。它找不到匹配。应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0718
试图计算常量表达式的值时,编译器遇到的整数值太大而不能表示。常量表达式是只包含常量的表达式,表达式的值是在编译时决定的,不是在执行时。此错误可能在中间计算(例如,加、减、乘、除或求幂)过程中出现,或者在计算过程中需要进行数据转换(例如,从实数转换为整数)时出现。
消息 ID:WARNING_0719
试图计算常量表达式的值时,编译器遇到的整数值或实数值太大而不能表示。常量表达式是只包含常量的表达式,表达式的值是在编译时决定的,不是在执行时。此错误可能在中间计算(例如,加、减、乘、除或求幂)过程中出现,或者在计算过程中需要进行数据转换(例如,从双精度转换为实数)时出现。
消息 ID:ERROR_0720
试图计算常量表达式的值时,编译器遇到了除数为零的除法运算。常量表达式是只包含常量的表达式,表达式的值是在编译时决定的,不是在执行时。
消息 ID:ERROR_0721
遇到了不带括号组的函数名。
消息 ID:ERROR_0722
指定通用接口名称或内部函数名称时,未带括号组。
消息 ID:ERROR_0723
编译器要求赋值语句,但在相应位置却找不到赋值或指针赋值运算符。
消息 ID:ERROR_0724
USE 语句中所指定的模块必须以同一操作系统为目标进行编译。目标操作系统不能混合。
消息 ID:ERROR_0725
编译器试图读写模块信息文件时收到读写错误。
消息 ID:ERROR_0726
BOUNDARY 参数必须与 ARRAY 具有相同的类型和类型参数。
消息 ID:ERROR_0727
至少要有一个实际参数传递给此内在过程。
消息 ID:ERROR_0728
Fortran 标准规定:BOZ 类型常量仅能在 DATA 语句中出现,并且仅能被用于初始化整数类型的变量。
消息 ID:ANSI_0729
那些是表达式、常量或向量定值下标数组等的实际参数已经与一个具有 INTENT(OUT) 或 INTENT(INOUT) 属性的伪参数进行了关联。因为该实际参数不能被定义,所以发出一个警告。
消息 ID:WARNING_0730
在 USE 语句带来的模块中找到了用于程序单元的伪参数名。这造成名称冲突,因此是不允许的。示例:
MODULE NEW INTEGER ABC END MODULE SUBROUTINE XYZ(ABC) USE NEW ! 此处的 ABC 是非法的 END SUBROUTINE
消息 ID:ERROR_0731
编译器不能在模块中找到指定的名称。如果在 USE 语句中指定了名称,那么名称就必须在该模块中。
消息 ID:ERROR_0732
在指定不带下标列表的数组时,霍尔瑞斯常量(包括字符型格式 "...")可以初始化整数数组或实数数组的多个元素。例如,如果将数组声明为
INTEGER a(2)
在 64 位机上,以下 DATA 语句具有相同的效果:
DATA a /'1234567890123456'/ DATA a /8H12345678, 8H90123456'/
以这种方式初始化数组元素是 Fortran 标准的一个扩展。它是一个过时的特性。建议在现有代码中尽可能将其删除并在新代码中避免使用。
消息 ID:ANSI_0733
在 create_loop_stmts 中发现意外的中间文本。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0734
Fortran 标准将块 DO 构造定义为 DO 循环,该循环以 END DO 或 CONTINUE 语句终止,其中 DO 循环嵌套中的每个 DO 循环都必须有其各自的终止 END DO 或 CONTINUE 语句。通过允许多个 DO 循环共享单一标记为通用终止语句的 END DO,编译器扩展了标准。
这是一个过时的特性。建议在现有代码中尽可能将其删除并在新代码中避免使用。
消息 ID:ANSI_0735
该程序单元的名称在由 USE 语句引入的模块中发现。这造成名称冲突。
示例:
MODULE NEW INTEGER ABC END MODULE PROGRAM ABC USE NEW ! 此处的 ABC 是非法的 END PROGRAM
消息 ID:ERROR_0736
在 process_deferred_io_list 例程中,在下一个 stmt 中发现了没有 Br_Index_Opr 的 Alt_Return_Opr。这表示存在一个内部编译器错误条件。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0737
如果 CMPLX 内在函数的伪参数 X 是复数类型,那么不能出现伪参数 Y。
消息 ID:ERROR_0738
不允许将实际参数传递给此内在函数。参数被忽略。
消息 ID:WARNING_0739
指定 IMPLICIT NONE 时,所有语句函数必须设定为显式类型。
消息 ID:ERROR_0740
指定 IMPLICIT NONE 时,所有语句函数的伪参数必须设定为显式类型。
消息 ID:ERROR_0741
当在主范围内指定了 IMPLICIT NONE 时,所有语句函数必须设定为显式类型,包括任何包含范围中的函数。
消息 ID:ERROR_0742
当在主范围内指定了 IMPLICIT NONE 时,所有语句函数伪参数必须设定为显式类型,包括任何包含范围中的函数。
消息 ID:ERROR_0743
此硬件不支持此命令行选项。该选项被忽略。
消息 ID:LOG_WARNING_0744
对于给定的 CASE 构造,每个 case_value 都必须和 SELECT CASE 语句所指定的 case_expr 具有相同的类型。对于字符类型,各 case_value 相互之间不必具有相同的长度,也不必与 SELECT CASE 语句中的 case_expr 具有相同的长度。
消息 ID:ERROR_0745
对于给定的 CASE 构造,case_value_range 不能重迭;不能存在与多个 case_value_range 匹配的 SELECT CASE 语句 case_expr 值。
编译器遇到了已经在同一 CASE 构造的前一个 CASE 语句中指定的 case_value。示例:
SELECT CASE (k) CASE (1) ... CASE (1) ! 错误;条件值 1 已经 ... ! 被指定过了 END SELECT
消息 ID:ERROR_0746
对于给定的 CASE 构造,case_value_range 不能重迭;不能存在与多个 case_value_range 匹配的 SELECT CASE 语句 case_expr 值。
编译器遇到一个 case_value,它的值包含在同一 CASE 构造的前一个 CASE 语句所指定的 case_value_range 中。示例:
SELECT CASE (k) CASE (1:10) ... CASE (3) ! 错误;条件值 3 ! 包含在 ... ! 前面的 CASE 语句的 ! 范围 (1:10) 中。 END SELECT
消息 ID:ERROR_0747
对于给定的 CASE 构造,case_value_range 不能重迭;不能存在与多个 case_value_range 匹配的 SELECT CASE 语句 case_expr 值。
编译器遇到一个 case_value_range,它指定一个范围,其中包含的值已经由同一 CASE 构造的前一个 CASE 语句中的 case_value 指定。示例:
SELECT CASE (k) CASE (5) ... CASE (1:) ! 错误;条件值 5 ... ! 已经被指定过了 END SELECT
消息 ID:ERROR_0748
对于给定的 CASE 构造,case_value_range 不能重迭;不能存在与多个 case_value_range 匹配的 SELECT CASE 语句 case_expr 值。
编译器遇到了一个 case_value_range,它与同一 CASE 构造的前一个 CASE 语句中指定的 case_value_range 重叠。示例:
SELECT CASE (k) CASE (1:10) ... CASE (5:) ! 错误;范围 5:10 ... ! 已经被指定过了 END SELECT
消息 ID:ERROR_0749
语句函数中仅能使用标量伪参数和标量实际参数。
消息 ID:ERROR_0750
语句函数的实际参数类型必须与其关联的伪参数类型一致。
消息 ID:ERROR_0751
语句函数的实际参数种类类型必须与其关联的伪参数种类类型一致。
消息 ID:ERROR_0752
语句函数不能调用自身。
消息 ID:ERROR_0753
语句函数调用的实际参数数量必须与其伪参数数量相同。
消息 ID:ERROR_0754
仅允许标量语句函数。
消息 ID:ERROR_0755
根据类型赋值一致性规则,语句函数表达式必须和语句函数结果兼容。
消息 ID:ERROR_0756
允许在语句函数表达式中指定重载或已定义的运算符。只允许内在运算。
消息 ID:ERROR_0757
如果 SELECT CASE 语句的 case_expr 的值为 c,且 CASE 选择符的格式为 low:high,那么选择 case 的条件是表达式 low .LE. c .AND. c .LE. high 为 true。被诊断的表达式的值永远不会为真,因为冒号左边的值 low 大于冒号右边的值 high。因此,这是“空”CASE 且永远不会执行 CASE 中的代码。
消息 ID:WARNING_0758
语句函数的所有实际参数必须为标量数据对象。以下属性将非数据对象声明为过程。
EXTERNAL INTRINSIC VFUNCTION NOSIDE EFFECTS
消息 ID:ERROR_0759
该对象不能用作语句函数的参数,因为它不是标量数据对象。
消息 ID:ERROR_0760
语句函数的所有实际参数必须为标量数据对象。
消息 ID:ERROR_0761
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0762
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0763
CASE 选择器具有以下基本格式:
CASE (case_value) CASE (case_value:) CASE (:case_value) CASE (case_value:case_value)
如果 SELECT CASE 语句的 case_expr 为逻辑类型,那么只允许第一种格式;即 CASE 选择器不能包含任何范围。
消息 ID:ERROR_0764
SELECT CASE 语句具有以下格式:
[case_construct_name:] SELECT CASE (case_expr)
case_expr 必须为整数、字符或逻辑等类型的标量。
消息 ID:ERROR_0765
CASE 语句具有以下格式:
CASE (case_value) CASE (case_value:) CASE (:case_value) CASE (case_value:case_value)
case_value 必须为标量。
消息 ID:ERROR_0766
SELECT CASE 语句具有以下格式:
[case_construct_name:] SELECT CASE (case_expr)
case_expr 必须是整数、字符或逻辑类型。
消息 ID:ERROR_0767
CASE 语句具有以下格式:
CASE (case_value) CASE (case_value:) CASE (:case_value) CASE (case_value:case_value)
第一种格式中的 case_value 必须是整数、字符或逻辑类型。后三种格式中的每个 case_value 都必须是整数或字符类型。
消息 ID:ERROR_0768
编译器正在查找跟在 END 关键字之后的 EOS 或以下内容:BLOCK DATA、MODULE、PROGRAM、SUBROUTINE、FUNCTION、INTERFACE、TYPE、IF、DO、SELECT 或 WHERE。编译器既没有找到 EOS,也没有找到列表中的任何关键字。
消息 ID:ERROR_0769
可以出现具有数据类型属性的 kind_selector,如:
INTEGER kind_selector
kind_selector 具有以下格式:
( [KIND=] expr)
其中 expr 必须是标量整数初始化表达式。初始化表达式本质上是由内在运算符、常量主项和/或对所选内在函数的引用而构成的表达式。该表达式必须是在编译时可以计算的合成值。有关将表达式化分为初始化表达式所必须满足的所有特性的完整说明,请参阅手册。
消息 ID:ERROR_0770
Fortran 标准只允许在 DATA 语句值列表中使用 BOZ 类型常量。编译器将它们看作布尔类型并允许在可以使用布尔类型的位置使用。
消息 ID:ANSI_0771
将伪参数声明为假定形数组时,和它关联的实际参数必须在类型、种类类型和形状上保持一致。形状一致意味着在每个等级中都具有相同的等级和范围。
消息 ID:ERROR_0772
实际参数是数组表达式或指针时,仅能与同一等级中的数组伪参数关联。
消息 ID:ERROR_0773
实际参数类型的类型和/或种类类型无效。
消息 ID:ERROR_0774
进行边界扩充的过程中,如果范围是一个暂存器,那么 IR 就被假定为 tmp = max(tmp,0)。编译器检测到与此不同的内容:
消息 ID:INTERNAL_0775
cif_stmt_type_rec 可能正在试图处理一个映射至 enum 值 CIF_Stmt_Type_Error 的语句。CIF 精确语句类型的数组可能与标准语句类型数组不匹配。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0776
传递给 PRESENT 内在函数的伪参数必须是具有 OPTIONAL 属性的伪参数。
消息 ID:ERROR_0777
Fortran 标准允许格式说明符是缺省字符表达式、FORMAT 语句标签、星号 (*) 或者标量缺省整型变量。编译器允许其他格式作为扩展。包括整型及实型完整数组以及霍尔瑞斯或布尔常量。对这些扩展的解释时将它们看作包含霍尔瑞斯数据。
消息 ID:ANSI_0778
LOC 内在函数参数必须是变量、数组或数组元素。LOC 内在函数是 Fortran 标准的一个扩展。
消息 ID:ERROR_0779
派生类型定义是一个 Fortran 作用单元。给定的语句标签仅能在作用单元中定义一次。在当前派生类型定义中发现先前的语句标签定义。
消息 ID:ERROR_0780
字符子串引用具有不正确的子串指示器。在以下字符子串引用中,子串指示器 begin 和 end 指示了子串的开始和结束字符的位置:
CHAR ([begin]:[end])
如果子串长度大于 0,那么 begin 和 end 都必须大于 0 并小于或等于实体 CHAR 中字符的数量。如果 end 小于 begin,那么子串长度为 0。
消息 ID:ERROR_0781
列表入口使用不正确。这可能是 IL_ARG_DESC_VARIANT 为真时使用了字段 IL_PREV_LIST_IDX 或 IL_ARG_DESC_VARIANT 为假时使用了 IL_ARG_DESC_IDX 的结果。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0782
ASSOCIATED 内在函数的第二个参数必须是指针或目标。
消息 ID:ERROR_0783
此参数必须是指针。
消息 ID:ERROR_0784
下列自动任务指令之一没有在并行区域或保护区域内。以下指令只可用在由 PARALLEL/ENDPARALLEL 指令所约束的并行区域内部。
CASE ENDCASE DO PARALLEL END DO
消息 ID:ERROR_0785
具有 INTENT(OUT) 或 INTENT(INOUT) 属性的伪参数仅能和可定义的实际参数关联。将表达式、常量、或向量下标数组段和伪参数进行关联是一个错误。将 INTENT(IN) 伪参数用作与此类伪参数关联的实际参数也是一个错误。
消息 ID:ERROR_0786
此内在过程是 Fortran 标准的一个扩展。
消息 ID:ANSI_0787
使用 -G0 调试选项要求关闭所有优化。编译的处理相当于在命令行上指定 -O0。通过不同级别的 -G 选项打开优化调试。
消息 ID:LOG_WARNING_0788
当 CASE 语句 case_selector 的 case_value 范围包含冒号时,case_value_range 必须具有以下格式之一:
case_value: 或 :case_value 或 case_value:case_value
遇到了缺少左侧和右侧 case_value 的 case_value_range。
消息 ID:ERROR_0789
遇到了拼写错误或无法识别的编译器指令。
消息 ID:WARNING_0790
在此范围内,USE 语句中指定为模块名的名称已不作为模块名。module_name 只能是模块名称。以下是一个错误示例。
PROGRAM ABC USE MOD_M :: BAD => R ! 新的局部变量,BAD USE BAD ! 非法 - BAD 是此范围内的 ! 一个局部变量。 END PROGRAM
消息 ID:ERROR_0791
模块不能调用其自身,如同本例:
MODULE MODULE_M USE MODULE_M ! 这是非法的 ... END MODULE
消息 ID:ERROR_0792
USE 语句中指定的模块为空,意味着找不到 only_list 所指定的名称。该模块似乎是空的,原因是所有的模块实体都为专用的、模块有编译错误、或者包含模块信息的文件被破坏。
消息 ID:ERROR_0793
INTEGER= 在编译器遇到声明语句或可执行语句之前编译器指令必须出现。这意味着它可以在该程序单元之前或紧跟在该程序单元标题语句之后。以下示例显示了两个允许的上下文。接口体、内部过程或模块过程中不允许 INTEGER= 编译器指令。
CDIR$ INTEGER = 64 integer i i = 10 end subroutine sub CDIR$ INTEGER = 46 i = 10 end
消息 ID:ERROR_0794
编译器指令处在程序单元之外。该指令必须在该程序单元内指定。
消息 ID:WARNING_0795
IVDEP 编译器指令的安全向量长度必须是标量整型常量表达式,这样编译器才能在编译时对其计算。
消息 ID:ERROR_0796
此硬件不支持此命令行选项。该选项被忽略。
消息 ID:LOG_WARNING_0797
该 DO ALL 指令允许以下参数和工作分配:
IF(expr) SHARED(variable_list) PRIVATE(variable_list) AUTOSCOPE CONTROL(variable_list) SAVELAST MAXCPUS(n) SINGLE CHUNKSIZE(n) NUMCHUNKS(m) GUIDED [vl] VECTOR
消息 ID:ERROR_0798
在固定源格式中,允许将 Fortran 字符集之外的字符用作续行指示符。这是 Fortran 标准的一个扩展。
消息 ID:ANSI_0799
在 DO ALL 指令中有一个以上工作分配是不合法的。
消息 ID:ERROR_0800
编译器遇到了一个可识别但却不支持的编译器指令。出现这种情况的原因是该编译器指令与支持的硬件不相关或者将来的版本才会支持该编译器指令。
消息 ID:WARNING_0801
任务编译器指令定义并行区域的范围或上下文时,该参数必须是全程变量,而不能是变量子对象。不允许以下代码片段。
TYPE X INTEGER I ENDTYPE TYPE(X) :: K CMIC$ DO ALL SHARED(K%I)
消息 ID:ERROR_0802
任务编译器指令 DO ALL 和 PARALLEL 的 IF 参数要求标量逻辑表达式。
消息 ID:ERROR_0803
任务编译器指令语句中的 SHARED、PRIVATE 或 CONTROL 列表中有非变量的对象。它将被忽略。
消息 ID:CAUTION_0804
在任务指令语句中,一个变量同时列在 PRIVATE 和 SHARED 变量列表中。
消息 ID:ERROR_0805
任务指令中赋给 MAXCPUS、CHUNKSIZE、NUMCHUNKS 或 GUIDED 参数或者工作分配的参数都必须为标量整型表达式。
消息 ID:ERROR_0806
RESHAPE 内在函数的 SHAPE 参数必须是一级数组,且其中的元素不能多于 7 个。
消息 ID:ERROR_0807
以下是用于 DO PARALLEL 编译器指令的允许工作分配:
SINGLE CHUNKSIZE(n) NUMCHUNKS(m) GUIDED [vl] VECTOR
消息 ID:ERROR_0808
以下是 PARALLEL 指令允许的参数。
IF(expr) SHARED(variable_list) PRIVATE(variable_list) AUTOSCOPE CONTROL(variable_list) SAVELAST MAXCPUS(n)
消息 ID:ERROR_0809
给定对象的线性类型为 Err_Res。这需要设置为正确的线性类型,以便能够分配存储。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0810
在以下格式的 CASE 语句中:
CASE (case_value_range_list)case_value_range 必须具有以下格式之一:
case_value case_value: :case_value case_value:case_value
每个 case_value 都必须是标量的整数、字符或逻辑类型初始化表达式。case_value 还必须与对应的 SELECT CASE 语句中的表达式具有相同的类型。字符或逻辑初始化表达式与字符或逻辑常量表达式是相同的。整型初始化表达式是其中求幂运算仅允许使用整数幂的整数常量表达式。
消息 ID:ERROR_0811
ENDCASE 任务指令仅能用于关闭由 CASE 指令分隔的并行区域集。
消息 ID:ERROR_0812
END DO 自动任务指令仅能用在 DO PARALLEL 指令之后。将两条指令置于各自独立的并行区域中可能会产生该错误。
消息 ID:ERROR_0813
DO ALL 指令创建一个并行区域,该并行区域是下一 DO 循环体。不能将它用于另一个并行区域。
消息 ID:ERROR_0814
由 GUARD/ENDGUARD 指令对保护的区域不能重叠或嵌套。如果在 ENDGUARD 之前遇到了两个或多个 GUARD 指令就将发出此消息。
消息 ID:ERROR_0815
如果 GUARD 或 ENDGUARD 自动任务指令提供了互斥标志,必须也为匹配的指令指定相同的值。
消息 ID:ERROR_0816
遇到 ENDGUARD 自动任务指令而没有匹配的 GUARD 指令。
消息 ID:ERROR_0817
标记并行区域入口的 PARALLEL 自动任务指令不能用于另一并行区域之内。
消息 ID:ERROR_0818
在同一作用单元内,END PARALLEL 自动任务指令仅能用于 PARALLEL 指令之后。
消息 ID:ERROR_0819
遇到结束并行区域的 END PARALLEL 自动任务指令。此区域内有 CASE 指令,但没有 END CASE 结束指令。
消息 ID:ERROR_0820
在并行区域内不能对内部函数或子例程执行调用。其中包含 PARALLEL/ENDPARALLEL 指令绑定的区域或 DO ALL 循环主体内的区域。
消息 ID:ERROR_0821
在进入或终止范围前,所有并行区域和保护区域必须终止。在并行区域或保护区域中,如果遇到 CONTAINS 语句或 END、END FUNCTION、END SUBROUTINE 等语句,则报告错误。
消息 ID:ERROR_0822
用户已尝试通过 EQUIVALENCE 语句重叠两个不同的公共块。这是非法的。例如:
PROGRAM BAD COMMON /ONE/ A,B,C COMMON /TWO/ D,E,F EQUIVALENCE(A,D) ! 非法 END
消息 ID:ERROR_0823
执行了对 PDGCS 接口的调用,此调用要求有效的 PDGCS 符号表索引作为它的一个参数。它必须是有效索引,但编译程序检测到 NULL 索引。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0824
使用块数据程序单元为命名公共块中的数据对象提供初始值。通过扩展,空白公共块中的对象也可以在块数据程序单元中初始化。
被初始化的对象不是被编译的数据块程序单元中声明的任何公共块(命名或空白)的成员。因为对象不是公共块的成员,所以其初始化在块数据子程序外无效。应该将初始化删除或使此项目成为公共块(最好是命名)的成员。
消息 ID:WARNING_0825
不能重叠同一公共块内的两个不同对象,以避免它更改公共块的存储序列。示例:
PROGRAM BAD COMMON // A,B,C EQUIVALENCE (A,C) ! 这是非法的 END
消息 ID:ERROR_0826
在表达式中使用对象时,如果此对象是首次引用,则隐式定义其类型。只有对象与此类型相符时,接下来才能在类型声明语句中定义此对象的类型。
示例:
DIMENSION ARRAY(K) REAL K ! 非法
K 只能被定义为整型,因为它在 DIMENSION 语句中被隐式定义为整型。并且,如果在隐式语句前引用可能复位其类型的对象,则保留此对象的原始隐式类型。
消息 ID:ERROR_0827
内部编译器错误。已用无效运算符调用表达式文件夹的驱动程序。
消息 ID:INTERNAL_0828
遇到与其他元素具有不同类型或种类类型的数组构造函数的元素。
消息 ID:ERROR_0829
调用此特定内在过程时,只能存在一个参数或不能存在参数。
消息 ID:ERROR_0830
下标值必须大于或等于声明的相应维数下界。
消息 ID:ERROR_0831
执行 use_stmt_semantics 时,假设它工作在当前范围,并且该局部名称表创建于局部名称表的末尾。编译器检测到跟随此范围局部名称表入口的另一范围的局部名称表入口。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0832
此内在过程的实际参数必须是可分配数组。
消息 ID:ERROR_0833
初始化表达式结果值的形式与相应命名常量的形式必须匹配。
消息 ID:ERROR_0834
仅能将标量值赋予标量命名常量。
消息 ID:ERROR_0835
所有的编译器暂存器被创建时必须有分配给它们的存储块。存储器偏移分配期间,编译器在 pass2 语义末尾检测到没有存储块的编译器暂存器。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0836
DATA 语句或数组构造函数中隐含 DO 列表包含一个不是标量的隐含 DO 循环控制变量。
DATA 语句隐含的 DO 具有以下格式:
(data_i_do_object_list, data_i_do_variable = scalar_int_expr, scalar_int_expr [, scalar_int_expr])
数组构造函数隐含 DO 具有以下格式:
(ac_value_list, ac_do_variable = scalar_int_expr, scalar_int_expr [, scalar_int_expr])
作为对解释请求的反应,Fortran 标准的更正扩展了作为语句实体的隐含 DO 循环控制变量(I/O 隐含的 DO 变量不是语句实体)的规则。本质上讲,它说明在包含 DATA 语句或数组构造函数的作用单元中,语句实体名可以和公共块名或整型标量名相同。因此,语句实体名不能和以下名称相同:外部过程、内部过程、模块过程、命名常量、构造名、通用名、派生类型名和数组等。同样,因为它必须为整型,所以它的名称也不能和声明为非整型的实体相同。
通过允许 data_i_do_variable 或 ac_do_variable 具有和整数数组相同的名称,Sun f90 扩展了此标准。
消息 ID:ANSI_0837
数组构造函数值必须都具有相同的类型和参数类型。它包括字符长度。
消息 ID:ERROR_0838
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0839
用户尝试与未正确声明的变量等效。子串对象必须是字符类型,而且下标对象必须是数组。
消息 ID:ERROR_0840
在段下标三元组中,开始值必须大于或等于声明的数组下界。例如,如果数组声明如下:
INTEGER array(10)引用 ARRAY 的段下标三元组的开始值必须等于或大于 1。
消息 ID:ERROR_0841
在类型声明语句中用于初始化数据对象的表达式必须计算为常量值。
消息 ID:ERROR_0842
使用从初始化表达式确定的值对变量进行定义。这必须满足 Fortran 标准中定义的内部赋值规则。指定变量的类型和值的类型不满足内在赋值的规则。
消息 ID:ERROR_0843
仅能将标量值赋予标量变量。
消息 ID:ERROR_0844
初始化表达式的形式与相应变量的形式必须匹配。
消息 ID:ERROR_0845
转换到 PDGCS 期间,send_stor_blk 找到和主机关联的静态存储块,而在局部范围中没有存储块。所有这些主机关联的存储块应该在 attr_link_resolution 期间已进入局部存储块。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0846
每个非常量数据对象都应该有赋值给它的存储块。如果是接口块,必须在 decl_semantics 的末尾赋值存储块。如果不是接口块,必须在将此对象通过接口发送到 PDG 时赋值存储块。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0847
用字符类型的实际参数引用语句函数,此函数的长度比它在语句函数定义中关联伪参数的长度要短。字符类型的实际参数的长度必须大于或等于关联伪参数的长度。
消息 ID:ERROR_0848
在段下标三元组中,开始值必须小于或等于声明的数组上界。例如,如果数组声明如下:
INTEGER array(10)引用 ARRAY 的段下标三元组的开始值必须等于或小于 10。
消息 ID:ERROR_0849
final_decl_semantics 期间,编译器找到主机关联的对象,但此对象不是主机关联的存储块。所有主机关联的栈变量都必须在主机关联的栈存储块中。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0850
标明的对象被声明为 TASK COMMON 块的成员,因此不能将其初始化。
消息 ID:ERROR_0851
转换到 PDGCS 期间,发现主机关联的伪参数或变量没有设置 AT_REF_IN_CHILD 或 AT_DEF_IN_CHILD 标志。要成为主机关联,对象必须由包含的过程引用或定义。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0852
用于指针赋值语句中的目标和指针的参数类型必须一致。如果目标和指针是字符类型,还要包括字符长度。这也适用于与指针组件相对应的结构构造函数的表达式。
消息 ID:ERROR_0853
编译器不能打开用于 USE 语句处理的指定模块文件。检查文件和目录的权限。如果是非 Cray Research 系统,编译器可能会试图打开 .M 文件。此文件在命令行上被指定为 -p x.o。
消息 ID:ERROR_0854
编译器检测到模块中有错误;因此将不会为此模块创建模块信息文件。这些错误可以导致模块信息文件中的信息不可靠。
消息 ID:ERROR_0855
DO 语句指定了超出目标机器所允许最大值的迭代计数(完成循环的次数)。
对于以下语句,计算出的迭代应为 (end - start + inc) / inc
DO [label] [,] do_variable = start, end [, inc]
消息 ID:ERROR_0856
编译器尝试在编译时(这时开始、结束和增量值都是常量或都是常量表达式)计算 DO 循环或隐含的 DO 迭代计数。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0857
用户试图将保存的对象与公共块等效。
消息 ID:ERROR_0858
SUPPRESS 指令中仅允许变量名。不允许结构组件、数组元素或数组段和字符子串。
消息 ID:ERROR_0859
此内在过程名不能在实际参数列表中。
消息 ID:ERROR_0860
结构不适当的内部文本。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0861
通过某种方式将对象等效,用户更改了此对象的存储顺序。例如:
DIMENSION IA(10) COMMON /AA/ A,B,C,D,E,F,G,H,I,J,K EQUIVALENCE (IA(1), A) EQUIVALENCE (IA(2), C) ! 非法;更改了 IA 的顺序 END
消息 ID:ERROR_0862
编译器检测到对象的使用和声明之间有冲突。声明的对象被函数字符长度表达式引用,这样就禁止将它声明为以下项目:
Cray 指针 Cray 指针对象 Cray 字符指针对象 函数结果 派生类型 名称列表组 构造名 替换函数入口 子例程
消息 ID:ERROR_0863
对象被函数字符长度表达式引用,这样就禁止它作为接口块中的子例程或将它用作子例程。
消息 ID:ERROR_0864
在命令行中既指定 -O inline[0-3] 又指定 -I 文件名后,就会发布此消息。已选定非自动内联。
消息 ID:LOG_WARNING_0865
编译器检测到此对象的使用发生冲突。声明的对象被函数字符长度表达式引用,这样就禁止将它用作派生类型名称。
消息 ID:ERROR_0866
USE 语句中指定的模块表面上为空。这可能是由以下某种原因造成的:
-- 模块在其规范部分不包含声明。
-- 模块中的一切均被声明为专用的。
-- 模块有编译错误。
消息 ID:WARNING_0867
此表达式必须是常量初始化表达式。表达式引用的每个标识符都必须在此表达式前声明为常量。
消息 ID:ERROR_0868
用 INTRINSIC 属性指定的名称是内在子例程。子例程不能被定义类型。示例:
REAL, INTRINSIC :: DATE_AND_TIMEDATE_AND_TIME 是内在子例程。子例程不能被定义类型,因此这不是有效的语句。
消息 ID:ERROR_0869
此规范表达式中包含对内在函数的引用,这在规范表达式中是不允许的。内在函数必须要有标量整数结果。
消息 ID:ERROR_0870
语句标题的连接出错。指定语句的标题通过 SH_NEXT_IDX 域或 SH_PREV_IDX 域索引到自身。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0871
在数组构造函数内或 I/O 列表中遇到隐含 DO,而它没有对象列表。以下是不允许的隐含 DO 的示例。
PRINT *, (I=1,10)
消息 ID:ERROR_0872
此消息是从 insert_sh_after_entries 发布的。编译器试图将长度边界更改为 length = 0,但此长度边界有多个语句标题。这种情况不应发生。仅有实际边界入口才能有多个语句标题。长度和范围应该仅是一个长度语句。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0873
在 CDIR$ 标识行中遇到了除字符型常量外的内容。
消息 ID:ERROR_0874
特定的实际参数在此上下文中不能为可选的伪参数。
消息 ID:ERROR_0875
AUXILIARY 属性是 Fortran 标准的一个扩展。只有当辅助存储块为公共块时,才能在模块的规范部分中指定这些存储块。
消息 ID:ERROR_0876
-u 选项用于调试编译器,而且仅有 DEBUG 编译器才有此选项。
消息 ID:LOG_WARNING_0877
模块名为全局名称,并且按照定义,所有的全局名称必须是唯一的。编译器检测到在此范围内有多个具有相同名称的模块,假定它们都是同一模块。这有可能发生,因为模块可以直接或间接地使用关联到作用域单元中。例如:
MODULE ABC INTEGER I END MODULE MODULE CDE USE ABC END MODULE PROGRAM BBB USE CDE USE ABC ! ABC 已经通过 CDE 位于此范围内 END MODULE
消息 ID:CAUTION_0878
因为 I/O 库必须在 BUFFER IN 和 BUFFER OUT 操作中进行显式类型转换,所以不支持派生类型的开始 (bloc) 和结束 (eloc) 变量。
BUFFERIN (id,m) (bloc,eloc) BUFFEROUT (id,m) (bloc,eloc)
消息 ID:ERROR_0879
规范表达式中的所有运算都必须为内在运算。规范表达式不能包含定义的运算符或重载运算符。
消息 ID:ERROR_0880
DIM 参数的值必须为 >= 1 或 <= MASK 的等级。
消息 ID:ERROR_0881
在模块中声明派生类型时,组件必须声明为专用。这意味着任何使用关联此派生类型的过程都无权使用组件名称或派生类型的内部结构。
消息 ID:ERROR_0882
在模块中声明派生类型时,组件必须声明为专用。这意味着任何使用关联此派生类型的过程都无权使用组件名称或派生类型的内部结构。不能使用派生类型的结构构造函数,因为派生类型的内部结构是未知的。
消息 ID:ERROR_0883
Verify_interface 预期伪参数都应该是 Data_Objs 或 Pgm_Units。它在列表中找到了其他内容。它替代了 printf 语句“verify_interface 中的伪参数不是数据或程序”。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0884
今后的版本中将实现内联。
消息 ID:LOG_WARNING_0885
-G 2 和 -G 3 调试级别选项将在今后的版本中实现。
消息 ID:LOG_WARNING_0886
优化级别的设置要比调试级别的设置高很多。使用 -O 命令行选项可以降低此优化级别。
消息 ID:LOG_WARNING_0887
如果 ARRAY 为派生类型,则必须有 BOUNDARY 参数。
消息 ID:ERROR_0888
不允许为假设大小的数组请求上界或最后维数的范围。
消息 ID:ERROR_0889
当用 INTENT(IN) 指定伪参数时,它或它的子对象都不能被定义。
消息 ID:ERROR_0890
每个 Data_Obj 都应有类型。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0891
Fortran 标准建议使用字符常量编辑描述符,而不是使用 H 编辑描述符。
过时特征是 FORTRAN 77 的多余特征,在 Fortran 中还有更好的方法。ANSI Fortran 委员会建议程序员在新程序中使用首选方法并将现有代码转换为首选方法。如果在 Fortran 程序中过时特征的使用已经不重要,将来的 Fortran 标准委员会考虑将其从此标准中删除。
消息 ID:COMMENT_0892
符号表中的表索引字段取决于字段描述符,因此我们知道索引所在的表。检测到的带有 Null_Idx 字段描述符的索引。相关字段是
ATD_FLD ATD_CONST_IDX ATD_FLD ATD_TMP_IDX BD_LEN_FLD BD_LEN_IDX BD_LB_FLD BD_LB_IDX BD_UB_FLD BD_UB_IDX BD_XT_FLD BD_XT_IDX BD_SM_FLD BD_SM_IDX
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0893
指定的模块是在此编译单元中,但它有编译时间错误。从此模块中获得的声明可能是无效的。重新编译引用模块的模块和过程。
消息 ID:ERROR_0894
此内在运算符没有文件夹,但它是在常量构造函数中。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0895
对于 BUFFER IN 和 BUFFER OUT 的 bloc 和 eloc 参数,仅允许一定的数据类型组合。允许的组合如下:
实数 - 实数 整数 - 整数 逻辑类型 - 逻辑类型 整数 - 实数 逻辑类型 - 整数 逻辑类型 - 实数 双精度 - 双精度 双精度 - 复数 复数 - 复数 字符 - 字符
BUFFERIN (id,m) (bloc,eloc) BUFFEROUT (id,m) (bloc,eloc)
消息 ID:ERROR_0896
在 WHERE 屏蔽下,编译器扩展 VFUNCTION 不支持调用。
消息 ID:ERROR_0897
在模块中已声明对象时,它的属性即完成。它的属性不能由另一个声明语句或将其用作外部函数调用来重新指定。下面的示例说明了此问题:
MODULE M INTEGER I ! 是一个标量变量 END MODULE SUBROUTINE P2() USE M II = I(6) ! II 的引用非法 END SUBROUTINE
消息 ID:ERROR_0898
使用制表符允许作为 Fortran 标准的一个扩展。
消息 ID:ANSI_0899
使用字符 @ 允许作为 Fortran 标准的一个扩展。
消息 ID:ANSI_0900
在标识符中使用 "@" 字符是 Fortran 标准的一个扩展。
消息 ID:ANSI_0901
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0902
作为 Fortran 标准的一个扩展,允许字符类型数组构造函数具有不同长度的字符值。仅在长度为常量时才允许。最长的定长长度被选为数组构造函数元素的长度。所有短的 ac_values 都被填充到此长度。
消息 ID:ANSI_0903
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0904
在一个下标为三元组下标的段中,每个下标值都必须大于或等于数组声明的下界,或者小于或等于数组声明的上界。例如,如果数组声明如下:
INTEGER array(10)每个引用 ARRAY 的段下标三元组的下标值必须等于或大于 1 并且等于或小于 10。
消息 ID:ERROR_0905
在DATA 语句值列表中,每个结构构造函数的组件必须是初始化表达式。
通常,初始表达式的每个主项必须为常量(命名常量或类型常量)或常量的子对象。同时,对于主项必须为特定内在函数或常量表达式的数组构造函数的情况进行限制。
因为 DATA 语句值是结构构造函数,所以它的每个组件必须服从初始化表达式的规则。因此,例如,在 DATA 语句值列表中,包含变量的结构构造函数不能是常量值,从而不能是初始化表达式。
消息 ID:ERROR_0906
在边界表达式或种类选择符表达式中,检编译器测到非标量表达式。边界表达式用于声明数组维数大小和字符长度,并且必须始终为标量和整数类型。种类选择符表达式必须始终是标量整型常量,并且用于声明类型的种类。
消息 ID:ERROR_0907
如果在编译器中隐藏了此值,在 46 位的乘或除中使用此值可能产生浮点异常。当常量或超过 46 位最大值的变量,作为实际参数传递到尝试执行乘除的子例程或函数时,它就可能出现。为了防止出现此情况,请用 -i64 选项编译。-i46 选项为缺省选项。
消息 ID:CAUTION_0908
调用 VFUNCTION 最多可传递七个单字项或三个双字项。它们最多用七个字就可以采用任何顺序混合。这次调用 VFUNCTION 传递了多于七个的参数字。将函数分类为 VFUNCTION 是 Fortran 标准的一个扩展。
消息 ID:ERROR_0909
VFUNCTION 的所有参数必须适合七个寄存器。仅允许整数、实数、复数或逻辑类型的表达式,而且总字数不能大于七。将函数分类为 VFUNCTION 是 Fortran 标准的一个扩展。
消息 ID:ERROR_0910
编译器不能同时创建汇编语言列表和汇编语言输出文件。最后指定的选项是选定的选项。
消息 ID:LOG_WARNING_0911
此消息给出命令行处理期间生成的错误消息之汇总。如果在命令行处理期间找到任何错误,编译即中断。
消息 ID:LOG_SUMMARY_0912
必须启用二进制(-eB 或 -b 文件名或缺省)输出文件,才能获得汇编语言列表。例如:
-dB -er file.f
它将收到警告消息。
消息 ID:LOG_WARNING_0913
如果函数具有值确定的数组结果,它必须具有显式接口。显式接口可以通过接口块或将函数指定为内部函数或模块子程序来提供。
消息 ID:ERROR_0914
如果函数具有值确定的指针结果,它必须要具有显式接口。显式接口可以通过接口块或将函数指定为内部函数或模块子程序来提供。
消息 ID:ERROR_0915
如果函数具有可变长度字符结果,那么它必须具有显式接口。显式接口可以通过接口块或将函数指定为内部函数或模块子程序来提供。指定 EXTERNAL 属性并不给出显式接口。
消息 ID:ERROR_0916
-C 命令行选项正在被传递无效参数。
消息 ID:LOG_ERROR_0917
在引用指针前必须将它关联。此函数具有指针结果,但结果未在指针赋值语句或 ALLOCATE 语句中指定。
消息 ID:WARNING_0918
此对象在主机范围内被声明为命名常量。不能将对象声明为内部过程,因为它在主机范围内与主机关联,并且在局部范围内的初始化表达式中被用作命名常量。
消息 ID:ERROR_0919
如果在主作用域内声明对象并在局部作用域内使用该对象,则此对象是主机关联的。对象在某个范围内主机关联之后,就不能重新声明。编译器检测到一些与此类似的内容:
PROGRAM ABC INTEGER I ... CONTAINS SUBROUTINE SUBR(A) DIMENSION A(I) SAVE I ! 非法;在 DIMENSION 语句中使用了 I END SUBROUTINE END PROGRAM
消息 ID:ERROR_0920
如果在主作用域内声明对象并在局部作用域内使用该对象,则此对象是主机关联的。对象主机关联到某个作用域之后,就不能对其重声明了。
消息 ID:ERROR_0921
对象已使用关联之后,就不能在任何规范语句中指定。
消息 ID:ERROR_0922
项目已使用关联之后,除了赋值给它 PUBLIC 或 PRIVATE 属性以外,就不能在任何规范语句中指定。
消息 ID:ERROR_0923
如果在主作用域内声明对象并在局部作用域内使用该对象,则此对象是主机关联的。对象在某个范围内主机关联之后,就不能重新声明。
消息 ID:ERROR_0924
项目已使用关联之后,除了赋值给它 PUBLIC 或 PRIVATE 属性以外,就不能在任何规范语句中指定。
消息 ID:ERROR_0925
如果在主作用域内声明对象并在局部作用域内使用该对象,则此对象是主机关联的。对象在某个范围内主机关联之后,就不能赋值给它 DIMENSION 属性。
消息 ID:ERROR_0926
项目已使用关联之后,除了赋值给它 PUBLIC 或 PRIVATE 属性以外,就不能在任何规范语句中指定。
消息 ID:ERROR_0927
如果在主作用域内声明对象并在局部作用域内使用该对象,则此对象是主机关联的。对象在某个范围内主机关联之后,就不能重新声明。
消息 ID:ERROR_0928
项目已使用关联之后,除了赋值给它 PUBLIC 或 PRIVATE 属性以外,就不能在任何规范语句中指定。
消息 ID:ERROR_0929
如果在主作用域内声明对象并在局部作用域内使用该对象,则此对象是主机关联的。对象在某个范围内主机关联之后,就不能重新声明。
消息 ID:ERROR_0930
项目已使用关联之后,就不能重新声明。
消息 ID:ERROR_0931
如果在主作用域内声明对象并在局部作用域内使用该对象,则此对象是主机关联的。对象在某个范围内主机关联之后,就不能重新声明。
消息 ID:ERROR_0932
项目已使用关联之后,就不能重新声明。
消息 ID:ERROR_0933
USE 语句中指定的模块明显为空,因此找不到 rename_list 指定的名称。此模块可能为空的某种原因是:
-- 模块在其规范部分不包含声明。
-- 模块中的一切均被声明为专用的。
-- 模块有编译错误。
消息 ID:ERROR_0934
尝试计算常量表达式的值时,编译器遇到的整数值太大而不能用 46 位整数格式表示。此值被处理为 64 位值,并执行了 64 位整型算术。常量表达式仅包含常量,表达式的值是在编译时而不是在执行决定的。计算过程中(如从实数转换到整数)需要数据类型转换时出现此错误。
消息 ID:WARNING_0935
DATA 语句中的隐含 DO 具有以下格式:
(data_i_do_object_list, data_i_do_variable = scalar_int_expr, scalar_int_expr [, scalar_int_expr])
三个 scalar_int_expr 表示隐含 DO 变量的开始、结束和增量值。这些表达式的每一个都必须是标量,并且每个都必须是整型。
消息 ID:ERROR_0936
有一个内在 enum 的列表,它用于调用内处理的语义例程。enum 设置为 Uknown_Intrinsic,并且正在调用 unkown_intrinsic 例程。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0937
正在使用赋值语句,它等号左边的操作数是整型,等号右边的操作数是实数或双精度类型的表达式,包含除法运算。此消息是一个警告,提示在本机上除法是通过倒数近似完成的,在这些情形中可能产生意外的答案。例如,在以下语句中,X 是 27.0 并且 Y = 9.0,X/Y 将得到 2.9999...:
I = X/Y
当 2.9999... 被赋值给 I(转换为整数)时,其结果将是 2 而不是 3。
消息 ID:CAUTION_0938
如果调用了字符函数,必须知道此字符函数的长度。
消息 ID:ERROR_0939
如果语句函数伪参数与变量具有相同的名称,可以在语句函数定义后定义此变量的类型,但仅能定义确定的类型。
消息 ID:ANSI_0940
通过声明、使用关联或主机关联可以将公共块定义在某个范围内。此范围中出错的公共块被多次定义,但在某些地方它是标准公共块,而在其他地方则是任务公共块。以下是如何在某个范围内定义公共块的示例:
MODULE CC COMMON /BB/ M,N ! 在 CC 的范围内声明 END MODULE ! 公共块 BB PROGRAM ZZ USE CC ! 公共块 BB 被使用关联到 CONTAINS ! ZZ 的范围内 SUBROUTINE YY() N = M ! 公共块 BB 被主机关联到 END SUBROUTINE ! YY 的范围内 END PROGRAM
以下是此问题的一个示例:
MODULE CC COMMON /BB/ M,N ! 在 CC 的范围内声明 END MODULE ! 公共块 BB MODULE DD TASK COMMON /BB/ M,N ! 在 DD 的范围内声明 END MODULE ! 公共块 BB PROGRAM QQ USE CC ! 公共块 BB 进入 USE DD ! 公共块 BB 进入 ! 但它是任务公共块 END PROGRAM
任务公共块是 Fortran 标准的一个扩展。
消息 ID:ERROR_0941
通过声明、使用关联或主机关联可以将公共块定义在某个范围内。此范围中出错的公共块被多次定义,但在某些地方它是标准公共块,而在其他地方则是辅助存储中的公共块。以下是如何在某个范围内定义公共块的示例:
MODULE CC COMMON /BB/ M,N ! 在 CC 的范围内声明 END MODULE ! 公共块 BB PROGRAM ZZ USE CC ! 公共块 BB 被使用关联到 CONTAINS ! ZZ 的范围内 SUBROUTINE YY() N = M ! 公共块 BB 被主机关联到 END SUBROUTINE ! YY 的范围内 END PROGRAM
辅助存储器是 Fortran 标准的一个扩展。
消息 ID:ERROR_0942
每个 io_implied_do_control 中的 scalar_numeric_expr 都必须为整数、缺省实数或双精度实数类型。Fortran 标准认为缺省实数和双精度实数类型表达式是过时的。过时特征是 FORTRAN 77 的多余特征,在 Fortran 中还有更好的方法。将整型表达式用作隐含 DO 表达式而不是缺省实数或双精度类型。
消息 ID:COMMENT_0943
在io_implied_do 中的 DO 变量必须是整数、缺省实数或双精度实数类型的标量。Fortran 标准认为缺省实数和双精度实数类型的变量是过时的。过时特征是 FORTRAN 77 的多余特征,在 Fortran 中还有更好的方法。使用整型的 DO 变量而不是缺省实数或双精度类型。
消息 ID:COMMENT_0944
通过使用 AUXILIARY 编译器指令,分配给 SSD 的实体名称出现在 I/O 语句中。不允许将 I/O 传输进或传输出辅助变量。
辅助存储器是 Fortran 标准的一个扩展。
消息 ID:ERROR_0945
SIZE= 说明符出现在没有 ADVANCE= 说明符的 READ 或 WRITE 语句中。
消息 ID:ERROR_0946
调用基本内在函数时,如果正在传递可选数组实际参数,那么也必须传递与其一致的非可选实际参数。如果两个对象的每个维数都具有相同的等级和范围,它们就是一致的。
DIMENSION A(10), B(10) MAX (A3=A, A1=B, A2=4) ! 合法 MAX (A3=A, A1=5, A2=4) ! 非法调用 MAX 时,A3 是可选参数。因为指定了 A3,所以必须指定 A1 或A2 两个非可选参数中的至少一个参数,并且非可选参数中至少有一个必须与 A3 一致。
消息 ID:ERROR_0947
如果启用 -ea 选项,则遇到第一个错误时编译终止。
消息 ID:LIMIT_0948
通用接口不能被定义类型。
消息 ID:ERROR_0949
不能将属性类型赋值给不是内在名称的通用接口名称。倘若先前没有引用过通用接口,可以将属性类型赋值给是内在属性的通用接口。
消息 ID:ERROR_0950
计算范围对本计算机而言太大。数组必须小一些。
消息 ID:ERROR_0951
Fortran 标准将外部过程定义为全局实体。在任何范围内,全局实体都不允许与局部实体具有相同的名称。
消息 ID:ANSI_0952
Fortran 标准将模块定义为全局实体。在任何范围内,全局实体都不允许与局部实体具有相同的名称。
消息 ID:ANSI_0953
此消息标识正在使用哪一个版本的编译器。指定 -V 时使用它。
消息 ID:LOG_SUMMARY_0954
编译器检测到文件提前结束。主程序单元必须由 END [PROGRAM] 语句终止。
消息 ID:ERROR_0955
如果实体在某个范围内被主机关联为变量、常量或过程,它就不能用作派生类型。
消息 ID:ERROR_0956
DATA 语句 data_stmt_value_list 中值的允许格式是:
scalar_constant signed_int_literal_constant signed_real_literal_constant structure_constructor boz_literal_constant
仅有整型常量或实型常量才能使用符号。允许带符号的 BOZ 类型常量是 Fortran 标准的一个扩展。
消息 ID:ANSI_0957
DATA 语句 data_stmt_value_list 中值的允许格式是:
scalar_constant signed_int_literal_constant signed_real-literal-constant structure_constructor boz_literal_constant
仅允许整型常量或实型常量使用符号(通过扩展,BOZ 类型常量可以使用符号)。
消息 ID:ERROR_0958
本 f90 版本不支持 DOALL 或 PARALLEL 任务指令的 AUTOSCOPE 参数。因此,所有用于并行区域中的变量都必须在 PARALLEL 或 DOALL 指令行中指定专用或共享属性。
消息 ID:WARNING_0959
如果没有指定自动范围,所有用于并行区域或 DOALL 循环的用户变量必须在共享或专用的列表中。在此 f90 版本中不支持自动范围,因而必须显式指定所有范围。
消息 ID:ERROR_0960
DOALL 循环的 DO 变量不能用 SHARED 属性指定。
消息 ID:ERROR_0961
数组构造函数中隐含的 DO 具有以下格式:
(ac_value_list, ac_do_variable = scalar_int_expr, scalar_int_expr [, scalar_int_expr])
三个 scalar_int_expr 表示隐含 DO 变量的开始、结束和增量值。这些表达式的每一个都必须是标量,并且每个都必须是整型。
消息 ID:ERROR_0962
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0963
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0964
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0965
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0966
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0967
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0968
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0969
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0970
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0971
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0972
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0973
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0974
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0975
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0976
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0977
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0978
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0979
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0980
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0981
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0982
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0983
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0984
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0985
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0986
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0987
该函数的结果名在由 USE 语句引入的模块中发现。这造成了名称冲突,如下例所示:
MODULE NEW INTEGER ABC END MODULE FUNCTION X RESULT(ABC) USE NEW ! 此处的 ABC 是非法的 END FUNCTION
消息 ID:ERROR_0988
在例程 attr_is_visible 里,编译器在 attr 表中发现一个意外的属性。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0989
在 LOC 内在函数中,辅助数组不能是实际参数。辅助存储和 LOC 内在函数都是 Fortran 标准的扩展。
消息 ID:ERROR_0990
存在多个产生歧义的特定接口。在同一通用或定义接口中指定这些接口。如果引用这个通用接口,编译器将不能解析特定的接口,因为编译器不知道解析哪一个。在一个作用域单元内,同一通用或定义接口中的两个过程通过其不可选伪参数加以区分。一种区分特定接口的方法是按其伪参数的个数。如果特定接口具有相同的伪参数个数,则伪参数必须在类型、种类类型或者等级上有所不同。在一个定义接口里的多个特定接口必须具有不同类型、种类类型或等级的伪参数。
消息 ID:ERROR_0991
如果在命令行中使用 -O 参数指定优化级别,则不能在此命令行中指定以下选项:
-O scalar0 -O vector0 -O task0 -O scalar1 -O vector1 -O task1 -O scalar2 -O vector2 -O task2 -O scalar3 -O vector3 -O task3
消息 ID:LOG_ERROR_0992
运算符 ir 节点有一个零型表索引。生成此错误消息的例程要求该运算符有一个有效类型的索引。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_0993
只能当它们都是指针时,与内在过程相关的实数参数才可以都是伪参数。
消息 ID:ERROR_0994
应避免产生此消息。编译器无法输出它已经产生的消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题。
消息 ID:INTERNAL_0995
下标必须小于或等于声明的相应维数上界。
消息 ID:ERROR_0996
在一个下标为三元组下标的段中,每个下标值都必须大于或等于数组声明的下界,或者小于或等于数组声明的上界。例如,如果数组声明如下:
INTEGER array(10)
每个引用 ARRAY 的段下标三元组的下标值必须等于或大于 1 并且等于或小于 10。
消息 ID:ERROR_0997
一个段下标三元组由一个开始值、一个结束值和一个跨度值组成,跨度值由冒号分开,如下所示:
[start-value] : [end-value] [ : stride]
跨度值不能为零。
消息 ID:ERROR_0998
CHAR 内函数的参数在有效的整理序列外。
消息 ID:ERROR_0999
-- f90 安装过程使用 "Explanation 1000"。
-- "Explanation 1000" 必须是非格式化的,因此用 $EXP 代替 $NEXP。
-- Explanation 1000 必须是 USM VID 字符串而绝不能是别的。1000 90.43\n。
消息 ID:COMMENT_1000
在其下标三元组里遇到了一个具有零跨度值的数组段。
消息 ID:ERROR_1001
当在一个名称列表组中指定了一个对象时,如果它是该对象的第一个引用,则隐式定义其类型。只有对象与此类型相符时,接下来才能在类型声明语句中定义此对象的类型。
示例:
IMPLICIT INTEGER(A-Z) NAMELIST /GROUP/ R REAL R ! 非法
R 只能被定义为整型,因为它在 NAMELIST 语句中被隐式定义为整型。
消息 ID:ERROR_1002
一个编译单元仅能有一个未命名的程序单元。
消息 ID:WARNING_1003
当前端用一个数据对象完成时,其偏移必须为零或者是正数。
消息 ID:INTERNAL_1004
Fortran 标准禁止公共块名用作内在过程名。
消息 ID:ERROR_1005
Fortran 标准禁止公共块名作为外部子程序名或者程序单元名使用。程序单元是一个块数据子程序、一个模块子程序或者是一个主程序。外部子程序是外部函数或子例程。外部子程序名也可在 ENTRY 语句、CALL 语句、EXTERNAL 语句、接口体中定义或者在表达式中作为函数调用。
消息 ID:ANSI_1006
全局名称的使用范围是整个编译单元,因此全局(或外部)名称只能声明一次。
消息 ID:ERROR_1007
-a dalign 选项在命令行里指定,所以编译器试图双精度对齐所有内容。该变量不能双精度对齐,因为它等效于另一在双精度字上不对齐的变量。
下面是一个示例:
DOUBLE PRECISION :: B, C REAL, DIMENSION(10) :: A EQUIVALENCE(A(1), B) EQUIVALENCE(A(2), C)如果 B 在双精度字上对齐,则 C 不能双精度对齐,反之亦然。
消息 ID:CAUTION_1008
一个编译单元仅能有一个程序单元。
消息 ID:WARNING_1009
全局名称的使用范围是整个编译单元,因此全局(或外部)名称只能声明一次。
消息 ID:WARNING_1010
如果当前编译单元使用 -a dalign 选项进行编译,则它使用的每个模块或内联的每个预编译程序必须用 -a dalign 选项编译。如果当前编译单元不使用 -a dalign 选项进行编译,则它使用的每个模块或内联的每个预编译程序也不能用 -a dalign 选项编译。
消息 ID:ERROR_1011
当为 LBOUND、UBOUND 或 SIZE 内在函数指定维数参数时,其值必须在数组参数的维数范围内。其范围是 1 <= 维数 <= 数组的等级。
消息 ID:ERROR_1012
-a dalign 选项强制双精度字项在双精度字边界上对齐。公共块中的对象是双精度字对象。为在双精度字边界上得到该对象,在公共块中,在对象前面插入一些填充。
消息 ID:WARNING_1013
定义为具有非恒定长度的字符对象仅能在子例程、函数或接口体(描述子例程和函数)中声明。编译器检测到非恒定长度的字符对象,但是,子例程、接口体或函数中没有声明。
消息 ID:ERROR_1014
重命名列表的 BNF 是: 局部名 => 使用名
编译器在多于一个的重命名中检测到同一局部名称。在一个范围内每个局部名称必须唯一。
消息 ID:ERROR_1015
内部编译器错误。遇到了一个 arith.a 输入转换例程不支持的类型。
消息 ID:INTERNAL_1016
用户试图为维数传递非法值。
消息 ID:ERROR_1017
内部编译器错误。对于一个内部数据结构来说,字符长度信息无效。
消息 ID:INTERNAL_1018
等效组中的任何内容都必须将 ATD_EQUIV 设置为 TRUE。
消息 ID:INTERNAL_1019
内部编译器错误。
消息 ID:INTERNAL_1020
使用隐含DO 初始化整个数组或数组段时是一种低效的办法。通过隐含 DO 初始化一个大数组可能占用巨大的编译时资源。只要有可能,这种隐含DO 应当被类型声明语句中的初始化(适用于整个数组初始化)、或是 DATA 语句中的整个数组或数组段初始化替代。例如:
INTEGER array(100,100) DATA ((array(i,j), i = 1, 100), j = 1, 100) /10000 * -1/
应当被替换为
INTEGER :: array(100,100) = -1
或者
INTEGER array(100,100) DATA array /10000 * -1/
数组的一部分之初始化应当尽可能用数组段初始化来替代(并不是所有的这种初始化都可以在数组段表示法里重写)。例如:
INTEGER array(100,100) DATA ((array(i,j), i = 1, 100), j = 1, 50) /4999 * -1, 0/
应当被替换为
INTEGER array(100,100) DATA array(:, 1:50) /4999 * -1, 0/
消息 ID:NOTE_1021
内部编译器错误。
消息 ID:INTERNAL_1022
fei_new_stmt 需要一个非零的行号。
消息 ID:INTERNAL_1023
编译器试图在编译期间对表达式求值并遇到了一个意外的结果或条件。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题。但是您可以更改代码以避免编译器发出此消息。
消息 ID:INTERNAL_1024
内部编译器错误。
消息 ID:INTERNAL_1025
编译器无法打开一个文件以写出模块信息表。请检查当前目录的写入权限。
消息 ID:ERROR_1026
模块自身不能使用它自己,任何模块包含的程序也不能使用该模块。编译器检测到一些与此类似的内容:
MODULE M ... CONTAINS SUBROUTINE S() USE M ! 非法 END SUBROUTINE END MODULE
消息 ID:ERROR_1027
一个主机关联的公共块名被用作内在过程名。这是 Fortran 标准的一个扩展。如果任何公共块成员主机关联到一个范围,则公共块名也主机关联到该范围。
消息 ID:ANSI_1028
一个使用关联的公共块名被用作内在过程名。这是 Fortran 标准的一个扩展。如果任何公共块成员使用关联到一个范围,则公共块名也使用关联到该范围。
消息 ID:ANSI_1029
Fortran 标准禁止主机关联的公共块名用作内在过程名。如果任何公共块成员主机关联到一个范围,则公共块名也主机关联到该范围。
消息 ID:ERROR_1030
Fortran 标准禁止使用关联的公共块名用作内在过程名。如果任何公共块成员使用关联到一个范围,则公共块名也使用关联到该范围。
消息 ID:ERROR_1031
Fortran 标准禁止命名常量和一个主机关联的公共块使用同一名称。如果任何公共块成员主机关联到一个范围,则公共块名也主机关联到该范围。
消息 ID:ANSI_1032
Fortran 标准禁止命名常量和一个使用关联的公共块使用同一名称。如果任何公共块成员使用关联到一个范围,则公共块名也使用关联到该范围。
消息 ID:ANSI_1033
编译器不能打开用于 USE 语句处理的指定模块文件。检查文件和目录的权限。如果是非 Cray 系统,编译器可能会试图打开 .M 文件。这个文件在命令行上被指定为 -p x.o。
消息 ID:ERROR_1034
一个设定为字符类型的对象不能做为声明其自身长度的表达式的一部分。下面是一个非法声明的示例:CHARACTER*(CH) :: CH。
消息 ID:ERROR_1035
不能将数组指定为声明自身边界的表达式的一部分。下面是一个非法声明的示例:DIMENSION :: IARR(IARR)。
消息 ID:ERROR_1036
对象声明为伪参数并被引用或定义后,该对象不能再作为过程声明或者作为过程进行引用。
消息 ID:ERROR_1037
被声明的对象是一个引用的或定义的伪参数,伪参数禁止它被声明为下列任何一项:
Cray 指针 Cray 指针对象 函数结果 派生类型 通用接口 名称列表组 语句函数 构造名 函数 子例程
消息 ID:ERROR_1038
被声明的对象是一个引用的或定义的伪参数,伪参数禁止它被赋予下列任何一种属性:
DIMENSION ALLOCATABLE PARAMETER INTRINSIC VFUNCTION NOSIDE EFFECTS
消息 ID:ERROR_1039
编译器检测到此对象的使用发生冲突。该对象是伪参数,禁止在派生类名中使用伪参数。
消息 ID:ERROR_1040
所有在一个并行区域中或者在 DOALL 循环里调用的伪过程,如果没有指定自动范围则必须在共享列表中。在此 f90 版本中不支持自动范围,因而必须显式指定所有范围。
消息 ID:ERROR_1041
编译器无法完成写入中间文件的任务,很可能是由于可用磁盘空间不足。
消息 ID:ERROR_1042
编译器无法为输出打开指定的中间文件。
消息 ID:ERROR_1043
中间文件生成器检测到一个内部错误条件。
消息 ID:INTERNAL_1044
此消息标识正在使用哪一个版本的编译器。
消息 ID:LOG_SUMMARY_1045
自动变量的范围可以包含伪参数。编译器发现一处或者多处没有指定伪参数的入口点,以至于不能在所有入口点处确定自动变量的长度。一个长度无法确定的入口点,将分配一个零长度变量。
消息 ID:CAUTION_1046
当在一个算术上下文环境中使用时,无类型或 BOZ 常量被限制为一个字。不允许将这种无类型或 BOZ 常量分配给 DOUBLE PRECISION 类型的变量。类似的,当 DO 变量是 DOUBLE PRECISION 类型时,这种常量不能是 DO 循环表达式。
消息 ID:ERROR_1047
内部编译器错误。
消息 ID:INTERNAL_1048
内部编译器错误。
消息 ID:INTERNAL_1049
内部编译器错误。
消息 ID:INTERNAL_1050
编译假设数据初始化的对象必须是静态的或公共的存储类型。此对象不是静态的或公共的存储类型。
消息 ID:INTERNAL_1051
当在一个分布式编程环境中编译时,TARGET 环境变量必须设置为目标机器的名称。例如:
% setenv TARGET cray-ymp
消息 ID:LOG_ERROR_1052
该指定对象从一个模块使用关联到此范围。同时也是在 USE 语句中指定的模块名。每一个在 USE 语句中指定的模块名必须唯一。
消息 ID:ERROR_1053
从该内在过程返回的信息不适合 32 位字。参数必须是一个 64 位字。
消息 ID:ERROR_1054
编译器试图读取一个用不兼容编译器创建的模块文件。为确保兼容,请使用当前编译器和命令行选项重新编译该模块文件。
消息 ID:ERROR_1055
该参数是负值,这是无效的。
消息 ID:ERROR_1056
相关内容以后添加。
消息 ID:ERROR_1057
set_mod_link 例程假定同一源模块的所有重复属性将合并为一个属性。编译器发现有三种不同的属性索引,而不仅仅是两种。
消息 ID:INTERNAL_1058
一个通用接口里的所有特定过程必须是函数或子例程。函数和子例程不能在一个通用接口里混合使用。此通用接口同时具有子例程和函数特定过程。
消息 ID:ERROR_1059
应避免产生此消息。编译器无法输出它已经产生的消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题。
消息 ID:INTERNAL_1060
在 32 位硬件上不支持整数长度 46 和 64。
消息 ID:WARNING_1061
当为这个内在过程输入值时,用户选择了无效的数值。
消息 ID:ERROR_1062
这是一个内部错误,仅在特别的建立调试范围检查编译器内生成。存在一个对符号表或 IR 表的边界溢出表引用。
消息 ID:INTERNAL_1063
用户指定了一些优化级别,这些优化级别需要编译器改变缺省的优化级别以达到兼容的目的。
消息 ID:LOG_WARNING_1064
变量或公共块不允许在一个以上的 CACHE_ALIGN 编译器指令里指定。
消息 ID:ERROR_1065
在 CACHE_ALIGN 编译器命令列表中仅允许变量名和公共块。不允许出现变量子对象。
消息 ID:ERROR_1066
在 CACHE_ALIGN 编译器指令中仅允许变量和公共块。同时,CACHE_ALIGN 指令中不允许公共块中的变量。
消息 ID:ERROR_1067
用户指定了一个优化级别,该优化级别要求编译器改变缺省优化级别以达到兼容的目的。
消息 ID:LOG_WARNING_1068
当指定该级别的调试时,将忽略优化。要启用优化,需要更佳的调试级别。
消息 ID:WARNING_1069
仅当内在过程有整数标量结果的时候才允许在特定表达式里有内在过程。
消息 ID:ERROR_1070
一个伪参数具有 OPTIONAL 属性,但声明该伪参数的特定接口是已定义的运算符接口块或已定义的赋值接口块。
消息 ID:ERROR_1071
在一个定义的运算符接口块中,伪参数的 intent 必须用特定的值来指定。该伪参数必须有 INTENT(IN)。
消息 ID:ERROR_1072
在已定义的赋值接口块或已定义的运算符接口块内的特定接口必须具有属于数据对象的伪参数。不允许出现伪过程。
消息 ID:ERROR_1073
在一个定义赋值接口块中,伪参数的 intent 必须用特定的值来指定。第一个伪参数必须有 INTENT(OUT) 或 INTENT(INOUT)。第二个伪参数必须具有 INTENT(IN)。
消息 ID:ERROR_1074
该参数不能有 POINTER 或 ALLOCATABLE 属性。
消息 ID:ERROR_1075
在该上下文中不允许 TYPELESS。
消息 ID:ANSI_1076
消息 ID:ANSI_1077
编译程序检测到一处本应为数据对象或函数调用的通用接口引用。这也许是一个没有实际参数列表的通用接口名的结果。
消息 ID:ERROR_1078
内部编译器错误。
消息 ID:INTERNAL_1079
在 Fortran 标准的解释中,对于要读取的 PRESENT 内在函数的参数,其描述措辞已经作出以下更改:A 必须是一个可选的伪参数的名称,该伪参数在 PRESENT 函数引用出现的过程中可以存取。
在 Fortran 标准中,"name" 是一个技术术语,它被定义为一个可以后跟最多 30 个字母数字字符的字母。因此 "name" 不允许包含下标列表、子串表达式、结构组件分隔符 (%) 等等,所以,PRESENT 内在函数的参数不能包含任何限定。
消息 ID:ERROR_1080
在此上下文中(例如在一个 DATA 语句值列表里的值),可能会出现一个命名常量,但不是一个命名常量的子对象。例如:
DATA (a(i), i = 1, t%i) / p(i) * t%i /在上面的 DATA 语句中,假设 T 是一个命名常量结构而 P 是一个命名常量数组。上述 DATA 语句示例所有对 T 和 P 的子对象的引用都被禁止,因为在每个这种上下文里的标识符必须是一个命名常量名。不能由下标列表或结构组件名限定该名称。
消息 ID:ERROR_1081
迭代计数按如下方式计算:
MAX( INT( (end-value - start-value + inc-value) / inc-value), 0)循环控制表达式的值是这样的一些值,这些数表示的迭代计数大于能够表示的最大整数。
消息 ID:ERROR_1082
如果循环执行完毕,在所声明的种类类型值的整型 DO 变量中,DO 变量的终值的大小比所能表示的最大整数还要大(假设增量值为正数),或者比所能表示的最小负整数还要小(假设增量值为负数)。DO 变量的终值通过以下公式计算:
start-value + iteration-count * increment-value这条消息是为字长是 32 位的机器上的以下格式的 DO 语句生成的,因为 DO 变量的最终值是 2147483648(假设 DO 变量是缺省的整数类型)。这个值大于能够表示的最大值。
DO i = 1, 2147483647如果 DO 变量是一个非缺省整数类型而且其终值超出 DO 变量种类类型参数的位大小的范围,也将生成此消息。例如:
INTEGER(KIND=1) i DO i = 1, 1000KIND 类型参数值为 1,表示变量 i 只能包含 -127 到 +127 之间的整数值。DO 变量的终值是 1001,它超出了这个范围。
消息 ID:WARNING_1083
隐含 DO 增量值不能为 0 。如果在 I/O 隐含 DO、在数组构造函数隐含 DO 或在 DATA 隐含 DO 内检测到 0 增量值,将报告此错误。同样,当外层循环迭代时,一个依赖于外部隐含 DO 变量值的增量值不能求值到 0。
消息 ID:ERROR_1084
如果名称列表组具有 PUBLIC 属性,那么在名称列表组对象列表中的任何项目都不能具有 PRIVATE 属性。同样,派生类型的名称列表组项不能有具有 PRIVATE 属性的组件。
消息 ID:ERROR_1085
编译器发现为一个特定的伪参数指定了多个实际参数。这可能是由两个相同参数关键字所导致,或者由同一伪参数的一个参数关键字和一个位置参数所导致。
消息 ID:WARNING_1086
检测到此内在函数的伪参数等级与实际参数等级有差异。
消息 ID:ERROR_1087
检测到此内在函数的伪参数类型与实际参数类型有差异。
消息 ID:ERROR_1088
检测到此内在函数的伪参数种类类型参数与实际参数种类类型参数有差异。
消息 ID:ERROR_1089
内在函数所需的参数没有指定。
消息 ID:ERROR_1090
如果伪参数是 POINTER,实数参数也必须是 POINTER。而且,类型、类型参数和等级必须一致。
消息 ID:ERROR_1091
一个 CRI 指针可以有多个指针对象,但是如果这样,所有的指针对象必须设定为具有相同数值长度的类型。例如:
real(kind=4) :: A real(kind=8) :: B pointer(PA,A) pointer(PA,B)这是非法的,因为 real(kind=4) 类型的长度比 real(kind=8) 类型的长度短。
注意:CRI 字符指针允许有具有不同字符长度的多个指针对象。
消息 ID:ERROR_1092
内在子例程的输出参数必须与其他内在函数的参数一致。
消息 ID:ERROR_1093
一个语句函数伪参数必须是一个标量数据对象,而且必须用作标量数据对象。下面的示例说明了此问题:在示例中,X 是语句函数伪参数,但是在语句函数表达式里对 X 的引用是作为函数引用的。
PROGRAM P G(X) = X(3) END SUBROUTINE
消息 ID:ERROR_1094
这是一个内部编译器错误。用于 FORMAT 语句的预分析器返回了一个无效的结果。
消息 ID:INTERNAL_1095
转换内在函数的数组参数不允许是假定大小数组。
消息 ID:ERROR_1096
如果 equivalence_object 的内在类型不是缺省整数、缺省实数、双精度实数、缺省复数、或缺省逻辑,则此等效集中的所有对象都必须是具有相同种类类型参数值的相同类型。
消息 ID:ANSI_1097
编译器发现在重命名或唯一名列表中指定了该模块名。不能重命名模块名称。下面的示例说明了此问题:
MODULE ABC integer one END MODULE PROGRAM P USE ABC, NEW_ABC => ABC ! 重命名模块名是非法的 END PROGRAM
消息 ID:ERROR_1098
只有 INTEGER 变量在 ASSIGN 语句中用有效的 FORMAT 语句标记使用过时,才允许 INTEGER 变量作为 FORMAT 说明符使用。编译器检测到没有遇到带有此变量的 ASSIGN 语句。
消息 ID:ERROR_1099
如果最终包含在派生对象内的任何组件在包含输入/输出语句的作用单元内无法存取,则该派生类对象不能作为输入/输出列表项显示。当一个派生类对象是与一个模块(派生类型定义包含专用组件)使用关联时,将发生这种情况。
消息 ID:ERROR_1100
在 DATA 语句的值列表中的值可以是类型常量或是命名常量。如果出现命名常量,则它必须是一个标量命名常量名(而不是一个是数组的数组常量)。例如,下面的程序是错误的:
INTEGER, PARAMETER :: f(2) = (/ 1, 2 /) INTEGER :: array(2) DATA array /f/F 是一个命名常量名,该命名常量是一个数组,因此不能在一个 DATA 语句值列表中出现。
消息 ID:ERROR_1101
一个 CRI 指针可以有多个指针对象,但是为了可移植,所有的指针对象应用被设定为具有同样数值长度的类型。例如:
real(kind=4) :: A real(kind=8) :: B pointer(PA,A) pointer(PA,B)这在 PVP 上合法,但是如果将此代码移植到 32 位系统上,则 A 按 32 位存储,而 B 按 64 位存储。这意味着指针 PA 指向 2 个具有不同存储大小的项。这在 32 位系统上将被标记为非法。 注意:CRI 字符指针允许有具有不同字符长度的多个指针对象。
消息 ID:CAUTION_1102
-ev 选项告诉编译器在编译单元里静态分配所有局部变量。如果一个过程是递归的,则静态分配局部变量有可能引起编译器无法预料的行为。因此,对于所有递归过程以及包含在递归过程中任何过程,编译器将忽略 -ev 选项。如果递归过程需要 saveall 选项,则在该过程以及任何包含的过程里指定 SAVE 语句。
消息 ID:CAUTION_1103
-eR 选项是指在编译单元的所有过程里的隐含递归。-ev 选项对编译单元里的所有过程应用 saveall。为一个递归过程指定 saveall 可能会在执行时引起不确定或者不希望的结果。因此,编译器不允许在命令行里指定 -ev 和 -eR 选项。如果需要 saveall 选项,则可以在编译单元的每一个过程里指定 SAVE 语句。
消息 ID:LOG_WARNING_1104
UNROLL 指令的语法是:
UNROLL[n]其中 n 是一个可选的正整数初始化表达式,该表达式用作解开计数。
消息 ID:ERROR_1105
RESHAPE 内在函数的 SHAPE 参数必须是具有恒定大小的一维数组。
消息 ID:ERROR_1106
如果函数是假定大小字符,则它必须是正在编译的当前函数或者是一个伪过程。调用者决定函数的字符长度。
消息 ID:ERROR_1107
检测到被调用例程的显式接口中提供的实际参数的类型和伪参数的类型之间有差异。
消息 ID:ERROR_1108
对象是由 DATA 语句或类型声明语句中的初始化值来初始化的。该对象是空公共块的一个成员。初始化一个空公共块成员是非标准的。如果希望初始化一个公共块成员,请使用命名公共块。
消息 ID:ANSI_1109
在此平台上不支持 DOUBLE PRECISION。编译器将使用 REAL 精度。
消息 ID:WARNING_1110
CDIR$ NAME 行的等号后遇到了除字符型常量外的内容。
消息 ID:ERROR_1111
ENCODE 和 DECODE 语句尚未扩展到包含 Fortran 90/95 的特定功能。这意味着仅有变量、数组元素或者整个数组能够在目的或源中使用。不允许使用字符子串、数组段、派生类型组件、Fortran 指针和可分配数组。当这些对象是 CHARACTER 类型时,推荐使用内部文件 I/O。
消息 ID:ERROR_1112
IO 控制项说明符必须是标量表达式、变量或者数组元素。
消息 ID:ERROR_1113
这是一条仅在调试模式下出现的内部消息。在 defines.h 中设置的 # defines 已经在一个不正确的组合里设置过了。为找出问题,请检查 defines.h。
消息 ID:INTERNAL_1114
出现内部错误条件,因为内部数对于其字段大小来说变得太大。
请告知您的产品支持机构。可以将代码分割为多个程序单元,这样就可以成功地完成编译。
消息 ID:LIMIT_1115
编译器未正确地建立。所列定义的一个或其他定义必须在 defines.h 内描述正在建立的编译器的段下面设置。这是一个内部错误,仅在建立内部编译器时出现。
消息 ID:INTERNAL_1116
内部编译器错误。
消息 ID:INTERNAL_1117
在此平台上不支持任务公共块。
消息 ID:ERROR_1118
此内部编译器错误消息指出,用户调用点处理或者内在调用遇到了不正确的内部信息,该内部信息与被调用程序单元的接口有关。
消息 ID:INTERNAL_1119
用户选择了一个值,而编译器确定该值对于此内在函数的 DIM 参数是无效的。请检查用于 DIM 参数值的正确范围的标准。
消息 ID:ERROR_1120
f90 任务实现不允许在并行区域里指定 \*NUMCPUS 任务指令。并行区域既可能是 DOALL 循环,也可能是由 PARALLEL/ENDPARALLEL 对限制的代码区域。
消息 ID:ERROR_1121
NUMCPUS 任务指令中的定值必须大于 0 并且小于或等于 64。
消息 ID:WARNING_1122
编译器将忽略在 CNCALL 任务指令行中指定的参数。
消息 ID:CAUTION_1123
NUMCPUS 任务指令的值必须介于 1 至 64 之间。NUMCPUSS 指令的语法是:NUMCPUS(value),其中 value 从 1 到 64 之间取值,包括 1 和 64。
消息 ID:ERROR_1124
%VAL 内在函数仅支持标量 INTEGER、LOGICAL 和 REAL 变量及表达式。如果程序单元为参数,则 %val 内在函数没有影响。程序单元地址的传递与未使用 %val 内在函数的效果相同。
消息 ID:ERROR_1125
PERMUTATION 任务指令要求指令中指定的所有对象是整数数组。
消息 ID:ERROR_1126
在表达式或赋值中使用了无类型的常量,而且转换导致截断位值。将应用下面的规则。
如果它是数值无类型常量(BOZ 或布尔型)而且大于运算的结果类型,则在左侧截断位值。如果它是一个霍尔瑞斯常量,"H" 霍尔瑞斯常量在右侧截断,"L" 常量在右侧截断,而 "R" 常量在左侧截断。无类型的字符型常量(一个 CRI 扩展)在右侧截断。
消息 ID:CAUTION_1127
如果在 CDIR$ (!DIR$) COMMON 语句中指定了公共块,还必须在 COMMON 语句中声明该公共块。
消息 ID:ERROR_1128
不能同时在 TASK COMMON 指令和 COMMON 指令中指定公共块。不能同时在 TASK COMMON 语句和 COMMON 指令中指定公共块。
消息 ID:ERROR_1129
从编译器的下一个版本开始,将不再支持 INTEGER(KIND=6) 和 INTEGER*6 声明格式。
在 INTEGER(KIND=6) 缺省值为 6 的 64 位平台上,新的缺省值将是 INTEGER(KIND=8)。从这些平台的下一版本开始,结合缺省整数的命令行选项 "-O fastint" 将提供与缺省整数的当前行为等效的行为。
在 32 位平台上,INTEGER(KIND=6) 和 INTEGER*6 目前被映射到 INTEGER(KIND=4) 和 INTEGER*4 上。对于更大的整数类型,请用能够提供 64 位整数类型的 INTEGER(KIND=8) 。
消息 ID:WARNING_1130
"-i 46" 选项将不再适用,因为,为了快速的整数运算,在不同的体系结构上使用不同的位长。因此,引入了更通用的 "-O fastint" 选项。在 f90 的下一版本中将删除 "-i 46" 选项。使用 "-O fastint" 选项代替。
消息 ID:LOG_WARNING_1131
编译器试图打开一个在 -p 命令行上指定的文件。打开例程返回了指定的错误。编译器也许试图打开一个先前在此编译过程中创建的临时文件,该文件包含在此编译期间编译的某模块的信息。
消息 ID:LOG_WARNING_1132
用作数值常量的霍尔瑞斯常量不能大于 256 位。
消息 ID:ERROR_1133
N$PES 是特殊符号常量。编译器将它定义为 INTEGER 型,并且不可以更改类型。不可以对 N$PES 指定任何属性。可以在符号常量合法的位置将其用作符号常量。N$PES 的值由编译器命令行选项、装入时选项或运行时选项设置。
消息 ID:ERROR_1134
N$PES 是特殊符号常量。编译器将它定义为 INTEGER 型,并且不可以更改类型。不可以对 N$PES 指定任何属性。可以在符号常量合法的位置将其用作符号常量。N$PES 的值由编译器命令行选项、装入时选项或运行时选项设置。
消息 ID:ERROR_1135
N$PES 是特殊符号常量。编译器将它定义为 INTEGER 型,并且不可以更改类型。不可以对 N$PES 指定任何属性。可以在符号常量合法的位置将其用作符号常量。N$PES 的值由编译器命令行选项、装入时选项或运行时选项设置。
消息 ID:ERROR_1136
N$PES 是特殊符号常量。编译器将它定义为 INTEGER 型,并且不可以更改类型。不可以对 N$PES 指定任何属性。可以在符号常量合法的位置将其用作符号常量。N$PES 的值由编译器命令行选项、装入时选项或运行时选项设置。
消息 ID:ERROR_1137
N$PES 是特殊符号常量。编译器将它定义为 INTEGER 型,并且不可以更改类型。不可以对 N$PES 指定任何属性。可以在符号常量合法的位置将其用作符号常量。N$PES 的值由编译器命令行选项、装入时选项或运行时选项设置。
消息 ID:ERROR_1138
在 DO PARALLEL 指令中有一个以上工作分配是不合法的。
消息 ID:ERROR_1139
在此平台上不支持工作分配参数 NCPUS_CHUNKS。缺省值是 SINGLE,如果未指定其他工作分配,将使用缺省值。
消息 ID:WARNING_1140
在 BOUNDS 或 NOBOUNDS 编译器指令中遇到不是变量名或伪参数名的名称。
消息 ID:ERROR_1141
在 MODULE 的规范部分中不能指定 STACK 指令。在 MODULE 的规范部分中,缺省的存储总是静态存储,不能用 STACK 指令进行更改。
消息 ID:ERROR_1142
在接口体或接口块内不能指定 STACK 指令。该指令在此处没有意义。
消息 ID:ERROR_1143
编译器在同一范围检测到一条未保存实体列表的 SAVE 语句和一个 STACK 或 SYMMETRIC 指令。SAVE 语句的优先级超过该指令。STACK 指令指示编译器将所有局部变量放在栈中,但 SAVE 语句指示编译器将所有局部变量放在静态存储器中。SAVE 占先,因为它是 Fortran 语言的标准部分。在 MPP 平台上有效的 SYMMETRIC 指令也表示局部变量使用栈存储器。由于相同的原因,SAVE 优先于 SYMMETRIC。
消息 ID:WARNING_1144
128 位浮点运算的结果当前可能精度较低。这包括任何类型为 DOUBLE PRECISION、DOUBLE PRECISION*16、REAL (kind=16)、REAL*16 和 DOUBLE COMPLEX 的内容。
消息 ID:WARNING_1145
f90 在下一版本不再支持 !DIR$ INTEGER=46 指令。f90 命令行选项 "-O fastint" 将提供等效行为。
注意:仍接受 !DIR$ INTEGER=32 和 !DIR$ INTEGER=64。
消息 ID:WARNING_1146
编译器发现为同一个对象指定了 INLINE ALWAYS 和 INLINE NEVER 指令。对一个对象只能指定二者之一。
消息 ID:ERROR_1147
应避免产生此消息。编译器在建立消息文件时遇到错误或意外。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题。
消息 ID:INTERNAL_1148
目前,F90_M 仅支持编译时 N$PES。任何引用 N$PES 的程序必须用 -X 命令行选项为 N$PES 提供编译时值。如果在命令行中未提供值,编译器为 N$PES 使用的值将为 0。
消息 ID:WARNING_1149
内部编译器错误。运算符中的行号信息是无效数字。这表示它未正确设置。
消息 ID:INTERNAL_1150
Fortran 标准规定:两个全局名称相同是不合法的。这使得以下情况不合法:
m.f: module m integer :: i=2 end module m1.f: program p use m ... end program module m ! 这是非法的,因为模块 m ! 先前被引用过。 integer :: i=4 end module subroutine s() use m ... end subroutine
消息 ID:ERROR_1151
MATRIX_B 的第一维(或唯一)大小必须等于 MATRIX_A 的最后一维(或唯一)大小。
消息 ID:ERROR_1152
PACK 内在函数的 VECTOR 的参数必须与 ARRAY 参数有相同的类型和种类类型参数。另外,VECTOR 参数必须是一级。
消息 ID:ERROR_1153
FIELD 参数必须与 VECTOR 参数有相同的类型和种类类型参数。
消息 ID:ERROR_1154
PACK 内在函数的 MASK 参数必须与 ARRAY 参数一致。
消息 ID:ERROR_1155
POS 参数必须非负,并且小于 BIT_SIZE(I)。
消息 ID:ERROR_1156
模块文件是用此编译器的前一主要版本创建的。我们保证向上兼容一个主要版本,因此在下一主要版本,此模块文件需要重建。
消息 ID:WARNING_1157
如果 IF 构造包含 ELSE 块,那么 ELSE 一定是构造中的最后一块。因此,ELSE IF 块不能跟 ELSE 块。
消息 ID:ERROR_1158
库格式分析器与编译器不同步。
消息 ID:INTERNAL_1159
编译器在格式规范中检测到 ",,"。Fortran 标准在格式规范中不允许逗号与逗号相连。
消息 ID:ANSI_1160
在 32 位体系结构中,如果多字项按 64 位边界(而不是 32 位边界)对齐,可以获得性能优势。正在讨论的对象因为其在公共块中的位置,未按双字边界对齐。在公共块声明中,可以在此对象之前插入 32 位(缺省整数)大小的对象。这将使该对象按 64 位边界对齐。第二种方法是在命令行中指定 -a dalign。这将使编译器在对象之前插入 32 位填充。每当插入此填充时即发出警告。
消息 ID:CAUTION_1161
-i 46 命令行选项将被视为在命令行中指定了 -i 32 或 -i64(取决于平台)。在此编译器的下一版本中,将删除 -i 46 命令行选项。
消息 ID:LOG_WARNING_1162
视不同的平台而定,!DIR$ INTEGER=46 视为 !DIR$ INTEGER=32 或 !DIR$ INTEGER=64。在此版本之后,不再支持 !DIR$ INTEGER=46。
消息 ID:WARNING_1163
在支持条件编译的例程中发生内部编译器错误。
消息 ID:INTERNAL_1164
在分析条件编译指令时遇到语法错误。
消息 ID:ERROR_1165
遇到意外的条件编译指令。这是块错误,其中类似 ENDIF、ELSE 或 ELIF 的条件编译指令没有相应的 IF、IFDEF 或 IFNDEF 指令。
消息 ID:ERROR_1166
在条件编译指令的表达式中遇到以前未用 # define 语句定义的标识符。
消息 ID:ERROR_1167
如果在 CDIR$ (!DIR$) CACHE ALIGN 语句中指定了公共块,还必须用 COMMON 或 TASK COMMON 语句声明该公共块。
消息 ID:ERROR_1168
编译器在 PROGRAM、BLOCKDATA、外部 SUBROUTINE 或外部 FUNCTION 范围内检测到 MODINLINE 或 NOMODINLINE 指令。该指令只能在模块或该模块包含的过程内指定。
消息 ID:WARNING_1169
-eS 命令行选项导致所有局部变量保存在静态存储器中。!DIR$ SYMMETRIC 指令仅影响局部栈变量。没有因 -eS 选项而推入栈中的变量,因此,!DIR$ SYMMETRIC 指令不执行任何操作。
消息 ID:WARNING_1170
-eI 命令行选项要求在编译的每个过程中指定一个 IMPLICIT NONE。对于此编译该命令行已生效。列出的对象需要指定显式类型。
消息 ID:ERROR_1171
-s cf77types 选项是为了使在非字符型声明中使用星号(如 INTEGER*8)的 FORTRAN 77 程序能够继续以 CF77 编译器的工作方式工作。f90 编译器将使用星号的声明视为使用种类类型参数值的声明;例如,INTEGER*8 与 INTEGER(KIND=8) 的意义相同。编写所有新 Fortran 程序时都应记住这一点。
注意:-s cf77types 将替代 -si 选项,因为它是更具描述性的名称。
消息 ID:LOG_WARNING_1172
许多实用例程将字位大小用作输入。此编译器目前仅支持 32 和 64 位字。必须向实用例程传递 32 或 64。
消息 ID:INTERNAL_1173
超出了内部向量元素长度。
消息 ID:ERROR_1174
编译器执行内部简化,以计算如数组长度、数组元素间跨度、结构大小、组件大小、对象大小、存储器分配偏移等项目。在尝试计算时,产生整数溢出。
消息 ID:ERROR_1175
用于 RESHAPE 内在函数调用的 SHAPE 数组不能包含任何负值元素。
消息 ID:ERROR_1176
遇到 #error 条件编译指令。此错误消息中包含指令文本。
消息 ID:ERROR_1177
条件编译 ERROR 指令使用的消息文本必须适合一行长度。行的长度为 Fortran 源代码行的长度,这取决于源代码格式和 -N 命令行选项。
消息 ID:ERROR_1178
调用 folder_driver 例程时所用的运算符结果类型不正确,或者参数类型不正确。
消息 ID:INTERNAL_1179
字符型指针对象必须声明为假定大小字符变量。字符型指针对象数组无效。
消息 ID:ERROR_1180
指定的模块文件是用先前版本的编译器或已不再支持的旧编译器编译的。(我们承诺支持当前版本的前一个主要版本。)当前版本编译器已更改模块格式,而模块文件有不支持的格式。
消息 ID:ERROR_1181
已指定了优化选项 "taskinner"。因此,还必须指定优化选项 "task2" 或 "task3"。
消息 ID:LOG_ERROR_1182
指定的模块文件是用比此编译器版本更高的编译器编译的。其中有此编译器不支持的格式,必须重新编译。
消息 ID:ERROR_1183
当计算常量表达式的值时,编译器遇到异常值,如 NaN。常量表达式是仅包含常量的表达式。表达式的值在编译时确定,而不是在运行时确定。此警告可能在中间计算(例如,加、减、乘、除或求幂)过程中出现,或者在计算过程中需要数据转换(例如,从双精度转换为实型)时出现。
消息 ID:WARNING_1184
libsci 尚不可用,因此暂时禁用 "-O pattern" 选项。如果指定,将被忽略。
消息 ID:LOG_WARNING_1185
IACHAR 和 ICHAR 的实际参数长度必须等于 1。
消息 ID:ERROR_1186
为 SOURCE 参数提供的数组构造函数中元素的数量不等于 SHAPE 参数与指定范围的乘积。
消息 ID:ERROR_1187
按位内在运算(如 AND 和 OR)的参数必须有相同的字长。在 Solaris 上,不允许:
integer * 8 i real * 4 x print *, or(i,x)在 Solaris 上也不允许:
print *, i.or.x
消息 ID:ERROR_1188
发现数值实型常量超出指定数据类型的范围。此警告指出发生了上溢/下溢,并且为常量保存了适当的 IEEE 值 (Inf, -Inf)。
消息 ID:WARNING_1189
这是一个内部编译器错误。
消息 ID:INTERNAL_1190
内部编译器错误。
消息 ID:INTERNAL_1191
两个选项冲突。在 f90 命令行上,消息中提及的第一个选项在消息中提及的第二个选项之前指定。将忽略第一个选项(第二个选项覆盖它)。例如,如果在 f90 命令行中指定 "-O fastint",然后指定 "-i 64",则忽略 "-O fastint" 选项("-i 64" 覆盖它)。
消息 ID:LOG_WARNING_1192
使用模块时,用来查找该已编译模块的路径和文件名信息保存在模块信息中。载入程序使用该保存信息查找已编译模块,以进行装载。(模块可能包含模块过程和/或装入步骤中需要的初始化数据。) 间接使用模块是指模块 B 使用模块 A,而模块 C 使用模块 B。则模块 A 由模块 C 间接引用。间接使用模块时,编译器检查该已编译模块文件是否可用。如果编译器不能检测到该已编译模块文件,将生成此“注意”消息。编译将成功完成,而不依赖于该编译模块文件。装入步骤确实需要该编译模块文件,因此在装载行中必须指定文件的当前位置。
消息 ID:CAUTION_1193
Dw.dEe 编辑描述符是非标准的。Dw.d 是有效的 Fortran 编辑描述符。附加的 Ee 使它成为非标准的。
消息 ID:ANSI_1194
此编译使用了命令行选项 -i32。在 MPP 上,此选项对声明为缺省整型的项仅分配半个字存储器。在此函数中,一个或多个结果是缺省整型的,并且一个或多个结果是缺省整型外的其他类型。使用 -i32,缺省整型结果现在仅分配半个字的存储空间,而不是一个整字存储空间。不更改其他结果类型。使用 -s default32 可以将所有缺省类型更改为半字。
消息 ID:WARNING_1195
在第 3 版中将删除的第 2 版命令行选项有:命令行选项 -O unroll 与 -O unroll2 相同。选项 -O nounroll 与 -O unroll0 相同。将删除 -O unroll 和 -O nounroll,以避免重复。
在第 4 版中将删除的第 3 版命令行选项有:命令行选项 -si 与 -scf77types 相同。将 -si 重命名为 -s cf77types,以使用更具描述性的名称。
消息 ID:LOG_WARNING_1196
在下标超出数组边界时,遇到数组引用。如果指定 -RM 并且下标和边界值是常量,编译器在编译时将检查数组边界。
消息 ID:ERROR_1197
在 32 位体系结构中,如果多字项按 64 位边界(而不是 32 位边界)对齐,可以获得性能优势。正在讨论的组件因为其在派生类型中的位置,未按双字边界对齐。在派生类型声明中,可以在此组件之前插入 32 位(缺省整型)大小的组件。这将使组件按 64 位边界对齐。第二种方法是在命令行中指定 -a dalign。这将使编译器在组件之前插入 32 位填充。每当插入此填充时即发出警告。以下是这种情况的两个示例:
.... TYPE X SEQUENCE INTEGER :: A COMPLEX :: B END TYPE TYPE(X) :: Q TYPE(X) :: R SAVE Q,R在上面的示例中,假定 Q 位于局部静态存储块中偏移 0,而 R 位于偏移 96。这意味着 Q%B 不按双字边界对齐,但 R%B 按双字边界对齐。
.... TYPE A SEQUENCE COMPLEX :: X INTEGER :: Y COMPLEX :: Z END TYPE在此示例中,如果不在组件 Z 之前插入 32 位填充,X 组件和 Z 组件将无法同时实现双字对齐。
消息 ID:CAUTION_1198
内联不能与调试配合使用。
消息 ID:LOG_WARNING_1199
输入名称表的名称必须是有效名称。它不能是 NULL,并且长度必须大于 0。
消息 ID:INTERNAL_1200
对于公共块、静态块和其他用户声明区域,偏移和块长度可能基于 N$PE。编译器检测到在需要使用真常量的地方使用了 N$PE 常量。
消息 ID:INTERNAL_1201
有些条件禁止内联例程。例如:不能内联包含 ASSIGN 语句的例程。
消息 ID:INLINE_1202
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_1203
该例程原地扩展。不再存在调用开销。
消息 ID:INLINE_1204
字符型实际参数的相关伪参数的长度比该实参长。字符类型的实际参数的长度必须大于或等于关联伪参数的长度。
消息 ID:ERROR_1205
仅当用于 WRITE、PRINT 或 READ 语句时,UNIT= 说明符才可以是星号。
消息 ID:ERROR_1206
在 READ、WRITE 或 PRINT I/O 语句中,如果 I/O 未格式化,则 UNIT 说明符不能是星号。
消息 ID:ERROR_1207
当第一个说明符是格式为“UNIT= 关键字”的 UNIT 说明符,而第二个参数没有关键字时,F90 允许 IO 控制列表违反关键字参数规则。通常,这将导致出错,因为没有关键字编译器不知道说明符是什么。在且仅在此情况下,编译器假定第二个说明符是 FORMAT 或 NAMELIST 说明符。
WRITE ( UNIT = 10, *) I
消息 ID:ANSI_1208
在数组映射中检测到非常量跨度乘数。生成条件测试,以确定应该执行调用还是应该执行内联例程。
消息 ID:INLINE_1209
在子程序中遇到包含自动任务指令的指定 GOTO 语句。不允许分支转入或转出并行区域,而分配的 GOTO 语句潜在此问题。
消息 ID:ERROR_1210
运行时 N$PES 只能用于数组边界。它不能用于声明字符长度。
消息 ID:ERROR_1211
在初始化表达式中不允许有符号常量。它们必须是真常量。不允许有符号常量的示例还包括组件边界和种类类型。
消息 ID:ERROR_1212
ATD_OFFSET_IDX 和 SB_LEN_IDX 必须是由编译器临时表示的常量值或符号常量。
消息 ID:INTERNAL_1213
用户试图将常量实际参数映射到 INTENT OUT 伪参数。
消息 ID:ERROR_1214
IEEE 平台上可用的 -O ieeeconform 选项使所得到的可执行代码更符合 IEEE 浮点标准。
IEEE 平台上的 -du 选项导致使用更快速的除法序列,这在将结果转换为整数值时,或将结果与从其他支持 IEEE 浮点算法的系统获得的结果进行比较时,可能影响结果。IEEE 平台上的 -eu 选项导致生成真正的 IEEE 除法序列。 因此,由于 -O ieeeconform 需要可执行代码更符合 IEEE 浮点标准,应该使用 -eu,以生成真正的 IEEE 除法序列。
消息 ID:LOG_WARNING_1215
IEEE 平台上可用的 -O ieeeconform 选项使所得到的可执行代码更符合 IEEE 浮点标准。 IEEE 平台上的 -du 选项导致使用更快速的除法序列,这在将结果转换为整数值时,或将结果与从其他支持 IEEE 浮点算法的系统获得的结果进行比较时,可能影响结果。IEEE 平台上的 -eu 选项导致生成真正的 IEEE 除法序列。 因此,由于 -O ieeeconform 需要可执行代码更符合 IEEE 浮点标准,应该使用 -eu,以生成真正的 IEEE 除法序列。
消息 ID:LOG_WARNING_1216
在进入或终止范围或块前,所有并行区域和保护区域必须终止。在并行区域或保护区域中,如果遇到 CONTAINS 语句或 END、END FUNCTION、END SUBROUTINE 等语句,则报告错误。另外,并行区域或保护区域必须正确嵌入或完整包含类似于 IF、DO、CASE 或 WHERE 等结构代码块。
消息 ID:ERROR_1217
指定的命令行选项的实现延迟到将来的修订版本或发行版本。
消息 ID:LOG_WARNING_1218
未找到 DO 循环结构的地方出现 DO PARALLEL 或 DO ALL 自动任务指令。DO PARALLEL 指令只能在并行区域内指定,并且必须在 DO 循环之前。DO ALL 不能在并行区域内指定,并且必须在 DO 循环之前。
消息 ID:ERROR_1219
分支转入/转出 PARALLEL、DOALL、CASE 或 GUARD 自动任务区域是不合法的。这包括 GOTO 语句以及 IO 语句中的 ERR=、EOF= 或 EOR= 分支和子例程调用中的替换返回分支。
消息 ID:ERROR_1220
-O 命令行选项指定编译优化选项。如果指定时不带参数,则被忽略,且不更改任何优化级别。
消息 ID:LOG_WARNING_1221
UNPACK 内在函数的 MASK 和 FIELD 参数必须一致。
消息 ID:ERROR_1222
编译器检测到此对象声明中有冲突。该对象不能声明为由符号常量表达式确定边界的数组,因为它被等效、数据初始化为、类型设定为假定长度字符,并且/或者有以下一个或多个属性:
ALLOCATABLE DIMENSION PARAMETER SAVE PRIVATE PUBLIC POINTER EXTERNAL INTRINSIC VFUNCTION NOSIDE EFFECTS
消息 ID:ERROR_1223
编译器检测到此对象声明中有冲突。该对象不能是由符号常量表达式确定边界的数组,因为它已声明为以下项之一:
Cray 指针 模块过程 派生类型 通用接口 名称列表组 语句函数 结构 模块 块数据 程序
消息 ID:ERROR_1224
字符常量用作内在函数的实际参数,但该函数不接受字符参数,而是接受布尔(或霍尔瑞斯)参数。在字符常量无效、而霍尔瑞斯常量合法的上下文环境中,F90 将字符常量视为霍尔瑞斯常量。
消息 ID:WARNING_1225
如果启用 -ea 选项,则遇到第一个错误时编译终止。
消息 ID:LIMIT_1226
如果公共块中有长度基于符号常量的数组,则不能用数据初始化该公共块的任何成员,因为块的偏移和长度依赖于符号常量。
消息 ID:ERROR_1227
如果公共块包含长度依赖于符号常量的数组,则该公共块中任何项都不能被等效。公共块中对象的偏移和块长度依赖于符号常量。
消息 ID:ERROR_1228
使用符号常量(值在载入时或运行时才确定的常量)不是 Fortran 标准的一部分。
消息 ID:ANSI_1229
如果函数有替换入口点,则该函数及其入口点一起被等效。由符号常量表达式确定长度的数组不允许等效,因此如果函数有多个入口点,任何入口点都不可以有长度基于符号常量表达式的数组。没有替换入口点的值确定的数组函数可以有长度基于符号常量表达式的数组。
消息 ID:ERROR_1230
命令行选项 -Xm 和 -X# 是相互排斥的。-Xm 表示可延展性。程序中不应该指定 N$PES。-X # 表示使用 # 个 pe 编译此程序。编译器使用命令行中最后一个指定的 -X 选项。
消息 ID:LOG_WARNING_1231
-Xm 表示正编译的程序是可延展的,因此在程序单元声明段不应该指定 N$PES。只能在可执行代码中使用 N$PES。当指定了 -Xm 时,它不能用于声明数组边界。如果编译器发现在数组边界声明中引用了 N$PES,将生成错误消息。
消息 ID:ERROR_1232
在 MODULE 的规范部分中不允许以下指令。
SYMMETRIC:此指令使基于栈的变量放在共享栈中。MODULE 的规范部分没有基于栈的变量,因此在 MODULE 中 SYMMETRIC 指令无意义。
消息 ID:ERROR_1233
指定不带变量名的 !DIR$ SYMMETRIC 将导致保存在栈中的所有变量保存在共享栈中。以下属性防止变量保存在共享栈中:
TARGET AUXILIARY变量将保存在非共享栈中。
消息 ID:CAUTION_1234
不能用 SYMMETRIC 指令指定主机关联的变量。
消息 ID:ERROR_1235
此时,主机关联的栈变量可以不保存在共享栈中。
消息 ID:CAUTION_1236
模块处理遇到意外 I/O 问题。strerror 用于提供有关问题的更多提示。
消息 ID:INTERNAL_1237
-X npes 指定运行过程中使用的 npes 的数量。npes 必须是 m(可延展)或 1 到 2048 之间的一个整数。
消息 ID:LOG_ERROR_1238
根据 Fortran 标准:“如果等效对象是缺省整型、缺省实型、双精度实型、缺省复型、缺省逻辑型或数值序列型,则该等效集的所有对象都必须是这些类型”。
此编译器允许扩展,即可以在等效集中混合使用缺省数值类型和缺省字符类型。不允许将数值序列派生类型和缺省字符或字符序列派生类型混合使用。
消息 ID:ERROR_1239
根据 Fortran 标准:“如果等效对象是缺省字符型或字符序列类型,则该等效集的所有对象都必须是这些类型”。
此编译器允许扩展,即可以混合使用缺省数值类型和缺省字符类型。不允许字符序列派生类型与缺省数值类型混用。
消息 ID:ERROR_1240
根据 Fortran 标准:“如果一个等效对象是内在类型,而不是缺省整型、缺省实型、双精度实型、缺省复型、缺省逻辑型或缺省字符型,则该等效集中的所有对象都必须是种类类型参数值相同的同一类型”。
消息 ID:ERROR_1241
根据 Fortran 标准:“如果一个等效对象不是数值序列或字符序列类型的派生类型,则该等效集中的所有对象都必须是同一类型”。
消息 ID:ERROR_1242
IEEE 浮点标准定义了 .LG. 或 <> 运算符,但未在 Fortran 标准中定义。支持该运算符是 Fortran 标准的一个扩展。
消息 ID:ANSI_1243
-s default32 使所有缺省类型成为基于 32 位的类型,而不是基于 64 位的类型。在派生类型中,所有组件必须为整字边界,因此用一个 64 位填充分隔两个声明为 32 位类型的组件。
消息 ID:WARNING_1244
遇到使用 [..] 处理器维数语法的引用,但该对象未用处理器维数声明。以下示例将产生此错误。
integer i(10) i(1)[3,4] = 1 end
消息 ID:ERROR_1245
编译器试图读取预编译过程进行内联。该预编译过程是用不兼容的编译器创建的。为确保兼容,请使用当前编译器和命令行选项重新编译该过程。
消息 ID:ERROR_1246
内联的预编译过程必须以与此编译相同的操作系统为目标。目标操作系统不能混合。
消息 ID:ERROR_1247
如果当前编译单元使用了所列选项进行编译,则它所使用的每个模块或它内联的每个预编译过程都必须用相同的选项进行编译。如果当前编译单元未使用所列选项进行编译,则它所使用的每个模块或它内联的每个编译过程都不能使用该选项进行编译。
消息 ID:ERROR_1248
编译模块时,编译器在编译过程临时文件中保存模块信息表。当在 USE 语句中指定该模块,编译器尝试从临时文件读取模块信息表。该临时文件出现问题,编译器不能读取该模块。
消息 ID:LIMIT_1249
在编译中的某些地方,将搜索全局名称表,以查找编译过程中早先放入的名称。当未找到想要的名称时,生成此错误。此错误决不应发生。
消息 ID:INTERNAL_1250
可在 -apad[n] 命令行选项中指定可选的填充量。此数必须是大于 0 小于 4096 的整型常量。指定的数字不在此范围内。
消息 ID:LOG_ERROR_1251
内联信息保存在二进制输出文件中。当用 -Oinlinefrom=x.f 指定 x.f 时,编译器创建一个称为 x.o 的文件,用于存放内联信息。如果指定命令行 -Oinlinefrom=x.f x.f,则在 inlinefrom 编译器调用过程中创建的 x.o 被实际的 x.f 编译调用覆盖。避开此问题的一个方法是使用 -b file.o 指定一个替代二进制文件。例如:
-Oinlinefrom=x.f -b out.o x.f
消息 ID:LOG_ERROR_1252
AUTOMATIC 语句是 Fortran 标准的一个扩展。
消息 ID:ANSI_1253
AUTOMATIC 属性是 Fortran 标准的一个扩展。
消息 ID:ANSI_1254
AUTOMATIC 属性不能被赋予数组定值、指针定值、字符或派生类型函数结果。
消息 ID:ERROR_1255
用户试图将保存的对象等效于公共块或将具有 AUTOMATIC 属性的对象等效于公共块。
消息 ID:ERROR_1256
如果等效组中的一个对象有 AUTOMATIC 属性,则该等效组中的所有对象都必须具有 AUTOMATIC 对象。
消息 ID:ERROR_1257
先前版本会发出警告,通知用户编译器将不再支持 integer*6 和 integer(kind=6) 类型。正在使用的模块中发现此类对象。必须更改 integer*6 和/或 integer(kind=6) 声明,并重新编译模块。
消息 ID:ERROR_1258
多次声明一个对象有同一属性是非标准的。
消息 ID:ANSI_1259
不能对一个子程序多次指定相同的前缀说明。前缀说明可能是 RECURSIVE、PURE、ELEMENTAL 和/或类型说明。类型说明是指有效的类型指定,如 INTEGER、CHARACTER*(10) 或 TYPE (derived_type_name)。
消息 ID:ERROR_1260
在 Fortran 95 标准中,对 R1219 的约束禁止为同一程序单元指定 RECURSIVE 和 ELEMENTAL 前缀说明。
消息 ID:ERROR_1261
PURE 子程序中不允许使用以下语句。
print 语句 open 语句 close 语句 backspace 语句 endfile 语句 rewind 语句 inquire 语句 stop 语句 pause 语句这是对纯过程的约束 (12.6)。根据定义,基本过程是纯过程,因此这些约束也适用于基本过程。
消息 ID:ERROR_1262
纯过程约束 (12.6) 禁止在纯子程序中指定 io-unit 为外部文件名或 * 的读写语句。根据定义,基本过程是纯过程,因此此约束也适用于基本过程。
消息 ID:ERROR_1263
纯子程序中的变量不能赋予 SAVE 或数据初始化属性。根据定义,基本过程是纯过程,因此此约束也适用于基本过程。
消息 ID:ERROR_1264
纯 FUNCTION 的规范部分应该指定除了过程参数(伪过程)和具有 POINTER 属性的参数之外所有伪参数都具有 INTENT(IN)。 根据定义,所有基本 FUNCTION 都是纯过程,因此这也适用于基本 FUNCTION。
消息 ID:ERROR_1265
纯子例程的规范部分应该指定除了过程参数(伪过程)、替代返回指示符和具有 POINTER 属性的参数之外所有伪参数的 intent。
根据定义,基本过程是纯过程,因此这也适用于基本子例程。
消息 ID:ERROR_1266
Fortran 标准中的 12.7.1 约束要求所有基本子程序伪参数都是非指针标量。伪参数也不能是伪过程。
消息 ID:ERROR_1267
12.7.1 约束要求基本函数的函数结果是标量。它们不能是指针。
消息 ID:ERROR_1268
Fortran 标准中的 12.7.1 约束指出基本子例程的伪参数不能是 *。* 是一个替代返回说明符。
消息 ID:ERROR_1269
对 12.6 纯子程序的约束禁止在纯子程序内定义以下伪参数:函数子程序的所有伪参数以及子例程子程序内具有 INTENT(IN) 属性的所有伪参数。
对 12.6 的约束也禁止公共名称、主机关联或使用关联变量出现在可能更改变量值的语句中。可以使用此变量,但不能在纯子程序内重新定义该变量。
根据定义,基本子程序是纯子程序,因此上述约束也适用于基本子程序内的伪参数和变量。
消息 ID:ERROR_1270
对 12.6 纯过程的约束规定:纯子程序的规范部分应该指定所有作为过程参数的伪参数都是纯伪参数。也就是说,如果为纯子程序指定了伪过程,则该伪过程必须具有显式接口,该接口必须指定伪过程为纯过程。
不能在基本子程序中指定伪过程。
消息 ID:ERROR_1271
在 Fortran 标准中,对 12.6 纯过程的约束规定纯子程序中的所有内部子程序都应该是纯子程序。也就是说,如果外部子程序是纯子程序,则它的所有内部子程序也必须声明为纯子程序。 按照定义,基本子程序是纯子程序,因此上述约束也适用于基本子程序。
消息 ID:ERROR_1272
12.6 纯过程的约束禁止将函数子程序的所有伪参数和子例程子程序的所有具有 INTENT(IN) 属性的伪参数,以及公共、主机关联或使用关联变量被用作与具有 INTENT(out) 或 INTENT(inout) 属性或具有 POINTER 属性的伪参数相关联的实际参数。
根据定义,基本子程序是纯子程序,因此上述约束也适用于基本子程序内的所有伪参数。
消息 ID:ERROR_1273
12.6 纯过程的约束规定纯子程序中引用的任何过程都应该是纯过程,包括通过已定义操作或指定引用的过程。相关的约束规定:对于任何既不是内在过程、也不是语句函数的过程,如果在要求它是纯过程的上下文中引用,则它必须有一个显式接口并且与引用在相同的范围内。
根据定义,基本过程也是纯过程,因此适用于纯过程的所有约束也适用于基本过程。
消息 ID:ERROR_1274
在交叉编译语义过程中,编译器检测到同一公共块用于多个程序单元。在这些程序单元中公共块的长度不同。
消息 ID:WARNING_1275
在交叉编译语义过程中,公共块用于多个程序单元。如果在一个程序单元中公共块在 AUXILIARY 存储块中,则在所有程序单元中它都必须在 AUXILIARY 存储块中。如果在一个程序单元中公共块在 TASK COMMON 存储块中,则在所有程序单元中它都必须在 TASK COMMON 存储块中。
消息 ID:WARNING_1276
Fortran 标准中的 12.3.1.1 显式接口指出:
语句函数之外的过程将会具有显式接口,前提是该过程是基本过程,或该过程具有:
(a) 可选的伪参数;
(b) 是假定形数组、指针或目标的伪参数;
(c) 数组值结构(仅限函数);
(d) 为指针的结果(仅限函数);
(e) 其字符长度参数值未假设且不是常量的结果。
在全局语义过程中,编译器检测到外部过程的调用,并且编译过程中在另一个程序单元发现该外部过程的一个显式接口。该外部过程的显式接口描述该过程具有一个或多个上述特性。这些特性要求在引用此过程的所有程序单元中为此程序单元指定一个显式接口。
消息 ID:ERROR_1277
全局语义检测到定义和在另一程序单元中的引用之间存在差异。 标量伪参数不能具有与其相关联的值确定的数组实际参数。
消息 ID:WARNING_1278
全局语义检测到定义和在另一程序单元中的引用之间存在差异。 与伪参数相关联的实际参数类型必须一致。
消息 ID:WARNING_1279
指令 MODINLINE 与指令 INLINABLE 相同。
指令 NOMODINLINE 与指令 NOININABLE 相同。
我们正在删除 !DIR$ MODINLINE 和 !DIR$ NOMODINLINE,因为 !DIR$ INLINABLE/NOINLINABLE 更具普遍性。MODINLINE/NOMODINLINE 仅适用于模块过程。INLINABLE/NOINLINABLE 可以适用于所有外部过程。
消息 ID:WARNING_1280
可以用两种方式使用 COPY_ASSUMED_SHAPE 指令。有参数列表时,它指定一组一致的假定形伪参数,这些伪参数将复制到相邻数组中。没有列表知,所有假定形伪参数都假定为一致的。不允许使用既有带列表的指令、又有不带列表的指令。
消息 ID:ERROR_1281
全局名称的使用范围是整个编译单元,因此全局(或外部)名称只能声明一次。
此编译过程中,编译器发现此对象的两个独立程序单元定义。
发现与以下相似的内容:
function f() f = 2.0 end function ... subroutine f() ! 由于 f 既是一个函数又是一个子例程, ! 将发出一条消息。 end subroutine
消息 ID:ERROR_1282
在此编译的全局语义分析过程中,编译器发现实际程序单元定义与此程序单元的接口块不符。它们应当相同。
消息 ID:ERROR_1283
在此编译的全局语义分析过程中,编译器发现实际程序单元定义与此程序单元的接口块不符。它们应当相同。
实际程序单元定义和此程序单元的接口块之间的伪参数数量不同。
消息 ID:WARNING_1284
在此编译的全局语义分析过程中,编译器发现实际程序单元定义与此程序单元的接口块不符。它们应当相同。
经过检查的属性包括 vfunction、nosideeffects、pure、elemental 和 recursive。
消息 ID:ERROR_1285
在此编译的全局语义分析过程中,编译器发现实际程序单元定义与此程序单元的接口块不符。它们应当相同。
所有伪参数的类型和等级必须一致。
消息 ID:WARNING_1286
在此编译的全局语义分析过程中,编译器发现实际程序单元定义与此程序单元的接口块不符。它们应当相同。
函数结果的类型和等级应该相同。
消息 ID:WARNING_1287
在此编译的全局语义分析过程中,编译器发现实际程序单元定义与此程序单元的接口块不符。它们应当相同。
消息 ID:WARNING_1288
不允许在指定为 DO PARALLEL 循环的 DO 循环内嵌套另一个 DO PARALLEL 指令。在此上下文中也不允许 CASE 指令。
消息 ID:ERROR_1289
在此编译的全局语义分析过程中,编译器发现实际程序单元定义与此程序单元的接口块不符。它们应当相同。
函数结果的类型和等级应该相同。
消息 ID:WARNING_1290
在此编译的全局语义分析过程中,编译器发现实际程序单元定义与此程序单元的接口块不符。它们应当相同。
所有伪参数的类型和等级必须一致。
消息 ID:WARNING_1291
在此编译的全局语义分析过程中,编译器发现实际程序单元定义与此程序单元的接口块不符。它们应当相同。
实际程序单元定义和此程序单元的接口块之间的伪参数数量不同。
消息 ID:WARNING_1292
全局名称的范围是一完整的编译单元。对此全局名称的任何引用必须是正确的,并与此名称的定义相匹配。
编译器找到了与其引用不匹配的程序单元定义。
发现与以下相似的内容:
program f ... end program ... subroutine f() call p() ! 由于 p 是此编译中的程序, ! 将发出一条消息。 end subroutine
消息 ID:WARNING_1293
在此编译的全局语义分析过程中,编译器发现实际程序单元定义与一项对该函数的引用不符。函数结果的类型和等级应该相同。
消息 ID:WARNING_1294
在此编译的全局语义分析过程中,编译器发现实际程序单元定义与一项对该过程的引用不符。
实际程序单元定义的伪参数数量和此引用中指定的实际参数的数量不同。
如果该定义具有可选参数,应在此程序单元中指定该引用的显式接口。
消息 ID:WARNING_1295
全局语义检测到定义和在另一程序单元中的引用之间存在差异。 显式接口将此伪参数定义为替换返回参数 (*),但是调用点不提供作为相应的实际参数的用户标签。
消息 ID:WARNING_1296
在全局语义分析过程中,编译器发现伪参数和实际参数之间的不匹配。如果伪参数为数据对象,那么实际参数必须为数据对象。如果伪参数是伪过程,那么实际参数必须为过程。
消息 ID:WARNING_1297
全局语义检测到定义和在另一程序单元中的引用之间存在差异。 与伪参数相关联的实际参数类型必须一致。这种情况下,伪参数和实际参数均为函数。函数的类型和种类类型必须一致。
消息 ID:WARNING_1298
在全局语义分析过程中,编译器发现伪参数和实际参数之间的不匹配。如果伪参数为数据对象,那么实际参数必须为数据对象。如果伪过程是伪函数,那么实际参数必须是函数。如果伪过程是子例程,那么实际参数必须是子例程。
消息 ID:WARNING_1299
在全局语义分析过程中,编译器发现伪参数和实际参数之间的不匹配。如果伪参数为数据对象,那么实际参数必须为数据对象。如果伪参数是伪过程,那么实际参数必须为过程。
消息 ID:WARNING_1300
全局语义检测到定义和在另一程序单元中的引用之间存在差异。 数组伪参数不能具有与其相关联的标量实际参数。此处允许数组元素。
消息 ID:WARNING_1301
Fortran 标准仅允许引用假定大小数组的整个数组,作为不需要上界的过程的参数或作为 LBOUND 的参数。作为标准的一个扩展,F90 允许 WRITE 或 READ 语句中的内部文件为假定大小字符数组。
消息 ID:ANSI_1302
在 COPY_ASSUMED_SHAPE 指令中指定了不是假定形伪参数的对象。通常,在指令中遇到标量变量时编译器会产生此消息。
消息 ID:ERROR_1303
不带参数列表的 COPY_ASSUMED_SHAPE 指令请求,将所有假定形伪参数复制到临时数组中,以有助于循环优化。由于没有任何假定形伪参数,所以发出了此消息。
消息 ID:CAUTION_1304
编译器测定出短于关联的伪参数的字符型实际参数。此类型被空白填充到必要长度。
消息 ID:CAUTION_1305
编译器测定出短于关联的伪参数的字符型实际参数。此类型被空白填充到必要长度。这是 Fortran 标准的一个扩展。
消息 ID:ANSI_1306
检测到被调用例程的显式接口中提供的伪参数的种类类型参数和实际参数的种类类型参数之间有差异。
消息 ID:ERROR_1307
编译器检测到实常量中缺少指数字段。实常量的语法是
[sign] real_literal_constant其中,real_literal_constant 是 significand [exponent_letter exponent] [_kind_param] 或 digit_string exponent_letter exponent [_kind_param],而 significand 是 digit_string.[digit_string] 或 digit_string;exponent_letter 代表 E 或 exponent 表示 signed_digit_string。
消息 ID:ERROR_1308
编译器检测到一个跟随 D 或 Q 指数的种类参数。 实常量的语法是
[digit_str].digit_str[exponent_letter exponent] [_kind_param]exponent_letter 是 D、E 或 Q;指数是带有以下约束的 signed_digit_string:如果 kind_param 和 exponent_letter 都出现,则 exponent_letter 必须是 E。
消息 ID:ERROR_1309
此消息报告程序编译过程所用的时间(以秒为单位)。
消息 ID:LOG_SUMMARY_1310
根据标准 12.7.2 的 ELEMENTAL 的定义“对于那些具有一个以上参数的基本函数,所有实际参数应该一致”。子例程有相同的语句。
消息 ID:ERROR_1311
DO PARALLEL 指令仅能用在由 PARALLEL/ENDPARALLEL 指令限制的并行区域内。不能在 CASE 并行区域内指定它们。
消息 ID:ERROR_1312
两个指定的命令行选项相互冲突,不应在同一命令行中指定。 -ei 和 -e0 冲突。编译器选择指定的最后一个选项。(最右边者符合规则。)
消息 ID:LOG_WARNING_1313
在任务指令语句中,变量在多个域列表中列出。域列表为 PRIVATE、GETFIRST 和 SHARED。
消息 ID:ERROR_1314
内部数据结构溢出。把它报告给现场分析员。也许能够增加数据结构的大小。
消息 ID:INTERNAL_1315
内部符号表出现问题。请通知您的系统支持人员。
消息 ID:INTERNAL_1316
在此平台上的 IVDEP 指令中不允许 SAFEVL 子句。此 IVDEP 指令将被忽略。即:当作注释。
消息 ID:WARNING_1317
在 CACHE_BYPASS 指令中指定的所有对象,必须声明为同一作用单元中的数组,或者成为主机关联或使用关联到该范围的数组。
消息 ID:ERROR_1318
CACHE_BYPASS 指令要求数组名称。编译器检测到后跟下标或子串引用的表达式或数组名。这是不允许的。
消息 ID:ERROR_1319
目前,CACHE_BYPASS 指令受支持的数组类型仅有 64 位整数、实数和逻辑。
消息 ID:ERROR_1320
这种情况决不应发生。请将此情况报告给您的系统支持人员。
消息 ID:INTERNAL_1321
编译器检测到过程中有错误;因而将不会为该过程创建内联信息文件。错误可造成内联信息文件中的信息不可靠。
消息 ID:ERROR_1322
标准要求 MIN/MAX 的所有参数必须具有相同的类型和种类类型。编译器将允许不同种类类型,并将较小的种类类型参数提升为最大的种类类型参数。
消息 ID:ANSI_1323
当前 DO 循环的 BLK_LOOP_NUM 已经是最大值。较大的值将溢出分配给“块栈”中 BLK_LOOP_NUM 的空间。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题。但是您可以更改代码以避免编译器发出此消息。
消息 ID:INTERNAL_1324
用户正在试图内联具有无效参数映射的调用点。实际参数是一个常量,并且被调用者会存储到与该常量相关联的伪参数。
例如:
subroutine sam(i) j = 4 i = j !在内联时这将创建一个到常量的存储 end program nono call sam(3) end
消息 ID:INLINE_1325
被内联的例程包含替换 RETURN。因此,此例程无法扩展内联。
例如:
subroutine boo(*) print *, 'in boo' return 1 end program b call boo(*3) !此调用不会被内联 print *, 'should never print this' 3 continue end
消息 ID:INLINE_1326
无法内联含有 PRESENT 内在过程调用的例程。
例如:
program tt call sam(i) !此调用不会被内联。 end subroutine sam(j) print *, present(j) end
消息 ID:INLINE_1327
每个相应的实际参数和伪参数必须具有相同类型和种类类型。否则,调用点将不扩展到内联。
例如:
subroutine sam(i) integer (8) i print *, i end program nono integer (4) j call sam(j) !将不会扩展到内联 end
消息 ID:INLINE_1328
无法扩展内联含有 NUMARG 内在过程调用的例程。
例如:
program boo call sam(3,i) !此调用点将不会扩展到内联 end subroutine sam(j,k) print *, NUMARG() end
消息 ID:INLINE_1329
如果内联函数遇到正在被传递到数组伪参数的标量实际参数,那么将不会内联调用点。
例如:
program boo call sam(a) !此调用点将不会扩展到内联 end subroutine sam(b) dimension b(10) print *, b(1) end
消息 ID:INLINE_1330
如果例程含有 ASSIGN 语句,那么将不会扩展到内联。
例如:
program boo call sam() !此调用点将不会扩展到内联 end subroutine sam() assign 10 to L j = k if (j .eq. 1) goto L r = q 10 continue r = s end
消息 ID:INLINE_1331
如果声明例程为 RECURSIVE,那么内联函数不会试图内联该例程。
例如:
subroutine sam() call joe() !此调用点将不会被内联 end RECURSIVE subroutine joe() ifcall joe() end
消息 ID:INLINE_1332
如果内联函数遇到对伪过程的调用,那么将不会试图内联此伪过程调用。
例如:
external bubble call bubble() !此调用点将不会被内联 end subroutine bil() external tank call boo(tank) end
消息 ID:INLINE_1333
如果例程含有 OPTIONAL 伪参数,那么内联函数决不会扩展该例程内联。
例如:
subroutine slug(a,b) OPTIONAL :: b print *, b end program boo call slug(x,y) !slug 永远不能被扩展到内联 end
消息 ID:INLINE_1334
仅当 -Oinline1 位于命令行时才发出此消息。在内联的第一级,指令是使内联发生的唯一方法。能够在此级别促成内联的两个指令为:!dir$ INLINE 和 !dir$ INLINEALWAYS。
消息 ID:INLINE_1335
仅当 -Oinline2 位于命令行时才发布此消息。调用点只有位于 DO 循环内才能被内联。
消息 ID:NOTE_1336
如果例程在静态存储器中的任何位置含有 Fortran 指针,那么内联函数将不会内联该例程。
例如:
subroutine boo() common // a pointer a print *, 'in boo' end subroutine bo() save a pointer a print *, 'in bo' end program nono call boo() !此调用点不会被内联 call bo() !此调用点不会被内联 end
消息 ID:INLINE_1337
用户已经将 !dir$ NOINLINE 指令放入它们的源中,所以不会内联此调用点。
例如:
program this dimension a(10) !dir$ NOINLINE call sam() !此调用不会被内联 end subroutine sam() print *, 'in sam' end
消息 ID:INLINE_1338
因为名称出现在 INLINENEVER 指令中,此例程将不会扩展到内联。如果 INLINENEVER 指令出现在“名称”在此指令中指定的例程的定义中,那么该例程的调用永远不会扩展到内联。如果 INLINENEVER 指令未出现在例程定义中,那么将不会内联对在 INLINENEVER 指令中指定的“名称”的调用。
例如:
subroutine this() !dir$ INLINENEVER this print *, 'in this' end subroutine that() print *, 'in that' call this() ! 调用点不会被内联 end program boo !dir$ INLINENEVER that call this() ! 调用点不会被内联 call that() ! 调用点不会被内联 end
消息 ID:INLINE_1339
被内联例程的伪参数是一个伪过程。内联函数将不会内联此例程。
例如:
subroutine boo(b) external b print *, b(3.0) end program big intrinsic tan call boo(tan) !调用点不会被内联 end
消息 ID:INLINE_1340
无法内联具有在子例程中引用的伪参数的例程。
例如:
subroutine boo(i) call sam() !调用点不会扩展到内联内容 contains subroutine sam() print *, i end subroutine end subroutine
消息 ID:INLINE_1341
实际参数和伪参数的数量必须相等,以便内联调用点。
例如:
subroutine boo(a) print *, a end program this call boo(x,y) !此调用点不会被内联 end
消息 ID:INLINE_1342
在此调用点,用户编码的实际参数已超过 64 个。无法内联该调用点。
消息 ID:INLINE_1343
编译器无法查找被调用例程的模板从而将其扩展到内联。出现此情况的原因为:
1) 创建模板时,该例程中有编译错误。
2) 用户没有将编译指引到查找此内联例程的位置。
3) 用户实际上从未为该例程创建模板。
消息 ID:INLINE_1344
用户已在例程中采用了一个入口点,而在该例程的某处引用了来自其他入口点的伪参数。这是非法的,编译器将不会内联此类调用。
例如:
subroutine boo() common // a print *, a if (a .gt. 0.0) goto 10 entry alt(b) 10 continue print *, b end program nono common // a call boo() ! 此调用点不会被内联 end
消息 ID:INLINE_1345
如果例程已内联,那么该例程含有 USE 语句。正在使用的模块已经被编译并且可用。
例如:
program boo call s() ! 此调用点不会被内联 end subroutine s() use z print *, i end module z integer i end
消息 ID:INLINE_1346
此特定例程文本太多,无法扩展到内联。
消息 ID:INLINE_1347
此机器不能支持高于 DOUBLE PRECISION 的 REAL 精度。
消息 ID:CAUTION_1348
这种情况决不应发生。这说明在常量表中有无效入口。
消息 ID:INTERNAL_1349
在以后的版本中将不再支持列出的指令。请从您的代码中删除对此指令的引用。
消息 ID:WARNING_1350
-a pad 特征可在公共和静态存储块对象之间进行填充。如果将任何对象等效,那么将不会进行填充,因为这样可能会破坏等效。
消息 ID:WARNING_1351
-a pad 特征可在公共和静态存储块对象之间进行填充。如果将任何对象等效,那么将不会进行填充,因为这样可能会破坏等效。
消息 ID:WARNING_1352
在命令行上指定的两个选项之间存在冲突,所以编译器选择了其中一个选项。该消息详细说明了选择了哪个选项。
消息 ID:LOG_WARNING_1353
临时消息。不应接收到此消息。
消息 ID:WARNING_1354
因为一个伪参数是 CRI 指针,所以没有内联此例程。
消息 ID:INLINE_1355
在编译器指令行的分析过程中,该编译器找到未知字符。该行已经被清空。
消息 ID:WARNING_1356
如果在子例程中引用了函数 "FUNC" 结果,那么将无法内联 "FUNC"。
例如:
program start j = if(10) ! 此调用点不会被内联 print *, "j should be 10 ", j end program function if(i) integer if if = i call z() contains subroutine z() print *, "if should be 10 ", if ! 主函数结果 end subroutine end function
消息 ID:INLINE_1357
无法内联扩展此例程,因为其包含将 COMMON 块变量作为参数的 LOC 内在过程。LANL 要求在每个调用点将所有的 CRI 指针强制到内存,不论 CRI 指针是否在调用列表中。这使得在某些情况下含有 CRI 指针的例程的内联不安全。
消息 ID:INLINE_1358
将不会内联含有 COMMON 块中的 CRI 指针的例程。
消息 ID:INLINE_1359
C$ 和 C$PAR 编译器指令的许多子句仅能指定一次。
C$DOACROSSIF、CHUNK(或 BLOCKED)、MP_SCHEDTYPE、AFFINITY、NEST 和 ONTO 仅能指定一次。
消息 ID:ERROR_1360
对于 DOACROSS、PDO 和 PARALLEL DO 指令,必须在 ONTO 子句之前指定 NEST 子句。
消息 ID:ERROR_1361
只能用一种方法限定并行区域内对象的范围。以下示例中,对象 "A" 位于 SHARE 和 LASTLOCAL 两个列表中。这是不允许的。
C$DOACROSS SHARE(A,B), LASTLOCAL(A) do 100 B = 1,10 A = B 100 continue
消息 ID:ERROR_1362
在 DOACROSS 指令的 REDUCTION 列表中仅允许标量变量或数组元素。
消息 ID:ERROR_1363
DOACROSS 指令的 CHUNK(或 BLOCKED)表达式必须为标量 INTEGER 表达式。
消息 ID:ERROR_1364
F-- 原型仅支持 COMMON 块对象的 pe 维数语法。
消息 ID:ERROR_1365
F-- 原型不支持将 PE 维数引用为用户或内在调用的参数。
消息 ID:ERROR_1366
编译器检测到变量问题。在边界表中存取字段,但是使用了错误的变量。边界表变量为正规数组入口和分发入口。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_1367
DOACROSS、PDO、PARALLEL DO 指令的 ONTO 子句仅能含有整型常量或字符 "*"。整型常量必须大于零。
消息 ID:ERROR_1368
对于 DOACROSS、PDO 和 PARALLEL DO 指令,整型常量或 "*" 说明符的数量必须等于在关联 NEST 子句中指定的循环控制变量的数量。
消息 ID:ERROR_1369
遇到的子句在指定的 mp 指令中不受支持。
消息 ID:ERROR_1370
THREAD 子句(与 DOACROSS、PDO 和 PARALLEL DO 指令一起使用)仅能具有一个标量 INTEGER 表达式参数。
消息 ID:ERROR_1371
待提供。
消息 ID:ERROR_1372
待提供。
消息 ID:ERROR_1373
有许多不允许子对象引用的上下文。即,正在引用的变量必须作为非限定名称被引用,例如 X 或 ARRAY。特别地,该名称不能具有任何附加的下标列表也不能包含结构组件 (%) 符号。
此类上下文的一些示例为 DO 变量并且在编译器指令中。例如,任务编译器指令定义并行区域的范围或上下文时,该参数必须是全程变量,而不能是变量子对象。不允许以下代码片段。
TYPE X INTEGER I END TYPE TYPE(X) :: K CMIC$ DO ALL SHARED(K%I)
消息 ID:ERROR_1374
标明的名称列表必须至少包含两个名称。
消息 ID:WARNING_1375
仅标量变量名能够用于 DOACROSS、PARALLEL DO 和 PDO 指令的 LASTTHREAD 子句中。
消息 ID:ERROR_1376
ONTO 子句要与嵌套循环一起使用。如果 NEST 子句仅具有一个对象,那么不允许 ONTO 子句。
消息 ID:ERROR_1377
仅允许某些整型数值用于 PREFETCH 和 PREFETCH_MANUAL 指令。
C*$* PREFETCH (n1, [, n2] )n1 和 n2 必须为:
C*$* PREFETCH_MANUAL (n)n 必须为:
消息 ID:ERROR_1378
INTERCHANGE 指令的格式为:
C*$* INTERCHANGE( DO-variable-list )而 BLOCKABLE 指令的格式为:
C*$* BLOCKABLE( DO-variable-list )其中,DO-variable-list 中的每个名称必须为该指令之后循环嵌套中的 DO 变量名称。DO-variable-list 必须至少包含 2 个 DO 变量名。跟随指示性 INTERCHANGE 指令的循环嵌套必须完全嵌套。
INTERCHANGE 或 BLOCKABL 指令位于含有当前迭代 DO 循环的循环嵌套之前,当其 DO-variable-list 中未包含标明的 DO 变量名时,发出此消息。
消息 ID:ERROR_1379
应该完全嵌套迭代 DO 循环的当前嵌套,因为该嵌套是 INTERCHANGE 指令的主题。要进行完全嵌套,在循环嵌套的开头,DO 循环集必须具有序列 DO 语句(即,在任何 DO 语句之间不出现其他语句)并且循环结束语句必须也是有序的。只要 DO 语句是有序的,在单个语句中结束的多循环仍然被看作是完全嵌套。
在循环嵌套开头的两个 DO 语句之间或在循环嵌套结尾的循环结束语句之间出现语句时,将发出此消息。
消息 ID:ERROR_1380
命名的指令之后必须紧跟 DO 循环。任何语句不能出现在此指令和随后的 DO 循环之间。由于 DO 语句之外的语句跟随在命名指令之后,因此发出此消息。
消息 ID:ERROR_1381
PREFETCH_REF_DISABLE 指令用于禁用预取该指令中指定的所有数组引用。遇到无效数组名。
消息 ID:ERROR_1382
编译器在进行卷分析时使用 PREFETCH_REF_DISABLE 和 PREFETCH_REF 指令的 SIZE 参数。该参数必须为常量。
消息 ID:ERROR_1383
对于 PREFETCH_REF 指令,LEVEL 子句可以向编译器说明要在内存层次中预取的级别。
level = 1, 从 L2 到 L1 缓存中进行预取
level = 2, 从内存到 L1 缓存中进行预取
不允许使用其他值。
消息 ID:ERROR_1384
FILL_SYMBOL 和 ALIGN_SYMBOL 指令的第一个参数必须为变量名。
消息 ID:ERROR_1385
FILL_SYMBOL 或 ALIGN_SYMBOL 指令的第二个参数必须是一个值为 2 的幂(1、2、4、8 等等...) 的常量或一个关键字(L1cacheline、L2cacheline 或页)。
消息 ID:ERROR_1386
当一个以上的 INTERCHANGE 指令或 BLOCKABLE 指令应用到单个循环嵌套时,发出此消息。通常在一个以上的此类指令位于循环之前时发出此消息,例如:
C*$* INTERCHANGE(i, j, k) C*$* INTERCHANGE(j, k, m) DO j = 1, 5 ...或者这些指令中的一个指令位于一个循环嵌套之前,并且另一个相同类型的指令出现在第一个指令范围内的两个 DO 语句之间,此时也会发出此消息,例如:
C*$* INTERCHANGE(i, j, k) DO j = 1, 5 DO i = 1, 5 C*$* INTERCHANGE(m, k) DO k = 1, 5 DO m = 1, 5 ... END DO END DO END DO END DO
消息 ID:ERROR_1387
用户正在试图内联使用替换实体的函数。内联程序不能确定代码是否确实只定义了所获得入口点的结果名称。
例如:
FUNCTION IBA() 10 CONTINUE IBA = 3 RETURN ENTRY IDA() ! This call will not inline. IDA = 1 GOTO 10 END
消息 ID:INLINE_1388
如果在 BLOCKABLE 指令的 DO 变量列表中指定的 DO 变量数量大于 BLOCKABLE 指令之后 DO 循环嵌套的嵌套深度,则发出此消息。例如,在以下程序片段中遇到第一个 END DO 时将发出此消息。
C*$* BLOCKABLE(i, j, k) DO j = 1, 3 DO i = 1, 3 ... END DO END DO
消息 ID:ERROR_1389
遇到以显式字符长度声明的 Cray 字符指针对象。指针对象的字符长度仅由关联 Cray 字符指针的赋值确定。指针对象将视为假定长度字符变量。显式长度规范将被忽略。
Cray 指针数据类型是 Fortran 标准的一个扩展。
消息 ID:WARNING_1390
要成为一个有效的 Fortran 程序,源文件至少要包含一个 END 语句。该源文件或者大小为零(完全为空)或者仅包含注释和/或空白行。此类实际或有效的空源文件不能构成一个 Fortran 程序。
消息 ID:LOG_WARNING_1391
该标准不允许在规范表达式中使用返回整型以外数据类型的内在属性。
消息 ID:ANSI_1392
通过中断单个霍尔瑞斯或字符常量,扩展可以允许多个字长数组元素在 DATA 语句中初始化。这样的扩展是一个过时、有歧义和易出错的扩展。因此,从编译器下一版本开始将不再提供此扩展。霍尔瑞斯或字符常量将对应 DATA 语句目标列表中的单个数组元素。
消息 ID:WARNING_1393
此消息不再使用。
C$COPYIN 指令中的每项必须是局部 COMMON 块的成员。它可以是一个变量、一个数组、一个数组的单个元素或整个 COMMON 块。
注意:但不能从并行区域内部执行 C$COPYIN 指令。
例如:
C$COPYIN x,y, /foo/, a(i)传播 x 和 y 的值、在 COMMON 块 foo 中的所有值和数组 a 的第 i 个元素。所有这些项目必须是局部 COMMON 块的成员。请注意,此指令将被解释为可执行的代码,所以在此示例中,执行此语句时会求出 i 的值。
消息 ID:ERROR_1394
C$COPYIN 指令中的每项必须是局部 COMMON 块的成员。它可以是一个变量、一个数组、一个数组的单个元素或整个 COMMON 块。
但不能从并行区域内部执行 C$COPYIN 指令。
例如:
C$COPYIN x,y, /foo/, a(i)传播 x 和 y 的值、在 COMMON 块 foo 中的所有值和数组 a 的第 i 个元素。所有这些项目必须是局部 COMMON 块的成员。请注意,此指令将被解释为可执行的代码,所以在此示例中,执行此语句时会求出 i 的值。
消息 ID:ERROR_1395
C$DYNAMIC 或 C$REDISTRIBUTE 指令必须具有作为参数的一个或多个数组名称。
消息 ID:ERROR_1396
指令的此参数必须是一个标量整型表达式。
消息 ID:ERROR_1397
DISTRIBUTE、DISTRIBUTE_RESHAPE 和 REDISTRIBUTE 指令的 ONTO 子句(如果指定)必须具有与 BLOCK 或 CYCLIC 分配规范完全相同的值数量。不要为 "*" 分配规范指定 ONTO 值。
消息 ID:ERROR_1398
此内在属性不是标准的一部分,将被淘汰。请更改您的代码。
消息 ID:WARNING_1399
已经将可分配的数组指定给规范表达式内的查询内在属性。这是不允许的。
消息 ID:ERROR_1400
在没有参数的情况下调用 exit 时,会自动提供零作为参数 EXIT(3F)。
消息 ID:WARNING_1401
此消息标识正在使用哪一个版本的编译器。
消息 ID:LOG_SUMMARY_1402
此消息提供了编译过程中发出的消息摘要。
消息 ID:LOG_SUMMARY_1403
在接口体或接口块内不能指定 STACK 指令。该指令在此处没有意义。
消息 ID:WARNING_1404
在 MODULE 的规范部分中不能指定 STACK 指令。在 MODULE 的规范部分中,缺省的存储总是静态存储,不能用 STACK 指令进行更改。
消息 ID:WARNING_1405
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免编译器发出此消息。
消息 ID:INTERNAL_1406
编译器检测到此对象声明中有冲突。鉴于对象的给定属性,不能将其声明为新的项目。尽管此时不允许执行上述操作,但是在将来的发行版本中允许这样。
消息 ID:WARNING_1407
编译器检测到此对象声明中有冲突。该对象不能被赋予指定属性。尽管此时不允许执行上述操作,但是在将来的发行版本中允许这样。
消息 ID:ERROR_1408
此指令可能已更改了伪参数的类型,所以在内联例程时可能会产生不正确的结果。
消息 ID:INLINE_1409
鉴于标记尺寸限制,关键字表中的所有项都必须少于 127 个字符。发出此消息时,请检查正在使用的表。
应避免产生此消息,它表示编译器错误或安装错误。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题。
消息 ID:INTERNAL_1410
已检测到未正确使用编译器指令。许多指令都存在不能在其中进行指定的代码区域。例如,使用由 C$PAR CRITICAL SECTION / C$PAR END CRITICAL SECTION 限制的临界段内指定的 C$PAR PDO 指令。
消息 ID:ERROR_1411
已检测到未正确使用编译器指令。只能在某些代码区域中指定许多指令。例如,只能在 C$PAR PARALLEL / C$PAR END PARALLEL 限制的并行区域中指定 C$PAR PDO 指令。
消息 ID:ERROR_1412
发现一个数值常量超出范围。整型常量太大,或者实数常量的指数太大。
消息 ID:WARNING_1413
N$PES 是对 Fortran 标准的扩展。它是一个特殊符号常量,已通过编译器将其预定义为 INTEGER 类型;因此不能为任何属性指定 N$PES。可以在符号常量合法的位置将其用作符号常量。N$PES 的值由编译器命令行选项、装入时选项或运行时选项设置。
消息 ID:ANSI_1414
在此平台上不支持 AUTOSCOPE 子句。任何无作用域的变量将被假定为 SHARED。
消息 ID:ERROR_1415
PDO、PARALLEL DO 和 DOACROSS 指令的 NEST 子句必须使用与嵌套循环循环控制变量的顺序相同的参数顺序。
C$DOACROSS ... NEST(i,j,k) ... do i = 1,10 do k = 1,10 do j = 1,10 enddo enddo enddo以上示例会发出此消息。
消息 ID:ERROR_1416
在 DOACROSS、PDO 或 PARALLEL DO 指令的 AFFINITY 子句中指定的 DO 循环控制变量必须与 NEST 子句中列表的顺序相匹配。
消息 ID:ERROR_1417
在 DOACROSS、PDO 或 PARALLEL DO 指令中指定 DATA 关联时,不能使用 ONTO 子句。
消息 ID:ERROR_1418
不能在模块程序单元中指定以假定大小说明符声明的数组。
消息 ID:ERROR_1419
Fortran 标准说明中指出,“接口体不能通过主机关联访问命名的实体,但是可以通过使用关联访问实体”。编译器遇到用作派生类型的对象,但是在接口体定义内没有派生类型的定义。因为在接口体主机中编译器发现派生类型,所以该编译器(正确地或错误地)假定用户正在尝试将派生类型主机关联到接口体中。这是不允许的。此操作的最佳方法是将类型定义移到模块中并在这两处使用模块。替换方法是在两处声明派生类型,请注意,该派生类型声明应符合与派生类型声明匹配的要求(如果两个不同类型的声明具有相同的名称、都具有 SEQUENCE 属性并且具有无 PRIVATE 可访问性而顺序、名称和属性一致的组件,那么它们被看作是相同的)。
消息 ID:ERROR_1420
在接口块压缩过程中,已压缩了局部名称表中的入口。不应该压缩该入口。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免编译器发出此消息。
消息 ID:INTERNAL_1421
CONCURRENT 编译器指令的安全距离值必须是标量整型常量表达式,这样编译器才能在编译时对其求值。该表达式的求值计算值必须是大于或等于 1 的整数值。
消息 ID:ERROR_1422
在作用域单元中指定 IMPLICIT NONE 时,Fortran 标准要求在引用对象之前声明该对象的类型。在此测试中,设定该对象类型之前已引用了该对象。
消息 ID:ANSI_1423
如果在一个范围内指定了 IMPLICIT NONE,则 Fortran 标准要求在将对象作为名称列表组中的对象进行引用、初始化、指定之前或声明为常量之前必须为该对象声明类型。
消息 ID:ERROR_1424
调用者/被调用者的函数结果类型不匹配。因此,编译器无法扩展此函数内联。
消息 ID:INLINE_1425
已经引用或定义了正在声明的对象。在引用或定义对象之前,必须为其指定 PARAMETER 属性。
消息 ID:ERROR_1426
Cray 指针可以具有一个以上的指针对象,但是所有指针对象必须为字符或非字符。不允许混合使用这些字符。
消息 ID:ERROR_1427
Cray 指针可以具有多个指针对象。但是,所有指针对象必须为字符或非字符。不允许混合使用这些字符。
消息 ID:ERROR_1428
指定的命令行选项与指定的指令不兼容。该指令已被忽略并作为注释行处理。
消息 ID:WARNING_1429
在 mp 指令(例如 DOACROSS、PDO、PARALLEL DO)中不支持局部化的 ALLOCATABLE 或 POINTER 数组。不能在 LOCAL 子句中指定这些数组。同样,在 LOCAL 子句中不支持 Cray 指针对象。
消息 ID:ERROR_1430
对于此指令的子句,参数必须为整型常量或整数变量。
在 SEND 指令中的 POINT 子句 在 WAIT 指令中的 POINT 子句
消息 ID:ERROR_1431
对于此指令的子句,参数必须为整型常量。
在 WAIT 指令中的 SPAN 子句
消息 ID:ERROR_1432
对于此指令的子句,参数必须为逻辑表达式。
在 SEND 指令中的 IF 子句。
消息 ID:ERROR_1433
此表达式所需的存储大小超过了计算机的内存大小(以字节为单位)。表达式可能包含数组构造函数,或者是函数调用的结果。
消息 ID:ERROR_1434
此项所需的存储大小超过了计算机的内存大小(以字节为单位)。
消息 ID:ERROR_1435
编译器遇到了一个可识别但却不受支持的任务指令子句。出现这种情况的原因是此子句与支持的硬件不相关或者在将来的发行版本中才支持此子句。
消息 ID:WARNING_1436
遇到的情形是使用常量实际参数替换伪参数时将生成常量的 LOC()。优化器无法处理此类构造。
消息 ID:INLINE_1437
函数或子例程调用具有必须被复制输入或复制输入/复制输出到临时变量的参数。如果消息提到了“可能”的复制输入或复制输出,那么将执行运行时检查来查看是否有必要为 POINTER 或 ALLOCATABLE 参数提供一个副本。
消息 ID:CAUTION_1438
基本过程的伪参数不能出现在规范表达式中,除非作为 BIT_SIZE、KIND、LEN 或数值查询内在属性的参数。
消息 ID:ERROR_1439
指令 SECTION_GP 和 SECTION_NON_GP 的参数必须为公共块名称或静态存储器中的变量。不能指定公共块中的对象名称。而是必须使用公共块名称。例如:
COMMON /BLK/ A,B !*$*SECTION_GP /BLK/ ! 正确 !*$*SECTION_GP (A) ! 非法
消息 ID:ERROR_1440
编译器检测到此对象声明中有冲突。指定的属性和指令不兼容,因此不能将对象同时声明为这两项。
消息 ID:ERROR_1441
编译器检测到此对象声明中有冲突。不能使用指定的编译器指令声明此对象。
消息 ID:ERROR_1442
被声明的对象是一个被引用或定义的伪参数,因此禁止使用指定的编译器指令声明该对象。
消息 ID:ERROR_1443
被声明的对象已用作变量,因此禁止使用指定的编译器指令声明该对象。
消息 ID:ERROR_1444
在此平台上未完全实现 TASK 和 NOTASK 编译器指令。它们控制其他任务 CMIC$ 指令的识别,但是无法控制 -pfa 命令行选项下执行的自动任务。
消息 ID:WARNING_1445
在 mp 指令 DOALL 和 PARALLEL 中,不支持私有化的 ALLOCATABLE 或 POINTER 变量。因此不能在 PRIVATE 子句中指定这些变量。
同样,不能使用 PRIVATE 子句指定 Cray 指针对象。
消息 ID:ERROR_1446
N$PES 是特殊符号常量。编译器将其定义为 INTEGER 型,并且不能更改此类型。不能为 N$PES 指定任何属性,也不能在任何编译器指令中指定 N$PES。可以在符号常量合法的位置将其用作符号常量。N$PES 的值由编译器命令行选项、装入时选项或运行时选项设置。
消息 ID:ERROR_1447
对象成为使用关联之后,在任何规范语句或任何声明性编译器指令(例如 ALIGN_SYMBOL、FILL_SYMBOL、NAME、SECTION_GP、SECTION_NON_GP、VFUNCTION 或 SYMMETRIC)中不能指定该对象。
消息 ID:ERROR_1448
如果在主作用域内声明对象并在局部作用域内使用该对象,则此对象是主机关联的。对象主机关联到某个作用域之后,就不能对其重声明了。也不能在声明性指令中指定此对象。
消息 ID:ERROR_1449
编译器检测到此对象声明中有冲突。声明的对象类型已被设定为可变长度字符实体,所以禁止在声明性编译器指令中对其声明。
消息 ID:ERROR_1450
编译器检测到此对象声明中有冲突。声明的对象是具有非恒定边界的显形数组,因此禁止在声明性编译器指令中指定它。
消息 ID:ERROR_1451
编译器检测到此对象声明中有冲突。已使用指令指定了声明的对象,因此禁止将其设定为可变长度字符类型。
消息 ID:ERROR_1452
如果已为过程声明了显式接口,则必须在此显式接口内部指定描述此过程的所有信息(除 PTIONAL、PRIVATE 和 PUBLIC 属性之外)。此过程可以被指定为伪参数。也可能在 INLINE 指令中指定了此过程。
消息 ID:ERROR_1453
声明的对象已被用作函数,因此不能对此对象作进一步的声明。
消息 ID:ERROR_1454
声明的对象已被用作子例程,因此不能对此对象作进一步的声明。
消息 ID:ERROR_1455
标准中规定,初始化表达式的主项可以是整型或字符类型的基本内在函数引用,此时每个参数都是整型或字符类型的初始化表达式。
消息 ID:ERROR_1456
编译器检测到此对象声明中有冲突。不能在两个指令中都指定此对象。
消息 ID:ERROR_1457
编译器检测到此对象声明中有冲突。指定的指令禁止使用该属性声明此对象。
消息 ID:ERROR_1458
编译器检测到此对象声明中有冲突。指定的指令禁止使用该属性指定此对象。
消息 ID:ERROR_1459
在使用 -ufmm 选项时,编译器立即生成了 start_pes_(0) 的调用。请在代码中删除所有的 START_PES() 用户调用。
消息 ID:WARNING_1460
待提供。
消息 ID:ERROR_1461
待提供。
消息 ID:ERROR_1462
语句函数的所有实际参数必须为标量数据对象。以下属性将非数据对象声明为过程。
消息 ID:ERROR_1463
编译器已检测到声明中有冲突。已使用指定的指令声明了此对象,因此不能将其声明为具有非恒定边界的显形数组。
消息 ID:ERROR_1464
编译器已检测到声明中有冲突。已使用指定的指令声明了此对象,因此它不能是用符号常量表达式声明其边界的数组。
消息 ID:ERROR_1465
编译器已检测到声明中有冲突。已使用指定的指令声明了此对象,因此不能在接口块中将它声明为一个过程。
消息 ID:ERROR_1466
编译器已检测到声明中有冲突。已使用指定的指令声明了此对象,因此它不能用作外部函数名称。
消息 ID:ERROR_1467
编译器已检测到声明中有冲突。已使用指定的指令声明了此对象,因此它不能在 CALL 语句中用作子例程名称。
消息 ID:ERROR_1468
编译器已检测到声明中有冲突。已使用指定的指令声明了此对象,因此不能将其用作派生类型名称。
消息 ID:ERROR_1469
编译器已检测到声明中有冲突。已使用指定的指令声明了此对象。因为它不是常量,所以不能用于初始化表达式。
消息 ID:ERROR_1470
如果在 FUNCTION 语句中指定了结果名称,则不允许以前引用或声明过该名称。以下示例中可能有先前引用过的内容:
CHARACTER*(RSLT()) FUNCTION FUN() RESULT(RSLT)如果结果名称与伪参数名称相同,则可能是先前的声明。
消息 ID:ERROR_1471
如果命名了 CRITICAL 段,也必须命名与它成对的 END CRITICAL。
消息 ID:ERROR_1472
在以下 OpenMP 指令的子句中仅允许使用数据对象。
PRIVATE SHARED FIRSTPRIVATE COPYIN REDUCTION LASTPRIVATE
消息 ID:ERROR_1473
不允许互相嵌套绑定到相同的 PARALLEL 指令的 DO、SECTIONS 和 SINGLE 指令。PARALLEL DO 和 PARALLEL SECTIONS 指令可以被看作后面跟适当的工作共享指令的 ARALLEL 指令。因此 DO、SECTIONS 和 SINGLE 指令不能直接嵌套在 PARALLEL DO 或 PARALLEL SECTIONS 区域内。
消息 ID:ERROR_1474
在 OpenMP 任务指令的 SCHEDULE 子句中,仅在 TYPE 为 STATIC、DYNAMIC 或 GUIDED 时才能指定 CHUNK。不能用 RUNTIME 指定 CHUNK。
消息 ID:ERROR_1475
每个在 !$OMP 指令子句中指定的变量仅在一个子句中显式出现,除非变量可以同时被指定为 FIRSTPRIVATE 和 LASTPRIVATE。
消息 ID:ERROR_1476
在 OpenMP 任务指令中,不能为 Cray 指针对象声明其范围。
消息 ID:ERROR_1477
只能在 OpenMP 任务指令的 PRIVATE 和 SHARED 子句中指定 Fortran 指针、可分配的数组和 Cray 指针。不能在 FIRSTPRIVATE 或 LASTPRIVATE 子句中指定这些对象。
消息 ID:ERROR_1478
在公共块声明结束后,!$OMP THREADPRIVATE 指令必须出现在例程的声明段中。
消息 ID:ERROR_1479
!$OMP FLUSH 指令具有可选列表。此列表仅包含命名的变量。
消息 ID:ERROR_1480
在 COMMON、TASK COMMON 或 THREADPRIVATE 指令中不允许出现指定为 // 的空白公共区。这些指令必须指定命名的公共块。
消息 ID:ERROR_1481
不能在 OpenMP 指令的 PRIVATE、FIRSTPRIVATE 或 LASTPRIVATE 子句中指定假定大小和假定形式的数组。
消息 ID:ERROR_1482
仅命名的标量和定义了类型的内在变量才能出现在 REDUCTION 子句的变量列表中。不允许子对象、数组元素、指针和公共块是 reduction 变量。
消息 ID:ERROR_1483
Fortran 指针、可分配数组和 Cray 指针仅允许在 SHARED 和 PRIVATE 子句中使用。不允许在 REDUCTION 列表、FIRSTPRIVATE、LASTPRIVATE 和 COPYIN 子句中使用它们。
消息 ID:ERROR_1484
如果在 THREADPRIVATE 指令中指定了公共块,则必须在所有声明中使用此指令指定它。指定的公共块是在此范围内的主机或使用关联,但未使用 THREADPRIVATE 指令在其声明范围内指定它。THREADPRIVATE 可以仅由使用关联的公共块指定为确认声明。也就是:在声明模块中使用 THREADPRIVATE 指定它。如果在模块中用 THREADPRIVATE 声明公共块,则此指令可以用作一种决定方法。
消息 ID:ERROR_1485
仅公共块可以用 THREADPRIVATE 指令指定。相同的存储块不能用 TASKCOMMON 或 AUXILIARY 指令指定。不能用 TASKCOMMON 语句指定该存储块。
消息 ID:ERROR_1486
在以下指令中不允许使用变量子对象(数组元素或数组段、字符子串、结构组件引用):
SUPPRESS 仅允许使用变量名。 CACHE_ALIGN 仅允许使用变量名和公共块。 ALIGN_SYMBOL FILL_SYMBOL 仅允许使用公共块变量和自动变量。 也可以指定公共块或模块名称。 如果指定了模块名称,就将此指令应用于此模块中的 所有非 COMMON 存储区。 SECTION_GP SECTION_NON_GP 仅允许使用公共块变量和 SAVE 变量。 也可以指定公共块或模块名称。 如果指定了模块名称,就将此指令应用于此模块中的 所有非 COMMON 存储区。
消息 ID:ERROR_1487
如果为公共块指定了 ALIGN_SYMBOL 或 FILL_SYMBOL 指令,则公共块的成员不能相同。
消息 ID:ERROR_1488
如果为模块指定了 ALIGN_SYMBOL 或 FILL_SYBMOL 指令,则此模块中的所有静态对象(未在公共块中指定)都会受到此指令的影响。使用 ALIGN_SYMBOL 或 FILL_SYMBOL 指令的任何内容都不能相同。
消息 ID:ERROR_1489
ALIGN_SYMBOL 和 FILL_SYMBOL 指令是互斥的。如果为公共块或模块指定了一个指令,则不能为其指定另一个指令。
消息 ID:ERROR_1490
可以为模块指定 SECTION_GP、SECTION_NON_GP、ALIGN_SYMBOL 和 FILL_SYMBOL 编译器指令。但只能为正在编译的当前模块指定这些指令。因此,此指令适用于此模块中的所有静态非公共存储区
消息 ID:ERROR_1491
具有 INTENT(IN) 属性的伪参数是不可定义。在 OpenMP 指令的 PRIVATE、FIRSTPRIVATE、ASTPRIVATE 或 REDUCTION 子句中指定的所有变量必须是可定义的。
消息 ID:ERROR_1492
在 OpenMP 指令的 PRIVATE、FIRSTPRIVATE、ASTPRIVATE 或 REDUCTION 子句中指定的所有变量必须是可定义的。
对 Fortran 标准纯子程序的约束禁止在纯子程序内定义以下伪参数:函数子程序的所有伪参数以及子例程子程序内具有 INTENT(IN) 属性的所有伪参数。
约束也禁止公共名称、主机关联或使用关联变量出现在会更改变量值的语句中。可以使用此变量,但不能在纯子程序内重新定义该变量。
根据定义,基本子程序是纯子程序,因此上述约束也适用于基本子程序内的伪参数和变量。
消息 ID:ERROR_1493
编译器已检测到在此程序单元中引用但从未定义过的变量。此变量不是伪参数,并且不在公共块中或是使用关联,如果在此程序单元中引用此变量,则还需要在此程序单元中定义它。
消息 ID:WARNING_1494
因为提到的模块过程在 NOMODINLINE 的控制之下,所以没有关于内联的信息。可以通过命令行或者使用 NOMODINLINE 编译器指令指定 NOMODINLINE。
消息 ID:INLINE_1495
对于此范围而言,在隐式使用命令行选项中指定为模块名称的名称已经是模块名称以外的内容。module_name 只能是模块名称。
消息 ID:ERROR_1496
SECTION_GP 和 SECTION_NON_GP 编译器指令只能指定静态分配的变量(使用 SAVE 语句可以强制静态分配变量)。也可以指定公共块或模块名称。如果指定了模块名称,就将此指令应用于此模块中的所有非 COMMON 存储区。
消息 ID:ERROR_1497
Kay - 待提供
消息 ID:ERROR_1498
对于 DO ALL 和 DO PARALLEL 编译器指令,为工作分配 CHUNKSIZE 和 NUMCHUNKS 指定的值必须是大于零的整数值。
消息 ID:ERROR_1499
数组伪参数的总大小在它们与序列关联时必须小于或等于关联的实际参数数组的大小。如果数组为字符类型,字符伪参数数组的总长度必须小于或者等于字符实际参数数组序列的总长度。
消息 ID:ERROR_1500
编译器检测到对象的使用和声明之间有冲突。在函数字符长度表达式中引用了声明的对象,因此禁止使用指定的编译器指令对其声明。
消息 ID:ERROR_1501
如果在 CDIR$ (!DIR$) CACHE_ALIGN 语句、$OMP THREADPRIVATE 指令或使用了以下某个 *!*$* 指令(*SECTION_GP、SECTION_NON_GP)指定了公共块,则还必须在 COMMON 语句中对其声明。
消息 ID:ERROR_1502
分支转移进或转移出 OpenMP 指令 PARALLEL、DO、SECTIONS、SINGLE、PARALLEL DO、PARALLEL SECTIONS、MASTER、CRITICAL 和 ORDERED 创建的结构块是非法的。这包括 GOTO 语句以及 IO 语句中的 ERR=、EOF= 或 EOR= 分支和子例程调用中的替换返回分支。
消息 ID:ERROR_1503
分支转移进或转移出 -mp 指令 DOACROSS、PSECTION、SECTION、PDO、PARALLEL DO、PARALLEL、CRITICAL SECTION 和 SINGLE PROCESS 创建的结构块是非法的。这包括 GOTO 语句以及 IO 语句中的 ERR=、EOF= 或 EOR= 分支和子例程调用中的替换返回分支。
消息 ID:ERROR_1504
如果使用 IGNORE_TKR 指令指定了对象,则必须将其声明为伪参数。
消息 ID:ERROR_1505
遇到了未与封闭的 DO 或 PARALLEL DO 指令绑定的 ORDERED OpenMP 指令。已检测到 ORDERED 指令,因为它位于 PARALLEL 指令的静态范围内。决不能将指令绑定到与其距离最近的封闭 PARALLEL 指令以外的任何指令。PARALLEL SECTIONS 指令隐含着 PARALLEL 指令。
消息 ID:ERROR_1506
ORDERED 指令必须与封闭的 DO 或 PARALLEL DO 指令进行绑定。必须在该指令上指定 ORDERED 子句。
消息 ID:ERROR_1507
编译器已在 PROGRAM、BLOCKDATA、外部 SUBROUTINE 或外部 FUNCTION 范围内检测到指定的指令。在模块的声明部分中必须仅指定此指令。
消息 ID:ERROR_1508
如果未指定 AUTOSCOPE,所有用于并行区域或 DOALL 循环的用户变量,必须在 SHARED 或 PRIVATE 列表中。Do 循环控制变量不能在 SHARED 范围中,所以必须在 PRIVATE 列表中指定这些变量。
消息 ID:ERROR_1509
在 !$OMP PARALLEL、!$OMP PARALLEL DO 和 !$OMP PARALLEL SECTIONS 指令中使用 DEFAULT(NONE) 子句,意味着必须为所有在这些区域内遇到的变量显式定义范围。
消息 ID:ERROR_1510
如果 IF 子句出现在 !$OMP PARALLEL、!$OMP PARALLEL DO 或 !$OMP PARALLEL SECTIONS 指令中,它必须与其参数具有相同的标量 Fortran 逻辑表达式。
消息 ID:ERROR_1511
在封闭的工作共享指令中,并行区域中私有化的变量不能被再次私有化。因此,出现在工作共享指令中的 PRIVATE、FIRSTPRIVATE、LASTPRIVATE 和 RDUCTION 子句内的变量在封闭的并行区域中必须有共享的范围。工作共享指令为 !$OMP DO、!$OMP SECTIONS 和 !$OMP SINGLE。
消息 ID:ERROR_1512
如果使用 !$OMP END DO、!$OMP END PARALLEL DO 或 !DIR$ META END DO 指令,它们必须紧跟在 Do 循环之后。
消息 ID:ERROR_1513
DO 循环在 !$OMP DO 或 !$OMP PARALLEL DO 工作共享构造中时,DO 循环迭代变量必须为整型。
消息 ID:ERROR_1514
如果两个显式接口完全一致,编译器允许使用用于描述正在编译的程序单元的接口体。关键字(伪参数)的名称和数量必须相同。每个伪参数的种类、类型和等级都必须相同。如果此过程是函数,则种类、类型、等级和结果名称都必须相同。在 Fortran 标准中不允许这样。
消息 ID:ANSI_1515
如果两个显式接口完全一致,编译器允许使用用于描述正在编译的程序单元的接口体。关键字(伪参数)的名称和数量必须相同。每个伪参数的种类、类型和等级都必须相同。如果此过程是函数,则种类、类型、等级和结果名称都必须相同。编译器已检测到这种差别。
消息 ID:ERROR_1516
指令遇到了无法识别的子句。
消息 ID:ERROR_1517
允许 mp 子句 AFFINITY 和 NEST 与 OpenMP 指令一起使用,但应与 !$SGI 标记一起使用,这样代码仍然可移植。以下代码片段说明了如何使用它们。
!$OMP DO !$SGI+ NEST (i) do i = 1,100 a(i) = 0 enddo同时,可以用 !$SGI 标记指定 mp 指令 DISTRIBUTE、DISTRIBUTE_RESHAPE、REDISTRIBUTE、DYNAMIC 和 PAGE_PLACE,但不应该使用 !$OMP 标记进行指定。
消息 ID:WARNING_1518
必须在 DOPARALLEL 或 DOALL 区域内指定 !MIC$ WAIT。CASE 或 GUARD 区域中不允许使用此指令。
消息 ID:ERROR_1519
必须在 DOPARALLEL 或 DOALL 区域内指定此自动任务指令 WAIT 和 SEND。
消息 ID:ERROR_1520
在包含多个相关代码段的循环内,必须对所有 WAIT/SEND 对(一个除外)编号。如果点值是整数变量,则其值对每个 WAIT/SEND 对而言必须是唯一的。
消息 ID:ERROR_1521
在使用前,必须为用作 KIND 内在属性的参数的对象设定类型。将对象引用为 KIND 内在属性的参数后,编译器已检测到正在设定对象的类型。
消息 ID:ERROR_1522
编译器已检测到 WAIT/SEND 对中有 POINT 值不匹配。如果为 WAIT 指令指定了 POINT 值,则必须为 SEND 指令指定相同的 POINT 值。如果没有为 WAIT 指令指定 POINT 值,则不必为 SEND 指令指定 POINT 值。
消息 ID:ERROR_1523
内联的例程恰好包含与调用者中相同的 COMMON 块。被调用者中 COMMON 块的长度大于调用者中 COMMON 块的长度。这样,合并的 COMMON 块长度即为两者中较长的块长度。
消息 ID:WARNING_1524
在一个循环内指定的所有跨度都必须相同。编译器已检测到不同的跨度。
消息 ID:ERROR_1525
DOALL/PARALLEL 循环内非跨越的 WAIT/SEND 指令对总数的限制为 65。此数值包括一个未编号的 WAIT/SEND 指令对和 64 个编号唯一的 WAIT/SEND 指令对。如果没有使用未编号的 WAIT/SEND 对,则限制为 64。如果超出此限制,编译器就会出错。
对于跨越的 WAIT/SEND 指令对,限制为“64/跨度值”。例如,跨度值为 4 时,限制为 16,包括一个未编号的 WAIT/SEND 对和 15 个编号唯一的 WAIT/SEND 对。另外,与每个 WAIT/SEND 对关联的 POINT 必须在 1 <= n <= 15 范围之内。即使没有使用未编号的 WAIT/SEND 对,此限制也不变。如果超出此限制,编译器就会出错。
消息 ID:ERROR_1526
编译器已检测到有 SEND 或 WAIT 指令,而没有匹配的 WAIT 或 SEND 指令。指令的 POINT 值匹配或指令缺少 POINT 值。
消息 ID:ERROR_1527
如果点值为常量值,则此值不能超过 wait/send 指令对所允许的最大数量。此值按以下方式计算:
DOALL/PARALLEL 循环内非跨越的 WAIT/SEND 指令对总数的限制为 65。此数值包括一个未编号的 WAIT/SEND 指令对和 64 个编号唯一的 WAIT/SEND 指令对。如果没有使用未编号的 WAIT/SEND 对,则限制为 64。如果超出此限制,编译器就会出错。
对于跨越的 WAIT/SEND 指令对,限制为“64/跨度值”。例如,跨度值为 4 时,限制为 16,包括一个未编号的 WAIT/SEND 对和 15 个编号唯一的 WAIT/SEND 对。另外,与每个 WAIT/SEND 对关联的 POINT 必须在 1 <= n <= 15 范围之内。即使没有使用未编号的 WAIT/SEND 对,此限制也不变。如果超出此限制,编译器就会出错。
消息 ID:ERROR_1528
声明的对象已经是模块过程。因此不能在模块中多次声明模块过程。
消息 ID:ERROR_1529
MAXCPUS 指令已过时,将在编译器的下一主发行版本中删除。(PVP 上的 3.2)。应改用 PARALLEL 或 DO ALL 指令中的 MAXCPUS 子句。
消息 ID:WARNING_1530
按照定义,在编译时初始化表达式必须计算为常量值。此初始化表达式没有计算为常量值。初始化表达式的主要用途是组件声明和参数声明。
消息 ID:ERROR_1531
WAIT 指令的 SPAN 参数必须是 1 到 64 范围内的整型常量。SPAN 参数是可选的。如果在 DOALL/DOPARALLEL 指令范围内为任何 WAIT 指令指定了 SPAN,则必须在此范围内为所有 WAIT 指定相同的 SPAN。
消息 ID:ERROR_1532
参数必须是缺省的整数类型。
消息 ID:ERROR_1533
编译器已发现在通用接口内有说明的意外排序。编译器未修正此排序。请提交关于此问题的报告。您可以将一些说明或 USE 语句重新排序,作为一种解决方法。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免编译器发出此消息。
消息 ID:INTERNAL_1534
如果在命令行中使用 -O 参数指定优化级别,则不能在此命令行中指定以下选项:
-O scalar0 -O vector0 -O task0 -O scalar1 -O vector1 -O task1 -O scalar2 -O vector2 -O task2 -O scalar3 -O vector3 -O task3
消息 ID:LOG_ERROR_1535
优化级别的设置要比调试级别的设置高很多。使用 -O 命令行选项可以降低此优化级别。
消息 ID:LOG_WARNING_1536
在 EQUIVALENCE 语句中不允许使用组件引用。
消息 ID:ERROR_1537
编译器已发现对象与在整形维数命令行中指定的数组同名。但它不是数组。
消息 ID:WARNING_1538
如果使用整形维数命令行选项指定了数组,则此数组必须是显形常量大小数组或显形变量大小数组。
消息 ID:ERROR_1539
-O inlinepgm= 选项要求使用 -O inlinefrom= 选项。
消息 ID:LOG_ERROR_1540
此发行版本的编译器不支持此类(带有在 DISTRIBUTE_RESHAPE 编译器指令中指定的数组实际参数)假定形数组伪参数的关联。未来的发行版本将提供此支持。
消息 ID:ERROR_1541
对象是由 DATA 语句或类型声明语句中的初始化值来初始化的。此对象是命名公共块的一个成员。Fortran 标准规定,如果对象是命名公共块的一个成员,则只能在块数据程序单元内初始化此对象。
在程序单元而不是块数据程序单元中初始化命名的公共块成员会导致对同一公共块进行多次初始化。在此体系结构中不允许对同一公共块进行多次初始化。
消息 ID:WARNING_1542
为此程序计算的调用图中非叶例程的例程不是扩展内联。叶例程是一种不调用其他例程的例程。
消息 ID:INLINE_1543
跟在 !$OMP DO 或 !$OMP PARALLEL DO 指令之后的 DO 循环必须是迭代 DO 循环。它不能是不带循环控制的 DO WHILE 或 DO 循环。
消息 ID:ERROR_1544
将实际参数映射到伪参数时,它们的等级必须一致。
例如:
program boo dimension a(10,10) call sam(a) ! 将不内联 end subroutine sam(b) dimension b(100) print *, b end
消息 ID:INLINE_1545
为了产生内联,在关联的实际参数和伪参数的每个维数中,范围必须一致。
例如:
program boo dimension a(11,10) call sam(a) ! 不能内联,因为第一个维度范围不相同 end subroutine sam(b) dimension b(10,10) print *, b end
消息 ID:INLINE_1546
不能使用 SECTION_GP 和 SECTION_NON_GP 指令分别指定模块内特定的非公共变量。通过使用指令指定模块名称,SECTION_GP 和 SECTION_NON_GP 指令可以应用于模块内的非公共变量。则 SECTION_GP 或者 SECTION_NON_GP 指令将会应用于模块内所有的非公共静态存储区。
消息 ID:ERROR_1547
现在,通过 -Oinline4 可以获取最主动的内联格式。-Oinline3 是一种新的内联格式。-Oinline3 调用叶例程内联。叶例程是一种不调用其他例程的例程。使用 -Oinline3 时,程序中仅有叶例程为扩展内联。
消息 ID:LOG_WARNING_1548
不能在自身定义内使用宏名称,因为这将导致无休止的递归宏扩展。此警告意味着指定的宏仍未定义。
消息 ID:WARNING_1549
此宏调用中的参数数量与定义的数量不匹配。此警告意味着未出现宏扩展。
消息 ID:WARNING_1550
此宏调用中的参数数量与定义的数量不匹配。此警告意味着未出现宏扩展。
消息 ID:WARNING_1551
如果某对象已声明为可分配的联合数组,则必须将其声明为延迟形联合数组。以下是两种将 A 声明为可分配联合数组的正确方式。
ALLOCATABLE :: A(:)[:] REAL, ALLOCATABLE :: A DIMENSION A(:)[:]以下方式是非法的。
ALLOCATABLE :: A(:)[8] REAL, ALLOCATABLE :: A DIMENSION A(:)[8]
消息 ID:ERROR_1552
在实际参数是完整派生类型的位置编译器不支持映射。
消息 ID:INLINE_1553
内联函数不能扩展字符常量实际参数。
消息 ID:INLINE_1554
包含诸如 DATA 语句的静态初始化的例程不能是扩展内联。
消息 ID:INLINE_1555
因为例程包含并行区域而且在并行区域内已经存在内联调用点,所以此例程不是扩展内联。并行区域不能存在于其他并行区域内。
消息 ID:INLINE_1556
NULL 内在属性可以出现在以下位置:
1) 指针赋值的右侧
2) 声明中对象的初始化
3) 缺省组件初始化
4) 在结构构造函数中
5) 作为实际参数
6) 在 DATA 语句中
消息 ID:ERROR_1557
编译器遇到格式错误的 ALLOCATE 形式说明符。如果使用了 ":",则必须指定上界和下界。以下所有示例都将产生此消息。
ALLOCATE ( a(:) ) ALLOCATE ( a(1:) ) ALLOCATE ( a(:10) )
消息 ID:ERROR_1558
只能使用 NULL 内在属性以静态方式初始化指针。
消息 ID:ERROR_1559
OpenMP SCHEDULE 子句的 CHUNK 参数值必须大于零。
消息 ID:ERROR_1560
变量以外的对象在编译器指令语句中的 SHARED 或 PRIVATE 列表内。同时还必须局部声明此变量。变量不能为主机关联或使用关联。
消息 ID:ERROR_1561
这不是有效的指针赋值语句。
消息 ID:ERROR_1562
字符声明不使用 * <char-length> [,],而使用以下格式:
* (<char-length>) [,] 或 (LEN=<char-length>) [,]请参见手册以了解其他格式。
过时的特征是 FORTRAN 77 或 Fortran 90 的多余特征,在 Fortran 95 中还有更好的方法。ANSI Fortran 委员会建议程序员在新程序中使用首选方法并将现有代码转换为首选方法。如果在 Fortran 程序中过时特征的使用已经不重要,将来的 Fortran 标准委员会考虑将其从此标准中删除。
消息 ID:COMMENT_1563
Fortran 标准中的约束规定,用带星号的 char-len-param-value 声明的函数名不应为值确定的数组、值确定的指针、递归或纯子程序。
从 12.7.1. 来看,基本子程序是纯子程序。
消息 ID:ERROR_1564
以下来自 Fortran 标准:
在此语言中假定的函数字符长度不合常规,因为 Fortran 原理的其他地方规定:函数结果的属性仅取决于调用的实际参数,以及任何通过主机或使用关联由函数访问的数据。此功能的某些应用,可以用自动字符长度函数来代替,其中已在规范表达式中声明了函数结果的长度。通过使用子例程(其参数对应于函数结果和函数参数)可以代替其他应用。请注意,函数的伪参数可以是假定的字符长度。
消息 ID:COMMENT_1565
以下来自 Fortran 标准:
仅在未调用此函数时,才可以为其结果带有字符长度参数 * 的伪函数或外部函数指定接口体。这是因为此特性必须被指定为在接口体和在过程定义中都相同,但是为了调用这种过程,需要调用例程才能指定 * 以外的长度。
消息 ID:WARNING_1566
不是从其 IF 构造外分支转移到 END IF 语句,而是分支转移到 END IF 跟有的语句。如果跟随 END IF 的语句不是有效的分支目标语句,那么可能要求更改程序逻辑。
这是 FORTRAN 77 标准中已删除的特征。删除的特征是 FORTRAN 77 的多余特征,在 Fortran 95 中还有更好的方法,ANSI Fortran 委员会建议程序员在新程序中使用首选方法并将现有代码转换为首选方法。此编译器仍将继续支持此特征作为 Fortran 95 标准的一个扩展。
消息 ID:ANSI_1567
列出的语句现在是 FORTRAN 95 标准中删除的特征。删除的特征是 FORTRAN 77 的多余特征,在 Fortran 95 中还有更好的方法。此编译器仍将继续支持这些语句作为 Fortran 标准的扩展。
ASSIGN 语句允许将标签动态赋值给整型变量,而且赋值 GO TO 语句允许通过此变量的“间接分支”。这就防碍了程序流的可读性,特别是算术运算也使用整型变量时。整型变量这两种完全不同的用途可能导致混淆性错误。
这些语句一般用于模拟现在可以直接编码的内部过程。
在多数情况下,用等待输入数据的 READ 语句,可以采用可移植的方式实现 PAUSE 语句的功能。
消息 ID:ANSI_1568
实数或双精度实数变量,或是 DO 循环表达式是被删除的特征(删除的特征是 FORTRAN 77 的多余特征,在 Fortran 95 中还有更好的方法)。此编译器仍将继续支持此特征作为 Fortran 标准的一个扩展。
DO 变量或者整型表达式应该用来代替类型为缺省实数或双精度实数的 DO 循环表达式或变量。
在 io_implied_do 中 DO 变量应为整型标量,而不是缺省实数或双精度实数。
消息 ID:ANSI_1569
不能使用 -Z 选项指定 -Ostream、-Ostream 和 -Ostream。
消息 ID:LOG_ERROR_1570
可执行语句中的 DATA 语句是一个过时特征。
以下来自 ANSI Fortran 标准 B.2.4:为了实现兼容,FORTRAN 66 以及此后的 FORTRAN 77 和 Fortran 90/95 的语句排序规则允许 DATA 语句出现在规范语句之后程序单元中的任何位置。在可执行语句中,很少使用定位 DATA 语句功能,同时也无需使用此功能,另外它还可能导致错误。
过时的特征是 FORTRAN 77 的多余特征,在 Fortran 95 中还有更好的方法,ANSI Fortran 委员会建议程序员在新程序中使用首选方法并将现有代码转换为首选方法。如果在 Fortran 程序中过时特征的使用已经不重要,将来的 Fortran 标准委员会考虑将其从此标准中删除。
消息 ID:COMMENT_1571
在带有联合数组的 Fortran 初始执行过程中,联合数组派生类型变量的 POINTER 组件作为 ALLOCATABLE 对象处理。这意味着对于这些组件不允许使用指针赋值。
消息 ID:ERROR_1572
在初始化或 DATA 语句中不允许使用 MOLD 参数。
消息 ID:ERROR_1573
MOLD 必须具有指针属性。
消息 ID:ERROR_1574
只有联合数组才能指定为 THIS_IMAGE 内在属性的可选参数 ARRAY。
消息 ID:ERROR_1575
联合数组边界声明必须是假定的大小。联合数组的总大小始终等于图像数,因此最终边界必须始终指定为 '*'。
消息 ID:ERROR_1576
不允许自动变量为联合数组。
消息 ID:ERROR_1577
在 EQUIVALENCE 或 DATA 语句中不能指定联合数组子对象。
消息 ID:ERROR_1578
联合数组可以是派生类型,但派生类型的组件不能是联合数组。换句话说,在组件声明语句中不允许方括号表示法。
消息 ID:ERROR_1579
不允许纯过程包含任何联合数组 Fortran 特征。如果消息引用 USE 语句,则带有联合数组 DIMENSION 属性的变量是使用关联。消息也可以使用联合数组 DIMENSION 属性引用主机关联变量。在纯过程或基本过程中不能调用联合数组 Fortran 内在属性。 按照定义,基本子程序是纯子程序,因此上述约束也适用于基本子程序。
消息 ID:ERROR_1580
编译器已检测到跟在所有程序单元之后的 trailing 语句。所有有效的 Fortran 语句必须包含在程序单元内。尽管程序单元语句是可选的,程序单元也应以 BLOCKDATA、MODULE、PROGRAM、SUBROUTINE 或 FUNCTION 开头。程序单元以 END 语句结束。END 语句不是可选的。
消息 ID:ERROR_1581
在 Fortran 标准中,固定源格式是一个过时的特征。自由格式是首选方法。 过时的特征是 FORTRAN 77 或 Fortran 90 的多余特征,在 Fortran 95 中还有更好的方法。ANSI Fortran 委员会建议程序员在新程序中使用首选方法并将现有代码转换为首选方法。如果在 Fortran 程序中过时特征的使用已经不重要,将来的 Fortran 标准委员会考虑将其从此标准中删除。
消息 ID:COMMENT_1582
在初始原型发行版本中,推迟了对联合数组 Fortran 的某些特征的支持。
消息 ID:ERROR_1583
为了确保联合数组伪参数不必使用复制输入或复制输出,实际参数必须具有联合数组名称或联合数组的子对象。
消息 ID:ERROR_1584
在 T3E 的联合数组 Fortran 的初始原型中,仅支持联合数组引用中的 64 位类型。
消息 ID:ERROR_1585
分支转移进或转移出任务 DO 指令创建的结构块是非法的。这包括 GOTO 语句以及 IO 语句中的 ERR=、EOF= 或 EOR= 分支和子例程调用中的替换返回分支。
消息 ID:ERROR_1586
所有联合数组维数必须有显形边界,除非联合数组具有 ALLOCATABLE 属性。以下语句是合法的。
integer, allocatable :: a(:)[:]以下语句将产生此错误。
integer :: a (10)[:]
消息 ID:ERROR_1587
在创建平行或工作共享区域的当前语句之前遇到编译器指令。在此上下文中,不允许使用当前语句。 此代码将产生消息。
SUBROUTINE S(N) C$OMP PARALLEL INTEGER N C$OMP END PARALLEL END
消息 ID:ERROR_1588
以下来自 Fortran 95 标准:如果已经在类型定义中使用缺省初始化指定了非指针对象或子对象,则它将不会在数据对象列表中出现。换句话说,如果将对象设定为具有缺省初始化的派生类型,则在 DATA 语句中不能指定时间。通过在类型声明语句中指定初始化可以覆盖缺省初始化。
消息 ID:ERROR_1589
此标准禁止伪参数(具有 INTENT(OUT) 属性的假定大小数组)被设定为缺省初始化的派生类型。
消息 ID:ERROR_1590
以下来自 Fortran 95 标准。等效关联不将具有缺省初始化的派生类型对象与公共块中的对象关联在一起。
消息 ID:ERROR_1591
已使用无效或未知的存储块类型调用了 ntr_stor_blk_tbl 例程。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免编译器发出此消息。
消息 ID:INTERNAL_1592
字符数组用于存储完整的 fortran 语句,因此源预处理程序可以对宏进行扫描。尽管此数组很大,但也有可能出现缓冲区溢出。
消息 ID:LIMIT_1593
要分配 ALLOCATABLE 联合数组,必须用假定大小形说明符 (*) 指定联合维数。
INTEGER, ALLOCATABLE :: A(:)[:] ALLOCATE(a(10)[2,*])
消息 ID:ERROR_1594
语句尝试将控制传输到 FORALL 构造中的语句。在FORALL 构造中,仅有 FORALL 构造语句本身可以是分支目标。
消息 ID:ERROR_1595
ASSIGN 语句中的标签是在 FORALL 构造中包含的语句中定义的。禁止将控制传输到内部的 FORALL 构造中。
消息 ID:WARNING_1596
在 FORALL 构造中仅允许使用赋值、指针赋值、WHERE 和 FORALL 语句或构造。
消息 ID:ERROR_1597
用于 FORALL 语句或结构中的索引名称必须是类型为 INTEGER 的命名标量变量。它不能是命名的常量、变量子对象或数组元素。
消息 ID:ERROR_1598
在 FORALL 构造的范围内,嵌套的 FORALL 语句或者 FORALL 构造不应有相同的索引名称。
消息 ID:ERROR_1599
Fortran 标准中的约束规定:
如果公共块对象为派生类型,则它应为无缺省初始化的序列类型。
编译器已检测到属于包含缺省初始化的序列派生类型的公共块对象。
消息 ID:ERROR_1600
在联合数组 fortran 的初始实现中,当过程具有联合数组伪参数时,不支持内联。
消息 ID:INLINE_1601
在此编译中,公共块用于多个程序单元。如果用描述存储或如何在块内赋值偏移的指令来指定公共块,则在每个块中必须指定相同的指令。指令为 ALIGN_SYBMOL、FILL_SYMBOL、SECTION_GP、SECTION_NON_GP 和 CACHE_ALIGN。(注意:不是在所有的平台上都提供所有这些指令)。可以用来防止出现这类问题的 Fortran 特征是:在模块中声明公共块,然后使用声明公共块的模块。用这种方法可以保证公共块无论用于何处,都将有相同的声明。
消息 ID:WARNING_1602
在编译过程中,编译器追踪所有的公共块和公共块中的对象。编译器已找到至少一个对象的种类、类型和/或等级与在同一个公共块的先前声明中的对象不同。
消息 ID:CAUTION_1603
在 forall-triplet-spec 中使用的下标或跨度表达式必须是标量整数表达式。
消息 ID:ERROR_1604
在 forall-triplet-spec 中使用的下标或跨度表达式不能从同一个 FORALL 标题中引用索引名称。嵌套的 FORALL 语句或构造可以从封闭的 FORALL 构造中引用索引名称。
消息 ID:ERROR_1605
在 forall-triplet-spec 中使用的跨度值一定不能为零。
消息 ID:ERROR_1606
如果存在用于 FORALL 语句或构造的标量屏蔽表达式,它必须是逻辑类型的标量表达式。
消息 ID:ERROR_1607
活动的 FORALL 索引名称出现在将改变其值的语句中。FORALL 索引可在它出现的 FORALL 构造或语句的范围内使用,但不能在其中重新定义。
消息 ID:ERROR_1608
如果 WHERE 构造包含 ELSE WHERE 块,则 ELSE WHERE 必须是构造中的最后一块。因此,屏蔽的 ELSE WHERE 块不能跟在 ELSE WHERE 块之后。
消息 ID:ERROR_1609
如果 WHERE 构造包含 WHERE 语句、屏蔽的 ELSEWHERE 语句或其他 WHERE 构造,则在 WHERE 构造中的每个屏蔽表达式必须是同形的。遇到形式与封闭的 WHERE 结构的屏蔽表达式不同的屏蔽表达式。
消息 ID:ERROR_1610
在 FORALL 语句或构造的标量屏蔽表达式或 forall-body-construct 中引用的任意过程,包括定义的操作或赋值引用的过程,应该是 PURE 过程。
消息 ID:ERROR_1611
在联合数组 fortran 的初始实现中,当过程被联合数组实际参数调用时,不支持内联。
消息 ID:INLINE_1612
在联合数组 fortran 的初始实现中,当过程共享至少有一个联合数组成员的公共块时,不支持内联。
消息 ID:INLINE_1613
全局名称的使用范围是整个编译,所以,在编译中对全局(或外部)名称的定义和引用必须一致。编译器已找到对此全局名称的引用或定义不同于此名称的另一个引用或定义。
在伪参数和实际参数之间存在不匹配。与伪参数相关联的实际参数类型必须一致。如果这些都是函数定义,则伪过程的函数结果的类型和等级必须一致。如果比较伪过程与实际过程,则函数结果的类型和等级必须一致。
消息 ID:CAUTION_1614
全局名称的使用范围是整个编译,所以,在编译中对全局(或外部)名称的定义和引用必须一致。编译器已找到对此全局名称的引用或定义不同于此名称的另一个引用或定义。
编译器比较两个定义或比较一个定义与一个对列出的过程的引用。如果编译器比较两个定义,则编译器已在一个定义中找到一个伪参数是数组参数,但在第二个定义中相应的伪参数是标量参数。参数必须相同。如果编译器正在比较一个引用和其定义,则它已找到与标量实际参数相关联的数组伪参数或与数组伪参数相关联的标量实际参数。同时,参数必须都是标量或都是数组(注意:在引用中,数组元素被视为标量)。
消息 ID:WARNING_1615
全局名称的使用范围是整个编译,所以,在编译中对全局(或外部)名称的定义和引用必须一致。编译器已找到对此全局名称的引用或定义不同于此名称的另一个引用或定义。
消息 ID:CAUTION_1616
全局名称的使用范围是整个编译,所以,在编译中对全局(或外部)名称的定义和引用必须一致。编译器已找到对此全局名称的引用或定义不同于此名称的另一个引用或定义。
如果在编译过程中同一个函数被引用了几次,则函数结果类型和等级应该一致。
消息 ID:CAUTION_1617
全局名称的使用范围是整个编译,所以,在编译中对全局(或外部)名称的定义和引用必须一致。编译器已找到对此全局名称的引用或定义不同于此名称的另一个引用或定义。
如果在编译过程中同一个函数被引用了几次,则函数结果类型和等级应该一致。
消息 ID:WARNING_1618
全局名称的使用范围是整个编译,所以,在编译中对全局(或外部)名称的定义和引用必须一致。编译器已找到对此全局名称的引用或定义不同于此名称的另一个引用或定义。
消息 ID:CAUTION_1619
全局名称的使用范围是整个编译,因此全局(或外部)名称只能声明一次。对此全局名称的任何引用必须是正确的,并与此名称的定义相匹配。
编译器找到了引用的程序单元和定义不匹配,或两个引用不匹配。请参见消息 1293 中的示例。
消息 ID:WARNING_1620
全局名称的使用范围是整个编译,所以,在编译中对全局(或外部)名称的定义和引用必须一致。编译器已找到对此全局名称的引用或定义不同于此名称的另一个引用或定义。
子例程的引用包含用户标签作为实际参数。在其他引用中,参数不是用户标签。相应的参数应该是相同的,或都是标签、都是程序单元或都是数据对象。
消息 ID:WARNING_1621
全局名称的使用范围是整个编译,所以,在编译中对全局(或外部)名称的定义和引用必须一致。编译器已找到对此全局名称的引用或定义不同于此名称的另一个引用或定义。
显形接口或子例程定义将此伪参数定义为替换返回参数 (*),但是调用点不提供作为相应的实际参数的用户标签。
消息 ID:WARNING_1622
全局名称的使用范围是整个编译,所以,在编译中对全局(或外部)名称的定义和引用必须一致。编译器已找到对此全局名称的引用或定义不同于此名称的另一个引用或定义。
此子例程有多个显形接口(这可能是子例程的实际定义或多个接口块)。在两个定义中,伪参数应该是相同的,但它们不相同。在一个定义中,伪参数是替换返回参数。在另一个定义中,它不是。它们应当相同。
消息 ID:WARNING_1623
在此编译的全局语义中,编译器发现实际程序单元定义与接口块或另一程序单元定义不一致。它们应当相同。
选中的属性包括纯属性、基本属性和递归属性。
注意:对于 PURE - 如果在定义上指定了 PURE,则不需要在接口体中对其进行指定。
消息 ID:ERROR_1624
在此编译的全局语义中,编译器发现在不同的程序单元中的两个引用相互不一致。在两个不同的程序单元中执行了过程调用。在一个程序单元中,用指定的指令声明了被调用者。在另一个程序单元中,没有为被调用者指定此指令。被选中的指令为 NOSIDE、EFFECTS 和 VFUNCTION。
消息 ID:ERROR_1625
当出现不带任何字段宽度(或数字或指数)的编辑描述符时,将发出此消息。 示例:
(I) (F) (G)
消息 ID:ANSI_1626
Fortran 标准中的约束规定如果 equivalence-object 是子串,其长度不应为零。
消息 ID:ERROR_1627
当把零用作编辑描述符的字段宽度时,将发出此消息,此标准规定宽度不应为零。
示例:
(L0) (I0) 仅限 FORTRAN 77 和 Fortran 90 -- 适用于 Fortran95(和更高版本)
消息 ID:ANSI_1628
只能在作用域单元的 IMPLICIT 类型语句中指定一次字母,并且只能在作用域单元的 IMPLICIT 存储语句也指定一次。
例如:
IMPLICIT INTEGER (A) IMPLICIT REAL (A,B) ! 非法这是非法的,因为已在先前的 IMPLICIT 类型语句中指定了 A。
消息 ID:ERROR_1629
给定宏的定义长度超过了支持的限制范围。减少宏的长度将解决这个问题,方式可能是将宏分解为几个较小的宏。
消息 ID:LOG_ERROR_1630
源预处理程序在源预处理指令内遇到没有结束分隔符的字符型。
消息 ID:WARNING_1631
不能定义符号常量。
消息 ID:ERROR_1632
在下标超出数组边界时,遇到数组引用。下标可能是单值或三元组段。如果指定 -Rb 并且下标和边界值是常量,编译器在编译时将检查数组边界。针对特定代码范围或特定变量,BOUNDS 和 NOBOUNDS 编译器指令将控制是否发出此消息。以下代码说明了将发出此消息的三种情况。
integer i(10) i(11) = 1 i(1:11:1) = 1 i(-1:10:1) = 1
消息 ID:WARNING_1633
字符子串引用具有不正确的子串指示器。在以下字符子串引用中,子串指示器的开始和结束值指示了子串的开始字符和结束字符的位置:
CHAR ([begin]:[end])如果子串长度大于 0,则开始和结束值必须大于 0 并小于或等于实体 CHAR 中字符的数量。如果结束值比开始值小,子串长度为 0。
消息 ID:WARNING_1634
已为实际过程和伪过程声明了显形接口。编译器已找到一个是函数而另一个是子例程,或实际参数和伪参数的参数数量不同。
消息 ID:ERROR_1635
解释命令提供了此消息的更详细说明以及发出该消息的原因。关于解释命令的详细信息,请参见手册解释。例如:要获取有关消息 33 的详细信息,请以下列方式使用命令:
f90-724 f90: ERROR MAIN__, File = d.f, Line = 1, Column = 14 未知语句。要求使用赋值语句,但找到了 "EOS" 而不是 "=" 或 "=>"。
说明 f90-724
消息 ID:LOG_SUMMARY_1636
指定的数组已被整形,因为已在整形命令行选项上指定了该数组,或因为已指定了通用整形命令行选项,而且此数组满足必要的标准。
消息 ID:COMMENT_1637
如果在 WHERE 语句或 WHERE 构造中的赋值是已定义的赋值,子例程必须是基本的。
消息 ID:ERROR_1638
Fortran 标准约束规定非内在基本过程一定不能用作实际参数。
消息 ID:ERROR_1639
Fortran 标准约束规定 END 语句一定不能延续。
消息 ID:ANSI_1640
Fortran 标准的约束描述如下:
“如果已为一种类型的对象指定组件初始化,而这种类型的对象出现在模块的规范部分并且没有 ALLOCATABLE 或 POINTER 属性,则此对象将有 SAVE 属性。”
此约束针对在模块的规范部分中声明的对象,这些对象不是公共块中的成员,也不是常量。
如果一个对象被定义为派生类型,已为其指定缺省初始化,则必须为此对象指定 SAVE 属性。
此编译器放松了这条约束规则,并且不需要指定 SAVE,因为在模块规范部分指定的对象被视为 SAVEd 对象。
消息 ID:ANSI_1641
在 Fortran 标准中的一项约束要求所有传递到 PURE 过程的过程必须是 PURE 过程。
消息 ID:ERROR_1642
编译器在列出的枚举中检测到更改。此枚举不能以这种方式更改。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的产品支持组织。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_1643
已被静态初始化的数组不能被整形。
消息 ID:ERROR_1644
!$OMP THREADPRIVATE 指令禁止任何公共块被放置在 GP-rel 区域中。任何指定 THREADPRIVATE 公共块的 SECTION_GP 指令将导致发出此错误消息。
消息 ID:ERROR_1645
指定 -Oreshape 选项时,用户不能映射等级比相关联的伪参数低的实际参数。
消息 ID:ERROR_1646
CRI 指针对象可以被声明为派生类型,但它们不能被缺省初始化,因为在为 CRI 指针对象分配存储器前,没有存储器与其相关联。
消息 ID:WARNING_1647
KAY - 更新
对 data-stmt-repeat 的定义如下:data-stmt-repeat 是标量整型常量或标量整型子对象。
遵循以下约束:data-stmt-repeat 应该为正数或零。
如果 data-stmt-repeat 是命名的常量,应该预先在作用域单元中声明它或通过使用关联或主机关联访问它。
data-stmt-repeat 在标量常量子对象中,任何下标都应该是初始化表达式。
消息 ID:ERROR_1648
当编译器检测到为零的除数,并且使用此除数的表达式在编译时不需要求值,出现可能的用户错误时发出“警告”级消息。如果此表达式是在编译时求值的常量表达式,则会发出错误级消息。
消息 ID:WARNING_1649
此实际参数不能为常量。
消息 ID:ERROR_1650
待提供。
消息 ID:ERR_WAS_DOSERIAL
在一个对象等效于另一个对象时,其在等效组中的偏移未能向通常那样使对象严格对齐。例如:
INTEGER(2) A ! 通常 A 按 16 位对齐 INTEGER(1) B(2) EQUIVALENCE(A,B(2)) ! 等效造成 A 仅按 8 位对齐
消息 ID:ERR_BAD_ALIGNMENT
此消息不再使用。请使用 DEFAULT_HTML_LINK2。
消息 ID:DEFAULT_HTML_LINK
在下标超出数组边界时,遇到数组引用。如果指定 "-C" 并且下标和边界值是常量,则编译器在编译时将检查数组边界。
消息 ID:WARNING_1911
x86 平台不支持 128 位浮点操作。这包括 REAL*16、REAL(KIND=16)、DOUBLE PRECISION*16、COMPLEX*32 和 COMPLEX(KIND=16)。
消息 ID:IA32_ERROR_1912
待提供。
消息 ID:IA32_ERROR_1913
待提供。
消息 ID:WARNING_1914
该指定选项的参数是非法的。
消息 ID:ERROR_ERROFF
待提供。
消息 ID:FW_INTERNAL_ERROR_1
待提供。
消息 ID:FW_INTERNAL_ERROR_2
待提供。
消息 ID:FW_INTERNAL_ERROR_3
待提供。
消息 ID:FW_INTERNAL_ERROR_4
消息 ID:FW_INTERNAL_ERROR_5
消息 ID:FW_INTERNAL_ERROR_6
待提供。
消息 ID:ERROR_IVAL_EQUIV
待提供。
消息 ID:ERROR_IVAL_EQUIV_KIND
待提供。
消息 ID:ERROR_IVAL_CONST
待提供。
消息 ID:ERROR_IVAL_INTERVAL_ARG
待提供。
消息 ID:WARN_IVAL_DEFOP_WIDESTNEED
待提供。
消息 ID:WARN_IVAL_REAL_PARAM
待提供。
消息 ID:ERROR_IVAL_OP_KIND_MISMATCH
待提供。
消息 ID:ERROR_IVAL_ASSIGN_KIND_MISMATCH
消息 ID:SIZEOF_ERROR_01
消息 ID:SIZEOF_ERROR_02
Cray 指针不能指向声明为假定长度字符 (CHARACTER*(*)) 的数据对象。
消息 ID:ERROR_CRICHARPTR
消息 ID:ERR_NO_THREADPRIVATE_VAR
消息 ID:ERR_NO_THREADPRIVATE_COMMON
在执行移位操作的同时,编译器检测到移位数超出了有效的范围。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2000
在整数除法操作过程期间执行移位操作的同时,编译器检测到移位数超出了有效的范围。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2001
在求整型常量值时,编辑器在内部乘法和/或加法操作中检测到错误。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2002
在将整数值转换为可打印的字符串时,编辑器在内部乘法和/或加法操作中检测到错误。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2003
已使用浮点类型的无效参数调用了编译器的内在属性 ar_clear_unused_bits。在对编译时表达式求值时调用了此函数。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2004
CRAY-2 倒数和倒数平方根近似仿真器函数 AR_c2fapprox 不是编译器内置的算术库的一部分。编辑器在编译时不能求 \s-1CRAY-2\s+1 数学表达式的值。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2005
数学库中双精度复数例程的接口不是编译器内置的算术库的一部分。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2006
在常量简化库外部的编译期间,对数学库函数的调用异常中断并试图调用数学库错误处理例程 ARERP%(或在 CRAY-2 系统上的 merrp%)。此行为有时由编译器中除数为零的运算引起。
ARERP% 例程在编译器中被取而代之,以便编译器能尝试将调用合并到一些数学库内在函数中,并且没有因不良数据而中断整个编译的危险。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2007
使用无效的截断值调用了编译器内在属性 AR_CRAY_64_trunc。在对编译时浮点表达式求值时调用了此函数。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2008
当编译器遇到涉及这些内在函数的常量表达式时,编译器为目标平台仿真这些内在函数。无法打开包含内在函数指令和数据的文件。显然在此系统上不可访问此文件。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2009
当编译器遇到涉及这些内在函数的常量表达式时,编译器为目标平台仿真这些内在函数。包含内在函数指令和数据的文件格式不正确或无法读取。格式应为在目标平台上被截断的可执行 a.out 文件格式,并且版本信息与 Craylibs 的发行版本应一致。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2010
当编译器遇到涉及这些内在函数的常量表达式时,编译器为目标平台仿真这些内在函数。不是所有的内在函数都能为编译器所用。编译器请求了不可用的内在函数求值。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2011
当编译器遇到涉及这些内在函数的常量表达式时,编译器为目标平台仿真这些内在函数。此仿真使用目标系统库中的原样指令和数据。在此仿真中不允许一些结束条件情形。例如,未对调用内存管理例程以分配更多空间进行仿真。对这些例程的调用被中止并返回错误条件。最可能的错误原因是输入的数字字符串过长。其他原因可能是由系统库例程自身的改变造成的,这些改变未反映在仿真例程中或尝试改写只读的内在数据。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2012
当编译器遇到涉及这些内在函数的常量表达式时,编译器为目标平台仿真这些内在函数。这种仿真不对目标系统硬件的所有指令进行仿真 - 只对那些有必要仿真支持的内在函数的指令进行仿真。遇到未被仿真的指令。最可能的错误原因也许是由于新版本的系统库内在例程,其中包含迄今未被仿真的新指令。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2013
当编译器遇到涉及这些内在函数的常量表达式时,编译器为目标平台仿真这些内在函数。包含内在函数指令和数据的文件有一个针对被仿真的内在函数的新接口。这与用于建立编译器的旧接口不兼容。需要用支持新接口的 Craylibs 更高版本重新建立编译器。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2014
当编译器遇到涉及这些内在函数的常量表达式时,编译器为目标平台仿真这些内在函数。编译器请求了一个未知的内在函数求值。这可能因为较新的编译器使用了旧版本的文件,此文件包含内在函数的指令和数据。此旧的文件不包含新编译器编译求值时所需的所有内在函数。需要安装与新编译器兼容的 Craylibs 版本。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2015
当编译器遇到涉及这些内在函数的常量表达式时,编译器为目标平台仿真这些内在函数。编译时执行的求值将使用与装入已编译程序所用的内在库的版本不同。结果,依赖所用的内在函数以及 Craylibs 库所做的更改,数字结果稍有不同是可能的。通常情况下,编译器应使用与其一起发布的 Craylibs 版本。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:WARNING_2016
数学库中给定的内在例程的接口不是编译器内建算术库的一部分。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2017
当编译器遇到涉及这些内在函数的常量表达式时,编译器为目标平台仿真这些内在函数。包含内在函数指令和数据的文件使用与编译器要求的格式不同的浮点格式。例如,已打开的文件使用 Cray 浮点格式,而编译器要求 IEEE 浮点结果。
应避免产生此消息。请将此错误消息编号和所有支持信息告知您的系统支持人员。此消息并不表示您的代码有问题,但是您可以更改代码以避免遇到此错误。
消息 ID:INTERNAL_2018
编译器不能确定编译的主机或目标体系结构。
消息 ID:INTERNAL_2019
字符声明不使用 * <char-length> [,],而使用以下格式:
* (*<har-length>) [,] 或 (LEN=<char-length>) [,]请参见手册以了解其他格式。
过时的特征是 FORTRAN 77 或 Fortran 90 的多余特征,在 Fortran 95 中还有更好的方法。ANSI Fortran 委员会建议程序员在新程序中使用首选方法并将现有代码转换为首选方法。如果在 Fortran 程序中过时特征的使用已经不重要,将来的 Fortran 标准委员会考虑将其从此标准中删除。
消息 ID:COMMENT_1744
消息 ID:ERR_INTR_IN_SPEC_EXPR
消息 ID:ERR_IMPLIED_DO_NESTING
消息 ID:LIC_SUNPRO_FEATURE_F90L
Fortran 标准的 4.5 节要求数组构造函数中的所有元素的长度必须相等。
消息 ID:ERR_UNEQUAL_LENGTH_CONSTRUCTORS
消息 ID:ERR_BOUND_OUT_OF_RANGE
起始点和结束点必须在字符串范围内,除非起始点超过了结束点,在这种情况下,子串长度为零。如果指定了 "-C" 并且子串值是常量,则编译器将在编译时检查这种情况。
消息 ID:WARNING_SUBSTRING
遇到的子句在指定的 OpenMP 指令中不受支持。
消息 ID:ERR_OPENMP_CLAUSE_NOT_ALLOW
内在 KIND 获得禁止类型作为实际参数。
消息 ID:ERR_KIND_ARG_PROHIBITED
内在属性 SIZEOF 得到了意外的实际参数类型。
消息 ID:INTERNAL_2020
起始点和结束点必须在字符串范围内,除非起始点超过了结束点,在这种情况下,子串长度为零。如果指定了 "-C" 并且子串值是常量,则编译器将在编译时检查这种情况。
消息 ID:WARNING_SUBSTR_RANGE
Fortran 95 标准的 9.2.2.2 节。对内部文件有以下限制:(1) 仅由按顺序存取的格式化 i/o 语句完成读写记录,这种语句不指定名称列表格式。
消息 ID:ERR_UNFMT_IO_ON_INTERNAL
在下标超出数组边界时,遇到数组引用。如果指定 "-C" 并且下标和边界值是常量,则编译器在编译时将检查数组边界。
消息 ID:ERR_OUT_OF_RANGE
指针组件不是初始化中最右边的部分引用时,遇到数据初始化;例如 DATA T % P % I /0/,其中 P 是指针。标准不允许这种情况出现。仅能将指针 P 自身进行初始化,而且仅对 NULL() 函数适用。
消息 ID:ERR_PTR_CPNT_INIT
在首先声明长度选择符并且出现 LEN 关键字时,省略 KIND 关键字,是对 Fortran 标准的一个扩展:请参见 R507 (J3/97-007R2)
消息 ID:ANSI_OMMITED_KIND
消息 ID:SIZEOF_ERROR_03
跟在应用于 DO 循环的并行指令的语句必须是 DO 语句。
消息 ID:ERR_STMT_NOT_DO
Fortran 标准的术语。
消息 ID:ANNEX_D_ATTR_SPEC
Fortran 标准的术语。
消息 ID:ANNEX_D_BLOCK_DATA_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_COMMA_DSTMT_OBJECT_EOS
Fortran 标准的术语。
消息 ID:ANNEX_D_COMMON_BLOCK_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_CBLOCK_NAME_DELIMITED
Fortran 标准的术语。
消息 ID:ANNEX_D_CBLOCK_NAME_DELIMITED2
Fortran 标准的术语。
消息 ID:ANNEX_D_CBLOCK_NAME_OR_SLASH
Fortran 标准的术语。
消息 ID:ANNEX_D_COMMON_BLOCK_OBJECT
Fortran 标准的术语。
消息 ID:ANNEX_D_CBLOCK_OBJECT_OR_SLASH
Fortran 标准的术语。
消息 ID:ANNEX_D_COMPONENT_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_CONSTRUCT_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_CONSTRUCT_NAME_OR_EOS
Fortran 标准的术语。
消息 ID:ANNEX_D_DATA_I_DO_OBJECT
Fortran 标准的术语。
消息 ID:ANNEX_D_DATA_I_DO_OBJ_OR_VAR
Fortran 标准的术语。
消息 ID:ANNEX_D_DATA_I_DO_VARIABLE
Fortran 标准的术语。
消息 ID:ANNEX_D_DATA_STMT_CONSTANT
Fortran 标准的术语。
消息 ID:ANNEX_D_DATA_STMT_REPEAT
Fortran 标准的术语。
消息 ID:ANNEX_D_DATA_STMT_REPT_OR_CONS
Fortran 标准的术语。
消息 ID:ANNEX_D_DATA_STMT_OBJECT
Fortran 标准的术语。
消息 ID:ANNEX_D_DEFINED_OPERATOR
Fortran 标准的术语。
消息 ID:ANNEX_D_DIGIT_STRING
Fortran 标准的术语。
消息 ID:ANNEX_D_DIMENSION_SPEC
Fortran 标准的术语。
消息 ID:ANNEX_D_DIMENSION_SPEC_W_PARS
Fortran 标准的术语。
消息 ID:ANNEX_D_DO_VARIABLE
Fortran 标准的术语。
消息 ID:ANNEX_D_DO_VARIABLE_OR_WHILE
Fortran 标准的术语。
消息 ID:ANNEX_D_DUMMY_ARG_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_ENTRY_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_EQ_COMMA_SUBLIST_W_PARS
Fortran 标准的术语。
消息 ID:ANNEX_D_EQUIVALENCE_OBJECT
Fortran 标准的术语。
消息 ID:ANNEX_D_FORALL_BODY_CONSTRUCT
Fortran 标准的术语。
消息 ID:ANNEX_D_FUNCTION_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_GENERIC_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_IF_CONSTRUCT_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_IMPLIED_DO_OBJECT
Fortran 标准的术语。
消息 ID:ANNEX_D_IMPLIED_DO_OBJ_OR_VAR
Fortran 标准的术语。
消息 ID:ANNEX_D_INDEX_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_INDEX_NAME_OR_MASK_EXPR
Fortran 标准的术语。
消息 ID:ANNEX_D_INTERNAL_PROCEDURE
Fortran 标准的术语。
消息 ID:ANNEX_D_LP_COMMA_DOTS_TYPE_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_MODULE_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_MODULE_PROCEDURE
Fortran 标准的术语。
消息 ID:ANNEX_D_NAMED_CONSTANT
Fortran 标准的术语。
消息 ID:ANNEX_D_NAMELIST_GROUP_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_NAMELIST_GROUP_OBJECT
Fortran 标准的术语。
消息 ID:ANNEX_D_OBJECT_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_OBJECT_NAME_OR_SLASH
Fortran 标准的术语。
消息 ID:ANNEX_D_ONLY_OR_USE_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_OP_ASG_GENERIC_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_PROGRAM_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_PROCEDURE_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_RESULT_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_SCALAR_INT_LIT_CONS
Fortran 标准的术语。
消息 ID:ANNEX_D_SCALAR_INT_LIT_CONS_LP
Fortran 标准的术语。
消息 ID:ANNEX_D_SCALAR_INT_VARIABLE
Fortran 标准的术语。
消息 ID:ANNEX_D_SCALAR_MASK_EXPR
Fortran 标准的术语。
消息 ID:ANNEX_D_SUBROUTINE_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_SUBSCRIPT_LIST
Fortran 标准的术语。
消息 ID:ANNEX_D_TYPE_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_USE_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_VARIABLE_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_WHERE_CONSTRUCT_NAME
消息 ID:DALIGN_OPTION_WARNING
消息 ID:CLAUSE_MUST_BE_INTEGER
消息 ID:ERR_THREADPRIVATE_NO_VAR
消息 ID:ERR_THREADPRIVATE_ATTR
消息 ID:ERR_COMMON_VAR_IN_THREADPRIVATE
消息 ID:ERR_EQU_VAR_IN_THREADPRIVATE
消息 ID:ERR_NO_SAVE_IN_THREADPRIVATE
在 WORKSHARE 构造中仅允许使用赋值、WHERE 和 FORALL 语句或构造。
消息 ID:ERR_BAD_WORKSHARE_STMT
消息 ID:ERR_WRONG_COPYPRIVATE_VAR
消息 ID:ERR_WRONG_COPYPRIVATE_COMMON
消息 ID:ERR_SCHEDULE_AND_AFFINITY
具有 ALLOCATABLE 属性的伪参数必须与具有 ALLOCATABLE 属性的实际参数相匹配。
消息 ID:ERROR_1836
派生类型 equivalence-object 具有一个是可分配数组的组件。具有可分配组件的派生类型不能相同。
消息 ID:ERROR_1837
如果派生类型最终包含可分配组件,则此类型的对象既不能作为 I/O 输入项出现,也不能作为 I/O 输出列表项的评估结果出现。
消息 ID:ERROR_1838
不能为命名常量指定 ALLOCATABLE 属性,而且该常量不能是具有可分配组件的派生类型。
消息 ID:ERROR_1839
不能在调用过程中改变具有 INTENT(IN) 的伪参数的分配状态。
消息 ID:ERROR_1840
消息 ID:ERR_WRONG_REDUCTION_INTRINSIC
消息 ID:ERROR_WRONG_REDUCION_ARRAY
消息 ID:VALUE_CHARACTER
消息 ID:VALUE_INTENTOUT
具有可分配数组最终组件的派生类型对象不应成为公共块对象。
消息 ID:ERROR_COMMON_ALLOCAT_CMPT
Fortran 标准的术语。
消息 ID:ERR_INCOMPATIBLE_CLAUSES
消息 ID:ANNEX_D_STRUCT_NAME
只能定义一次结构类型名称。编译器发现类型名称又在定义另一个结构。
消息 ID:ERR_DUP_STRUCT
需要在 STRUCTURE 声明中定义了结构后,才能在 RECORD 语句中使用此结构。
消息 ID:ERR_UNDEF_STRUCT
RECORD 语句必须使用先前声明的结构类型。
消息 ID:ERR_NOT_STRUCT_TYPE
发现了不应出现的 UNION 项。
消息 ID:ERR_UNION_NOT_EXPECTED
在结构中使用了派生类型组件,但未将此派生类型声明为序列派生类型。
消息 ID:ERR_SEQUENCE_TYPE_REQUIRED
结构组件名称之前为“%”字符,但之后不能跟 "FILL"。
消息 ID:ERR_FILL_EXPECTED
指定的结构名称超过 30 个字符。因此会被截断为 30 个字符。
消息 ID:ERR_LONG_STRUCT_NAME
STRUCTURE、END STRUCTURE、UNION、END UNION、MAP、END MAP 和 RECORD 语句不是 Fortran 标准的组成部分。
消息 ID:ANSI_VAX_STRUCTURE
全局语义检测到定义和在另一程序单元中的引用之间存在差异。 数组伪参数不能具有与其相关联的标量实际参数。此处允许数组元素。
消息 ID:WARNING_ILLEGAL_ASSOC
消息 ID:ERR_NO_ELEMENTAL_IN_WORKSHARE
当在另一个结构中使用 STRUCTURE 语句时,该语句后需跟记录名称列表。
消息 ID:WARN_NESTED_STRUCT_NEED_REC
在 UNION 定义范围中唯一允许的语句是 MAP 和 ENDMAP。
消息 ID:NOT_IN_UNION
不能将此符号声明为具有“Vax 结构”类型。
消息 ID:STRUCTURE_NOT_ALLOWED
在 STRUCTURE/MAP 定义范围内,唯一允许的声明是“结构/映射”组件的类型声明。
消息 ID:NOT_IN_STRUCTURE
消息 ID:ERR_POS_SPEC_ON_INTERNAL
消息 ID:ERR_POS_AND_REC_TOGETHER
消息 ID:ERR_DECIMAL_OR_ROUND_NEED_FMT
消息 ID:ERR_SPECIFIER_NOT_IMPLEMENTED
不能使用 SHARED 属性指定 DOALL 和 OpenMP 循环的 DO 变量。
消息 ID:ERR_SHARED_DO_VAR
当在另一个结构中使用 STRUCTURE 语句时,该语句后需跟记录名称列表。
消息 ID:NESTED_STRUCT_NEED_REC
-u 命令行选项要求在编译的每个过程中指定一个 IMPLICIT NONE。对于此编译该命令行已生效。列出的对象需要指定显式类型。
消息 ID:ERR_TYPE_MUST_BE_EXPLICIT
超出允许的数组边界。
消息 ID:ERR_LOWER_BOUND_OUT_OF_RANGE
超出允许的数组边界。
消息 ID:ERR_UPPER_BOUND_OUT_OF_RANGE
消息 ID:WAR_DEFAULT_POINTEE
编译器已检测到某外部过程应有一个显式接口(F95 标准的 12.3.1.1 节)。如果此过程的早期调用无显式接口,则编译器就会显示此错误。
消息 ID:ERR_NEED_EXPL_INTRFC
消息 ID:ERROR_WRONG_ARRAY_REDUCTION
不能在 OpenMP 指令的 COPYPRIVATE 子句中指定假定大小数组。
消息 ID:ERR_WRONG_ARRAY_IN_COPYPRIVATE
消息 ID:ERR_REDUCTION_PRIVATIZATED
此消息是其他消息的一部分。
消息 ID:PART_LINE_AND_FILE
3.3.1.3.1 节“非字符上下文续行”包含了以下断言:“如果词法标记在一行结尾处被分隔,则其后第一个非注释行中的第一个非空字符将是 "&",并且后面紧跟被分隔标记的连续字符”。
消息 ID:ANSI_NOT_AMPERSAND
消息 ID:ERR_WRONG_NESTED_CRITICAL
绑定到相同 PARALLEL 指令的 DO、SECTIONS、SINGLE 和 WORKSHARE 指令不允许相互嵌套。PARALLEL DO、PARALLEL WORKSHARE 和 PARALLEL SECTIONS 指令可看作后跟适当的工作共享指令的 PARALLEL 指令。因此,DO、SECTIONS、SINGLE 和 WORKSHARE 指令不能直接嵌套在 PARALLEL DO、PARALLEL WORKSHARE 或 PARALLEL SECTIONS 区域。
消息 ID:ERR_WRONG_NESTING
消息 ID:ERR_SHARED_COPYPRIVATE
消息 ID:ERR_PRIVATE_REDUCTION
消息 ID:ANNEX_DIST_FORMAT
跨度为正时,如果下标三元组中的第一个下标大于第二个下标,那么数组段大小为零。如果指定了 "-C" 并且下标是常量,则编译器将在编译时检查这种情况。
消息 ID:WARNING_EMPTY_TRIPLET
跨度为负数时,如果下标三元组中的第二个下标大于第一个下标,那么数组段大小为零。如果指定了 "-C" 并且下标是常量,则编译器将在编译时检查这种情况。
消息 ID:WARNING_EMPTY_TRIPLET2
F95 规则:R1102 程序语句是 PROGRAM 程序名称,但 f90 允许程序语句无程序名称。
消息 ID:ANSI_TERM_ABSENT
Fortran 标准的术语。
消息 ID:ANNEX_D_PROGRAM_STMT
在此编译的全局语义分析过程中,编译器发现实际程序单元定义与过程引用不符。
实际程序单元定义中的伪参数数量与此引用中指定的实际参数的数量不同。
消息 ID:WARNING_REF_DEF_ARGS
在此编译的全局语义分析过程中,编译器发现实际程序单元定义与其先前的定义不符。 实际程序单元定义中的伪参数数量与以前指定的伪参数的数量不同。
消息 ID:WARNING_DEF_DEF_ARGS
已检测到未正确使用编译器指令。许多指令都存在不能在其中进行指定的代码区域。例如,使用由 C$PAR CRITICAL SECTION / C$PAR END CRITICAL SECTION 限制的临界段内指定的 C$PAR PDO 指令。
消息 ID:ERR_BAD_REGION_FOR_DIRECTIVE
已检测到未正确使用编译器指令。只能在某些代码区域中指定许多指令。例如,只能在 C$PAR PARALLEL / C$PAR END PARALLEL 限制的并行区域中指定 C$PAR PDO 指令。
消息 ID:ERR_REGIONS_FOR_DIRECTIVE
此消息是其他消息的一部分。
消息 ID:COMMA_OR
第 5.1 节 关于“类型声明语句”。
消息 ID:ANSI_SLASH_INIT
Fortran 标准不允许没有输入/输出宽度字段的编辑描述符。
消息 ID:EDIT_DESCRIPTOR_WITHOUT_W
MODDIR 环境变量的设置值为无效目录名。因此,编译的模块无法放入该位置。
消息 ID:ERR_INVALID_MODDIR_ENV
-moddir 选项的语法为 -moddir= 消息 ID:ERR_INVALID_MODDIR
消息 ID:ANSI_IMPLICIT
消息 ID:ANSI_F77_SUBSCRIPT
消息 ID:ANSI_F77_BOUND
消息 ID:ANSI_F77_SUBSTRING
此消息不再使用。
消息 ID:LICENSE_ERROR
消息 ID:ANSI_BYTE_TYPE
如果函数包括在 -xknown_lib 选项命名的库中,则其语义已被该标志严格定义,可能无法通过赋予 EXTERNAL 属性进行更改。尤其是,此函数可能既无法由已知库之外的其他库执行,也无法由任何用户提供的代码执行。
消息 ID:WARNING_IGNORING_EXTERNAL
如果函数包括在 -xknown_lib 选项命名的库中,则其语义已被该标志严格定义,此函数的任何用户代码都必定被忽略。
消息 ID:WARNING_IGNORING_USER_CODE
消息 ID:ANSI_F77_D
消息 ID:WARNING_ACCESS_APPEND
消息 ID:ANSI_ACCESS_APPEND
消息 ID:ANSI_F77_GOTO
消息 ID:WARNING_FILEOPT
消息 ID:ANSI_FILEOPT
Fortran 指针、可分配数组和 Cray 指针仅允许在 SHARED 和 PRIVATE 子句中使用。不允许在 REDUCTION 列表、FIRSTPRIVATE、LASTPRIVATE 和 COPYIN 子句中使用它们。
消息 ID:DISALLOWED_IN_CLAUSE
此消息不再使用。
消息 ID:LICENSE_WARNING
序列号库产生了此消息。
消息 ID:SERIAL_ERROR
序列号库产生了此消息。
消息 ID:SERIAL_WARNING
指定 IMPLICIT UNDEFINED 后,所有数据对象都必须具有显式类型。
消息 ID:ERROR_IMPLICIT_UNDEFINED
指定 IMPLICIT UNDEFINED 后,所有数据对象都必须具有显式类型。
消息 ID:ERROR_IMPLICIT_HOST_UNDEFINED
消息 ID:WARNING_PERCENT_LOC
消息 ID:VALUE_OUT_OF_RANGE
消息 ID:ANSI_DIRECT_INTERNAL
消息 ID:WARNING_OPEN_NAME
消息 ID:ANSI_OPEN_NAME
消息 ID:WARNING_FORM_PRINT
消息 ID:ANSI_FORM_PRINT
消息 ID:WARNING_OPEN_READONLY
消息 ID:ANSI_OPEN_READONLY
此消息报告从输入文件读取的源代码行数,以及从在 INCLUDE 行中指定的所有 INCLUDE 文件读取的源代码行数。
消息 ID:LOG_SUMMARY_1925
此消息提供了编译过程中发出的消息摘要。
消息 ID:LOG_SUMMARY_1926
OpenMP 标准不允许在 COPYIN 子句中使用以下公共块名称,它不是程序单元的局部名称。您应该使用变量名称。
消息 ID:WARN_THREADPRIVATE_HOST_ASSOC
C$COPYIN 指令中的每一项都必须是 threadprivate 数据项。
消息 ID:ERROR_THREADPRIVATE_COPYIN
消息 ID:SIZE_OF_COMMON
非零级的 part_ref 不允许右方具有 ALLOCATABLE 属性的另一个 part_ref。
消息 ID:ERR_ALLOC_ATTRIB
消息 ID:S_COMMA_F77_REQUIRED
消息 ID:NEGATIVE_SPECIFIER
消息 ID:ANSI_NODEFINT_IOLENGTH
消息 ID:E_INVALID_RADIX_CONTROL
必须先定义公共块,然后再使用它。
消息 ID:ERROR_NO_COMMON
消息 ID:WARNING_CLOSE_DISP
消息 ID:ANSI_CLOSE_DISP
消息 ID:WARNING_CLOSE_DISPOSE
消息 ID:ANSI_CLOSE_DISPOSE
消息 ID:ILLEGAL_NULL
消息 ID:WARNING_OVERINDEX_ARRAY_SYNTAX
消息 ID:ANSI_RAN_SEED
消息 ID:ERROR_RAN_SEED
消息 ID:ANSI_RAN_HARVEST
消息 ID:WARNING_PERCENT_REF_CHARACTER
消息 ID:ERROR_BIND_LIST
Fortran 标准的术语。
消息 ID:ERROR_ENUM_COLON
Fortran 标准的术语。
消息 ID:ANNEX_D_TYPE_ALIAS_NAME
消息 ID:ANNEX_D_TYPE_SPEC
消息 ID:ERROR_DOUBLE_BIND_NAME
消息 ID:ERROR_BIND_DERIVED_SEQUENCE
消息 ID:ERROR_BIND_DERIVED_PARAMETERS
消息 ID:ERROR_BIND_EXTENS
消息 ID:ERROR_BIND_POINTER
消息 ID:ERROR_BIND_DOUBLE
消息 ID:ERROR_TYPEALIAS_NAME
COPYIN 子句的每一项都必须是 threadprivate 数据项。
消息 ID:ERROR_THREADPRIVATE_COPYIN_OMP
消息 ID:ERROR_FILEOPT_NONPOSIT_BUFFERN
消息 ID:WARNING_FILEOPT_OVERFL_BUFFERN
编译器检测到长度超过 MAX_MODULE_NAME_LEN 字符的模块名称。Fortran 标准限制模块名称的长度为 MAX_MODULE_NAME_LEN 字符。
消息 ID:ERROR_LENGTH_MODULE_NAME
跟在 !$OMP ATOMIC 指令之后的语句必须具有以下某个格式:
x = x operator expr x = expr operator x x = intrinsic(x, expr-list) x = intrinsic(expr-list, x)其中,x 是内在类型的标量变量引用,expr 是不引用 x 的标量表达式,内在属性有 MIN、MAX、IAND、IOR 或 IEOR,运算符有 +、*、-、/、AND、OR、EQV 或 NEQV。
消息 ID:ERROR_BAD_OMP_ATOMIC
编译器检测到长度超过 MAX_ANSI_ID_LEN 字符的标识符。根据 ANSI 标准,f90 的标识符长度不超过 31 个字符,f77 的标识符长度不超过 6 个字符。
消息 ID:ANSI_LENGTH_ID_NAME
实际参数与要求的伪参数类型/属性不匹配。要获得更详细的错误信息,如果可用,请用预定具体函数替换通用函数调用。
消息 ID:ERROR_INCORRECT_ARG_TYPE
此实际参数与要求的伪参数类型/属性不匹配。
消息 ID:ERROR_INCORRECT_ARGNUM_TYPE
实际参数与要求的伪参数的类不匹配。例如,如果应该是伪过程,但提供的实际参数是数据对象,则会提供此消息。要获得更详细的错误信息,如果可用,请用预定具体函数替换通用函数调用。
消息 ID:ERROR_INCORRECT_ARG_CLASS
此实际参数与要求的伪参数的类不匹配。
消息 ID:ERROR_INCORRECT_ARGNUM_CLASS
实际参数与要求的伪参数等级不匹配。要获得更详细的错误信息,如果可用,请用预定具体函数替换通用函数调用。
消息 ID:ERROR_INCORRECT_ARG_RANK
此实际参数与要求的伪参数等级不匹配。
消息 ID:ERROR_INCORRECT_ARGNUM_RANK
实际参数要比非可选的伪参数少。
消息 ID:ERROR_TOO_FEW_ACTUALS
通用函数调用中的实际参数要比具体函数中的伪参数多。
消息 ID:ERROR_TOO_MANY_ACTUALS
在此通用函数调用中,至少有一个关键字无效。
消息 ID:ERROR_INCORRECT_KEYWORD
消息 ID:WARN_BIND_NAME
消息 ID:ERR_BIND_NAME
消息 ID:DUPL_BIND_NAME
Fortran 标准的术语。
消息 ID:ANNEX_D_BIND_ENTITY
声明的非标准类型不是 Fortran 标准的一部分。
消息 ID:ANSI_NONSTANDARD_TYPE
找到了不应出现的任何对象类型(例如,UNSIGNED 类型)。
消息 ID:ERR_THIS_TYPE_NOT_EXPECTED
消息 ID:ERR_C_LOC
消息 ID:ERR_BIND_TYPE
C_F_POINTER 子例程的规范。
消息 ID:ERR_C_F_POINTER_SIZE
消息 ID:ERROR_TYPEALIAS_EXPR
消息 ID:ERROR_AIO_TO_INTERNAL
消息 ID:ERROR_AIO_TO_STDIO
消息 ID:ERROR_ID_WTOUT_ASYNC
消息 ID:WARN_ASYNC_INIT_VAL
消息 ID:ERROR_ID_WTOUT_PEND
不能定义具有 PROTECTED 属性的变量,除非其所在模块含有被赋予 PROTECTED 属性的实体。
消息 ID:NO_DEF_PROTECTED
消息 ID:ASG_PTR_PROTECTED
消息 ID:TRG_PTR_PROTECTED
消息 ID:ALLOC_PTR_PROTECTED
消息 ID:NML_READ_PROTECTED
消息 ID:WARN_EXPR_OUT_OF_RANGE
消息 ID:ERR_BIND_WITH_COMMON
消息 ID:ERR_BIND_IN_COMMON
消息 ID:VFE_ARRAY
消息 ID:VFE_ANSI
消息 ID:VFE_ASSIGN
为改进 I/O 性能,具有连续元素的隐含 do 循环被当作数组段。如果在隐含 do 循环中有 I/O 错误,则会导致隐含 do 变量的值产生差异。根据 Fortran 标准,在这种情况下不定义隐含 do 变量的值。
消息 ID:IMPLIED_DO_CONVERTED
例如,C$PRAGMA END ASSUME 指令一定在匹配的 C$PRAGMA BEGIN ASSUME 指令后出现。在这种情况下,该指令将完全被忽略。
消息 ID:WARNING_NO_MATCHING_DIRECTIVE
消息 ID:WARNING_ARCH
消息 ID:WARNING_INTEGER_SIZE
消息 ID:WARNING_REAL_SIZE
消息 ID:WARNING_DOUBLE_SIZE
消息 ID:WARNING_INTERVAL_SIZE
消息 ID:WARNING_ALIGNMENT
消息 ID:LOG_ERROR_CORRUPT_MOD_FILE
消息 ID:WTOUT_ADVANCE_NO
编译器无法定位在 USE 语句中指定的内在模块名称。
消息 ID:NO_INTRINSIC_MODULE
消息 ID:VFE_TYPE
消息 ID:MEMORY_LIMIT
消息 ID:SIZE_OF_ARRAY
消息 ID:VFE_HOLLER
可在 -xpad=common[:n] 命令行选项中指定可选的填充数。此数必须是大于 0 小于 4096 的整型常量。指定的数字不在此范围内。
消息 ID:LOG_ERROR_PAD
消息 ID:EDIT_DESCRIPTOR_WITHOUT_D
消息 ID:NEGATIVE_FMT_SPECIFIER
消息 ID:NON_STD_FMT_SPECIFIER
消息 ID:WARNING_OVERINDEX_PRIVATE
编译器无法将记录写入编译器信息文件 (Compiler Information File, CIF)。最可能的原因是文件系统的磁盘空间不足。
消息 ID:WRITE_CIF_FILE
消息 ID:NON_STD_SPECIFIER
消息 ID:NON_STD_SPECIFIERS_VALUE
消息 ID:EQUIV_PROTECTED
消息 ID:BAD_PROBABILITY
消息 ID:CALL_IN_ASSERT_EXPR
消息 ID:ASSERT_NOT_LVALUE
消息 ID:ASSERT_NOT_LOGICAL
消息 ID:UNIQUE_BAD_ARRAY
消息 ID:BAD_TRIPCOUNT
消息 ID:BAD_BRANCHEXP
消息 ID:BOZ_CNST_DFLT_INT_CNVRT
MVBITS 内在属性的 TO 参数必须与 FROM 具有相同的类型和类型参数。
消息 ID:MVBITS_FROM_TO
消息 ID:DO_DIR_ACTIVE
消息 ID:WARNING_PERCENT_FEATURE
消息 ID:NOT_IN_POINT_ASSUME
消息 ID:F77_BIG_ARR
消息 ID:WARNING_DIRECTIVE
消息 ID:ADVANCE_LIST_DIRECT
消息 ID:PURE_DIRECTIVE
消息 ID:EXTRA_COMMA
消息 ID:STOP_OVER
消息 ID:ERR_C_F_POINTER_SHAPE
消息 ID:ERR_C_F_POINTER_SHAPE_SIZE
消息 ID:WAR_C_F_POINTER_SCALAR
消息 ID:ERR_C_INTERNAL_PROC
消息 ID:ERR_TYPED_TWICE
消息 ID:ERR_REDUCTION
消息 ID:ERR_LOCAL_C_BIND
消息 ID:ANSI_NON_STANDARD_ARG
消息 ID:LIMIT_INIT
跟在上述指令后面的语句必须是 DO 语句。该指令可应用于 DO 循环。
消息 ID:STMT_MUST_BE_DO
消息 ID:CAUTION_1103_SUN
消息 ID:ERROR_0125_SUN
消息 ID:ERROR_0130_SUN
消息 ID:ERROR_0125_CH_LEN_SUN
消息 ID:ANSI_EXT_PROC
此消息是其他消息的一部分。
消息 ID:PRIV_SHAR_AUTO_NONE
此消息是其他消息的一部分。
消息 ID:INTO
此消息是其他消息的一部分。
消息 ID:OUT_OF
DISTRIBUTE、DISTRIBUTE_RESHAPE 和 REDISTRIBUTE 指令的 ONTO 子句(如果指定)必须具有与 BLOCK 或 CYCLIC 分配规范完全相同的值数量。不要为 "*" 分配规范指定 ONTO 值。
消息 ID:ERROR_FEW_ONTO
DISTRIBUTE、DISTRIBUTE_RESHAPE 和 REDISTRIBUTE 指令的 ONTO 子句(如果指定)必须具有与 BLOCK 或 CYCLIC 分配规范完全相同的值数量。不要为 "*" 分配规范指定 ONTO 值。
消息 ID:ERROR_MANY_ONTO
已超出最大字符长度。
消息 ID:REPEAT_LENGTH
消息 ID:ERROR_0210_SUN
消息 ID:ERROR_0276_SUN
编译器遇到了一个可识别但却不支持的编译器指令。之所以会这样,原因在于编译器指令与支持的硬件无关。
消息 ID:UCD
此消息是其他消息的一部分。
消息 ID:STARTING
此消息是其他消息的一部分。
消息 ID:ENDING
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_D_OPERAND_OR_COLON
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_D_OPERAND
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_D_OPERAND_COMMA_OR_P
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_EOS
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_L_PAR_OR_EOS
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_SUBROUTINE_NAME
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_COMMA_OR_R_PAR
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_L_PAR_OR_DEFAULT
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_SCALAR_INT_STAT_VARIABLE
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_ALLOC_OBJ_OR_STAT
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_L_PAR_OR_EQUALS
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_COMMA_OR_EOS
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_COLON_COMMA_OR_R_PAR
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_EQUALS_R_PAR
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_IDENTIFIER_OR_EOS
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_COMMA_OR_L_PAR_OR_EOS
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_LABEL
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_IDENTIFIER
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_STATEMENT_LABEL
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_OPERATOR_OR_EOS
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_CONSTANT
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_SLASH_OR_COMMA_OR_EOS
此派生类型声明语句的语法是类型错误的 S REAL X 结束类型。此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_POINTER_OR_DIMENSION
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_COMMA_OR_SLASH
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_COMMA_OR_ASTER_OR_SLASH
此语句的语法是错误的 IMPLICIT real (5)。此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_ALPHABET
此语句的语法是错误的 IMPLICIT。此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_TYPE_DECL
此派生类型声明语句的语法是错误的类型,即 :: S REAL X 结束类型。此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_ACCESS_ATTRIBUTE
此 USE 语句的语法是错误的 USE IEEE_ARITHMETIC。此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_INTRINSIC_OR_NON_INTRIN
此类型声明语句的语法是错误的实数参数 Y。此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_COMMA_OR_COLON_SEPARATOR
此类型声明语句的语法是错误的实数,:: Y。此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_ATTRIBUTE
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_128_OR_EOS
此过程定义的语法是错误的纯函数 a()。此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_PROG_OR_TYPE_DECL
此过程定义的语法是错误的实数函数 a(b) resul(bb)。此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_RESULT_OR_EOS
此语句的语法是错误的 pointer( rr,)。此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_POINTEE_NAME
此语句的语法是错误的 pointer( )。此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_CRAY_POINTER_NAME
此语句的语法是错误的 pointer( ,cc)。此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_CRAY_POINTEE
此消息是其他消息的一部分,如 #1958 ERROR_BIND_EXTENS。
消息 ID:ANNEX_EXTENSIBLE_OR_EXTENDS
此消息是其他消息的一部分,如 #582 ERROR_0582。
消息 ID:ANNEX_INITIALIZED
此语句的语法是不正确的枚举 :: 数字实数 t。此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_ENDENUM_OR_ENUMERATOR
字符 ss pointer(ss,i )。此消息是其他消息的一部分,如 #552 ERROR_0552。
消息 ID:ANNEX_CRAY_POINTER
字符 ss pointer(i,ss )。此消息是其他消息的一部分,如 #552 ERROR_0552。
消息 ID:ANNEX_CRAY_CHARACTER_POINTER
此消息是其他消息的一部分,如 #553 ERROR_0553。
消息 ID:ANNEX_DUMMY_ARGUMENT
此消息是其他消息的一部分,如 #553 ERROR_0553。
消息 ID:ANNEX_POINTEE
此语句的语法是错误的 bb = i.TRUE。此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_OPERATOR
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_LOGICAL_LITERAL_CONSTANT
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_A_NUMBER
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_COMMA_OR_R_SQUARE_BRACKET
此消息是其他消息的一部分,如 #1604 ERROR_1558。
消息 ID:ANNEX_LOWER_BOUND
此消息是其他消息的一部分,如 #1604 ERROR_1558。
消息 ID:ANNEX_UPPER_BOUND
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_IN_OR_OUT_OR_INOUT
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_IN_OR_OUT
此类型声明语句的语法是错误的 DOUBLE ss。此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_COMPLEX_OR_PRECISION
此消息是其他消息的一部分,如 #1112 ERROR_1112。
消息 ID:ANNEX_SOURSE
此消息是其他消息的一部分,如 #1112 ERROR_1112。
消息 ID:ANNEX_DESTINATION
此消息是其他消息的一部分,如 #550 ERROR_0550。
消息 ID:ANNEX_EXPLISIT_SHP_ARR
此消息是其他消息的一部分,如 #550 ERROR_0550。
消息 ID:ANNEX_ASUMED_SIZE_ARR
此消息是其他消息的一部分,如 #550 ERROR_0550。
消息 ID:ANNEX_DEFERRED_SHP_ARR
此消息是其他消息的一部分,如 #550 ERROR_0550。
消息 ID:ANNEX_ASUMED_SHP_ARR
此消息是其他消息的一部分,如 #550 ERROR_0550。
消息 ID:ANNEX_DATA_INITIALIZED
此消息是其他消息的一部分,如 #552 ERROR_0552。
消息 ID:ANNEX_CO_ARRAY_DIMENSION
此消息是其他消息的一部分,如 #551 ERROR_0551。
消息 ID:ANNEX_VARIABLE
此消息是其他消息的一部分,如 #551 ERROR_0551。
消息 ID:ANNEX_CRAY_CHARACTER_POINTEE
此消息是其他消息的一部分,如 #551 ERROR_0551。
消息 ID:ANNEX_MODULE_SUBPROGRAM
此消息是其他消息的一部分,如 #551 ERROR_0551。
消息 ID:ANNEX_STATEMENT_FUNCTION
此消息是其他消息的一部分,如 #551 ERROR_0551。
消息 ID:ANNEX_INTRINSIC_FUNCTION
此消息是其他消息的一部分,如 #551 ERROR_0551。
消息 ID:ANNEX_INTRINSIC_SUBROUTINE
此消息是其他消息的一部分,如 #551 ERROR_0551。
消息 ID:ANNEX_BLOCK_DATA
此消息是其他消息的一部分,如 #551 ERROR_0551。
消息 ID:ANNEX_INTERNAL_FUNCTION
此消息是其他消息的一部分,如 #551 ERROR_0551。
消息 ID:ANNEX_INTERNAL_SUBROUTINE
此消息是其他消息的一部分,如 #553 ERROR_0553。
消息 ID:ANNEX_FUNCTION_ENTRY
此消息是其他消息的一部分,如 #553 ERROR_0553。
消息 ID:ANNEX_SUBROUTINE_ENTRY
此消息是其他消息的一部分,如 #553 ERROR_0553。
消息 ID:ANNEX_PROCEDURE_FUNCTION
此消息是其他消息的一部分,如 #553 ERROR_0553。
消息 ID:ANNEX_PROCEDURE_SUBROUTINE
此消息是其他消息的一部分,如 #553 ERROR_0553。
消息 ID:ANNEX_SF_DARG
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_OPENMP_DIRECTIVE_KEYWORD
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_ARRAY_NAME
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_SPAN_OR_EOS
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_POINT_SPAN_OR_EOS
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_IF_OR_EOS
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_MP_SCHEDTYPE_MODE
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_RD_OR_WR
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_PREFETCH_REF_CLAUSE
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_ORDERED_CLAUSE
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_MP_CLAUSE
此消息是其他消息的一部分,如 #1360 ERROR_1360。
消息 ID:ANNEX_CHUNK_OR_BLOCKED
此消息是其他消息的一部分,如 #1564 WARNING_1518。
消息 ID:ANNEX_AFFINITY_CLAUSE
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_DATA_OR_THREAD
此消息是其他消息的一部分,如 #1370 ERROR_1370。
消息 ID:ANNEX_LOCAL_OR_PRIVATE
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_ONTO_OR_EOS
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_COMMA_DSTMT_OBJECT_EOS
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_CBLOCK_NAME_OR_SLASH
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_CBLOCK_OBJECT_OR_SLASH
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_DATA_I_DO_OBJ_OR_VAR
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_DATA_STMT_REPT_OR_CONS
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_EQ_COMMA_SUBLIST_W_PARS
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_LP_COMMA_DOTS_TYPE_NAME
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_ONLY_OR_USE_NAME
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_BIND_ENTITY
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_IMPLIED_DO_OBJ_OR_VAR
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_CONSTRUCT_NAME_OR_EOS
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_DO_VARIABLE_OR_WHILE
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_OBJECT_NAME_OR_SLASH
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_OP_ASG_GENERIC_NAME
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_SCALAR_INT_LIT_CONS_LP
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_D_DIST_FORMAT
消息 ID:ANSI_TYPE_AS_PRINT
消息 ID:NON_INTRINSIC_MODULE
消息 ID:READ_WRITE_EXT_UNIT_IN_PURE
消息 ID:BAD_DER_TYPE_ALIGN_WARN
消息 ID:BAD_DER_TYPE_ALIGN_CAUT
消息 ID:EMPTY_SUBSTRUCT_DECLARE
消息 ID:NONPURE_FUNC_SPEC_EXPR
消息 ID:RECURSIVE_FUNC_SPEC_EXPR
消息 ID:IMPLIED_DO_NESTED_PARENT
如果具有一个或更多 ENTRY 语句的函数的任意入口点的结果具有 ALLOCATABLE 属性,则该函数的所有入口点都必须返回具有 ALLOCATABLE 属性的结果。
消息 ID:ERROR_ENTRY_ALLOC
由于模块格式不兼容,从 S1S8 发行版本开始,Fortran 编译器不允许使用旧模块(使用 FD7 发行版本或早期版本及 -O 选项创建)来创建新模块。使用 -O 选项编译的旧模块仍可用在子程序范围中,但不能用在模块范围中。
消息 ID:ERROR_MOD_KRA_O3
此消息是其他消息的一部分,如 #1166 ERROR_1166。
消息 ID:ANNEX_IF_IFDEF_OR_IFNDEF
此消息是其他消息的一部分,如 #1165 ERROR_1165。
消息 ID:ANNEX_EXPRESSION
此消息是其他消息的一部分,如 #1165 ERROR_1165。
消息 ID:ANNEX_INCLUDE_FILE_NAME
此消息是其他消息的一部分,如 #1165 ERROR_1165。
消息 ID:ANNEX_COND_COMP_DIR
此消息是其他消息的一部分,如 #1165 ERROR_1165。
消息 ID:ANNEX_IDENTIFIER_OR_INT_CONST
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_TYPE_DECL_WITH_INTERVAL
此消息是其他消息的一部分,如 #1360 ERROR_1360。
消息 ID:ANNEX_MODE_OR_MP_SCHEDTYPE
此消息是其他消息的一部分,如 #2042 PURE_DIRECTIVE。
消息 ID:ANNEX_CRAY_PARALLELIZATION
此消息是其他消息的一部分,如 #2042 PURE_DIRECTIVE。
消息 ID:ANNEX_SUN_PARALLELIZATION
此消息是其他消息的一部分,如 #1564 WARNING_1518。
消息 ID:ANNEX_DISTRIBUTE_DIRECTIVE
此消息是其他消息的一部分,如 #1564 WARNING_1518。
消息 ID:ANNEX_DISTRIBUTE_RESHAPE_DIR
此消息是其他消息的一部分,如 #1564 WARNING_1518。
消息 ID:ANNEX_DYNAMIC_DIRECTIVE
此消息是其他消息的一部分,如 #1564 WARNING_1518。
消息 ID:ANNEX_PAGE_PLACE_DIRECTIVE
此消息是其他消息的一部分,如 #1564 WARNING_1518。
消息 ID:ANNEX_REDISTRIBUTE_DIRECTIVE
此消息是其他消息的一部分,如 #1564 WARNING_1518。
消息 ID:ANNEX_ONTO_CLAUSE
此消息是其他消息的一部分,如 #1564 WARNING_1518。
消息 ID:ANNEX_NEST_CLAUSE
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_OPENMP_CLAUSE
此消息是其他消息的一部分,如 #1458 ERROR_1412。
消息 ID:ANNEX_OMP_SECTION
此消息是其他消息的一部分,如 #1458 ERROR_1412。
消息 ID:ANNEX_OMP_PARALLEL_SECTION
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_OPENMP_END_SINGLE_CLAUSE
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_CACHLINE
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_HERE_ROUTINE_OR_GLOBAL
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_MAX_MIN_IAND_IOR_IEOR
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_AND_OR_EQV_OR_NEQV
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_OPERATOR_OR_INTRINSIC
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_SCHEDULE_TYPE
此消息是其他消息的一部分,如 #197 ERROR_0197。
消息 ID:ANNEX_PRIVATE_OR_SHARED
模块包含一个无法被编译器处理的无效表达式。最可能的原因是模块文件已经被破坏,需要用较高版本的编译器对其进行重新编译。如果重新编译后仍存在该错误,则可能是编译器问题引起的,应该报告该问题。
消息 ID:ERR_BAD_MODULE
只能指定一次文件或逻辑单元的特性。使用不同的特性指定相同的文件或逻辑单元是错误的。
消息 ID:ERR_BAD_FILEBYTEORDER_SPEC
未正确使用选项,可能是印刷错误引起的。请参阅手册页以了解正确的用法。
消息 ID:GENERIC_BAD_OPTION
在固定格式模式下,Fortran 编译器缺省从第 73 列截断源代码行。这包括以 消息 ID:TAB_FORMATTED_LINE_TRUNCATED
根据 OpenMP 规范,出现在名称列表语句中的变量不能出现在 private、firstprivate 或 lastprivate 子句中。如果在此构造中未引用名称列表语句,则可以安全地忽略此警告。如果您对名称列表语句引用变量的局部 private、firstprivate 或 lastprivate 版本感到满意,则也可以选择忽略此警告。
消息 ID:WAR_OMP_NAMELIST_VAR_BAD
根据 OpenMP 规范,出现在语句函数定义中的变量不能出现在 private、firstprivate 或 lastprivate 子句中。如果在此构造中未引用名称列表语句,则可以安全地忽略此警告。如果您对名称列表语句引用变量的局部 private、firstprivate 或 lastprivate 版本感到满意,则也可以选择忽略此警告。
消息 ID:WAR_OMP_STMT_FUNC_VAR_BAD
根据 OpenMP 规范,出现在变量格式表达式中的变量不能出现在 private、firstprivate 或 lastprivate 子句中。如果在此构造中未引用名称列表语句,则可以安全地忽略此警告。如果您对名称列表语句引用变量的局部 private、firstprivate 或 lastprivate 版本感到满意,则也可以选择忽略此警告。
消息 ID:WAR_OMP_VFE_VAR_BAD
OpenMP 规范不允许将出现在 threadprivate 指令中的变量用作 OpenMP 循环构造的循环迭代变量。
消息 ID:ERR_OMP_THREADPRIVATE_LCV_BAD
如果函数包含在 -xknown_lib 选项命名的库中,则其语义已被该标志严格定义,可能无法通过在 INTERFACE 块中对其进行声明来进行修改。确切地说,将忽略任何用户提供的子程序定义。
消息 ID:WARNING_IGNORING_INTERFACE
并非始终可以使用填充选项,如 -dalign、-aligncommon 等。有时,由于为了提高运行时性能而针对标准 Fortran 插入了额外的填充空间,所以这些填充选项会与 EQUIVALENCE 语句发生存储冲突。在这种情况下,应删除填充选项以避免发生此编译错误。
消息 ID:ERR_PADDING_OPTION
至少在两个模块中声明了命名的符号,因此,无法在此程序单元中使用它。如果两个模块声明了不同的实体,则必须在其中的一个模块中重命名该符号。
消息 ID:CAUTION_NOT_VISIBLE
子例程定义语句中的 BIND(C) 前面的 COMMA 是不标准的。
消息 ID:ANSI_COMMA_BEFORE_BIND
通用内在接口和包含过程之间发生名称冲突。应重命名包含过程或删除接口声明以避免发生冲突。
消息 ID:ERR_INTRINSIC_USER_COLLISION
pragma 循环子句中的每个值都必须为整型。
消息 ID:ERR_PRAGMA_LOOP_VAL
消息 ID:ERR_C_FUNLOC
消息 ID:ERR_C_LOC_1
例如,在 Fortran 2003 中,类型为 CHARACTER*10 的标量变量被视为元素序列,因此,如果对应的伪参数是一个数组,则不会产生编译错误。
消息 ID:ANSI_CHARACTER_SEQUENCE_2003