1001:由 using 声明指定的类成员必须在直接基类中可见
1003:Sun 模式与 cfront 模式不兼容
1004:严格模式与 Sun 模式不兼容
1005:只有在编译 C++ 时才允许使用太阳模式
1006: 模板模板参数不能与其模板参数之一同名
1007:默认参数的递归实例化
1009:<entity> 不是可以定义的实体
1010:析构函数名称必须是限定的
1011:朋友类名不能用“typename”引入
1012: using-declaration 不能命名构造函数或析构函数
1013:限定的好友模板声明必须引用先前声明的特定模板
1014:类模板声明中的说明符无效
1015:参数与形式参数不兼容
1016:此位置不允许使用 ARM 函数限定符的前缀形式
1017:不允许重复的 ARM 函数限定符
1018:此声明/定义中不允许使用 ARM 函数限定符
ARM 函数限定符的示例包括 __svc、__pure 和 __irq。
请参阅《armcc 用户指南》中的以下内容:
关键字和运算符.
1019:函数限定符 <entity>不允许用于非静态成员函数
1020:__irq 函数不得带任何参数
1021:__irq 函数不得返回任何结果
1022:不能有指针,也不能引用<实体>功能
1023:__global_reg 此声明不允许
1024:无效的全局寄存器号;允许 1 到 8 个
__global_reg 中使用了无效的寄存器。
例:
__global_reg(786) int x;
1025:__svc参数<实体>不在 ARM SVC 指令允许的范围(0 到 )内
对于 ARM 代码,SVC 编号限制为 0 到 ,对于 Thumb 代码,0xffffffSVC 编号限制为 0 到 。0xFF
对于标准半托管 SVC,0x123456用于 ARM 代码, 用于 Thumb 代码。0xAB
1026:不允许获取全局寄存器变量的地址
1027:__svc_indirect函数必须有参数
1028:全局注册声明与<实体>冲突
1029:__packed 忽略非指针参数
1030:<entity> <type>以前声明时未__packed
1031:必须__packed包装<类型>中<类型>的定义
编译器对包含在已打包父结构中的非打包子结构进行错误处理。这包括子结构是数组的情况。
例如:
typedef struct ChildStruct {int a;} ChildStruct;
typedef __packed struct ParentStruct {ChildStruct child[1];} ParentStruct;
结果显示以下消息:
Error: #1031: Definition of "ChildStruct" in packed "ParentStruct" must be __packed
请参阅《armcc 用户指南》中的以下内容:
__包装好的.
1032:必须__packed打包<类型>中嵌套的匿名<实体>的定义
1033:<实体>与函数定义不兼容
1034:__irq 函数不得是函数调用的目标
1035:单精度操作数隐式转换为双精度
1037:__global_reg 在此声明中无效
1038:指定的对齐无效;只允许 2 的整数幂
1039:与<实体>冲突的对齐声明
1040:不允许未对齐
1041:自动对象的对齐方式不得大于 8
例如:
int main(void){__align(16) int foo = 10;
}
局部变量 foo 不允许__align,因此给出了错误。
请参阅《armcc 用户指南》中的以下内容:
__對齊.
1042:<entity> 编译位置无关时无法动态初始化
1043:<entity> 不能是 const,因为它包含可变成员
例如:
struct foo { int a; mutable int b; };
extern const struct foo bar;
当编译器处于 ROPI 或 RWPI 模式时,它不允许 const 对象包含可变成员。
此限制的原因是,在这些模式下,编译器处理只读数据的方式与读写数据不同。因此,它必须知道对象是在 RO 还是 RW 数据部分中。在以下示例中,此限制意味着 bar 不能包含任何可变成员,因此位于 RO 数据部分中:
struct foo;
extern const struct foo bar;
const struct foo *get_foo() { return &bar; }
请参阅《armcc 用户指南》中的以下内容:
--apcs=限定符...限定 符.
1044:选项“dep_name”只能在编译C++时使用
1045:从类 <type> 开始的“运算符>”函数序列循环
1046:<entity>没有成员类 <entity>
1047:全局范围没有名为 <entity> 的类
1048:模板默认参数的递归实例化
1049:访问声明和使用声明不能出现在联合中
1050:<entity> 不是类成员
1051:不允许非标准杆件常量声明
1052:选项“ignore_std”只能在编译C++时使用
1053:选项“parse_templates”只能在编译C++时使用
1054:选项“dep_name”不能与“no_parse_templates”一起使用
1055:指定的语言模式不兼容
1056:嵌套类的无效重新声明
1057:不允许包含未知大小数组的类型
1058:不能在内联函数中定义具有静态存储持续时间的变量
1059: 具有内部链接的实体不能在具有外部链接的内联函数中引用
1060: 参数类型 <type> 与此类型泛型函数宏不匹配
1062:好友声明不能在上一个声明中添加默认参数
1063:<实体>不能在此范围内声明
1064:保留标识符<实体>只能在函数内部使用
1065:此通用字符不能以标识符开头
1066:应为字符串文本
1067:无法识别的 STDC 编译指示
1068:预期的“开”、“关”或“默认”
1069:STDC 编译指示只能出现在全局作用域中的声明之间,或块作用域中的任何语句或声明之前
1070:不正确地使用va_copy
1071:<entity> 只能与浮点类型一起使用
1072:不允许使用复杂类型
1073:无效的指示符类型
1074: 浮点值无法准确表示
1075:复数浮点运算结果超出范围
1076:实数和虚数之间的转换结果为零
1077: 不能为灵活数组成员指定初始值设定项
1078:imaginary *= imaginary 将左操作数设置为零
1079:standard 要求通过后续声明(假定为“int”)为<entity>指定类型
1080:内联<实体需要定义>
1081:从整数到更小指针的转换
1082:浮点类型必须包含在_Complex或_Imaginary类型的类型说明符中
1083:内联汇编程序语法错误
在 ARM 编译器 4.1p2 及更早版本中,当内联汇编代码包含内联汇编程序不支持的指令(例如 WFI 指令)时,可能会生成此错误。在 4.1p3 及更高版本(包括所有 ARM 编译器 5 版本)中,会引发以下错误:
1084: This instruction not permitted in inline assembler
1084:此指令不允许在内联汇编程序中使用
1085:缺少操作数
1086: 操作数类型错误
1087:操作数应该是恒定的
1088:操作数数错误
1089:无效的 PSR 操作数
1090:预期的 PSR 操作数
1091:指定的班次无效
1092:应为 acc0
1093:必须是可修改的左值
1094:预期为寄存器表达式
1095:需要标签或函数名称
1096:指令不能是有条件的
1097:预期为 [ 或 ]
1098:预计轮班操作
1099:出乎意料 ]
1100:不允许注册指定的班次
1101:不允许预先索引寻址
1102:不允许后索引寻址
1103:寻址模式下不允许写回
1104:预期 {
1105:预期 }
1106:寄存器列表中的寄存器过多
1107:只有^在这里有效
1108:无法在寄存器列表中混合虚拟寄存器和 C/C++ 表达式
1109:在寄存器范围内只能指定虚拟寄存器
1110:内联汇编程序不支持用户模式寄存器选择/CPSR 更新。使用嵌入式汇编程序或离线汇编程序
1111:应为协处理器名称
1112:需要协处理器寄存器名称
如果发生以下任一情况,则内联汇编程序会给出这些错误:
-
MCR或MRC指令中意外遗漏了协处理器编号 -
给出了无效的协处理器编号或协处理器寄存器编号。
这是正确使用的示例:
void foo()
{int reg0;__asm{MRC p15, 0, reg0, c1, c0, 0}
}
1113:生成 Thumb 代码时不允许使用内联汇编程序
1114:目标体系结构/处理器不支持此功能
使用 armcc --cpu 4T 编译时的示例:
int main(void) {int a,b,c;__asm {QADD a,b,c}return(a);
}
导致错误消息,因为饱和添加指令仅在 ARMv5TE 及更高版本中受支持。
1115: 无法分配给常量操作数
1116:寄存器列表不能为空
1117:不允许使用不合格的虚拟函数
1118:预期为换行符
1119:函数中不允许引用静态变量__asm
1120:__asm函数中不允许引用静态函数
1121:函数中不允许指向数据成员的指针__asm
1123:基类 <type> 是 <type 的虚拟基类>
1124:基类 <type> 不是 <type 的虚拟基类>
1125:<entity> 没有成员函数 <entity>
1126:本声明中不允许使用“__asm”
1127:不允许__asm构造函数使用成员初始值设定项列表
1128:不允许对 __asm 构造函数使用 try 块
1129:操作数的顺序与以前的编译器版本不兼容
1130:__align typedef 中不允许
1131:不可移植指令(LDM 在注册列表中具有写回和基数,基数的最终值不可预测)
1132:不可移植指令(STM有写回和基数,不是在注册列表中的第一位,基数的存储值不可预测)
1133:虚拟基寄存器不允许使用表达式操作数
1134:字面意思被视为“长长”
常量太大,无法用有符号的 long 表示,因此被视为(有符号的)long long。
例如:
int foo(unsigned int bar)
{ return (bar == 2147483648);
}
给出警告,因为 2147483648 大于有符号长整型允许的最大值。若要消除警告,如果应将常量视为(64 位)long long 类型而不是带符号的 long,请显式添加 ll 或 LL 后缀,或者,如果应将其视为无符号整数,请添加 U 后缀。
例如:
int foo(unsigned int bar)
{ return (bar == 2147483648U);
}
请参阅《armcc 用户指南》中的以下内容:
长 长.
1135:字面意思被视为“无符号长长”
常量太大,无法用有符号的 long long 表示,因此被赋予了类型无符号的 long long。另请参阅错误编号 1134。
1137:应为逗号
1138:此表达式后出现意外的逗号
1139:MRRC 操作操作码必须位于 0-15 范围内
1140:MCRR 操作操作码必须在 0-15 范围内
1141:CDP 操作操作码必须位于 0-15 范围内
1142:MRC 操作操作码必须位于 0-7 范围内
1143:MCR 操作操作码必须在 0-7 范围内
1144:opcode_2 必须在 0-7 范围内
1145:LDC/STC 额外操作码必须在 0-255 范围内
1146:LDC/STC 偏移量必须在 -1020 至 +1020 范围内,并且字对齐
1147:常量操作数超出范围
1148:不允许使用 --fpu=none 的浮点运算符
1149:函数定义中不允许使用 --fpu=none 的浮点返回类型
1150:函数定义中不允许使用 --fpu=none 输入浮点参数
1151:不允许使用 --fpu=none 定义带有初始值设定项的浮点变量
1152:多态基类也需要导出
1153: 无法在此寄存器列表中分配物理寄存器
1154:此处只能指定偶数的物理寄存器
1155:此处只能指定对物理寄存器的分配
1156:此处只能指定物理寄存器的分配
1157:只能在损坏的寄存器列表中指定物理寄存器
1158:PSR 操作数在此处无效
1159:应为明确的标签或函数名称
1160:对临时析构函数的调用将覆盖此指令更新的条件标志
1161: 无法直接修改堆栈指针 SP (r13)
1162:无法直接修改链路寄存器 LR (r14)
1163:无法直接修改程序计数器 PC (r15)
1164:偏移量必须与字对齐
1165:不能在匿名联合中声明类型
1166:返回指向局部变量的指针
1167:将指针返回到本地临时
1168:选项“导出”只能在编译 C++ 时使用
1169:“导出”选项不能与“no_dep_name”一起使用
1170:“导出”选项不能与“implicit_include”一起使用
1171:<实体>的声明与另一个翻译单元的声明不相容
1172:另一个声明是<实体>
1175: 字段声明不能具有涉及可变长度数组的类型
1176:<实体>的声明在<实体的编制过程中具有不同的含义>
1177:预期的“模板”
1178:“导出”不能用于显式实例化
1179:“出口”不能用于此声明
1180: 不能将未命名命名空间的成员声明为“导出”
1181:模板在定义后不能声明为“导出”
1182:声明不能有标签
1183:禁用对导出模板的支持
1185:<entity> 已在编译 <entity 期间定义>
1186:<实体>已在另一个翻译单元中定义
1187:非静态局部变量不能在__based规范中使用
1188:编译多于一个翻译单元时,未必指定列出 makefile 依赖项的选项
1190:编译多于一个翻译单元时,不得指定生成预处理输出的选项
1191: 不能在具有用户声明构造函数的类中声明与其类同名的字段
1192:“implicit_include”不能在编译多于一个翻译单元时使用
1193:导出的模板文件<实体>已损坏
1194:<entity> 无法实例化 -- 它已显式专用于包含导出定义的翻译单元
1196: 对象具有与成员<实体不兼容的类型限定符>
1197:没有 <Entity> 实例与参数列表和对象匹配(该对象具有阻止匹配的类型限定符)
1198:属性指定与 <type 不兼容的模式>
1199:没有指定宽度的类型
1200:属性指定的对齐值无效
1201: <type> 的属性无效
1202:<实体的属性无效>
1204:属性<实体>不带参数
1206:需要属性名称
1207:未知属性<attribute>
1208:此处可能不会显示属性
1209:属性 <entity> 的参数无效
1211:在“goto *expr”中,expr 必须具有“void *”类型
1212:“goto *expr”不标准
1213:获取标签地址不规范
1214:多次指定文件名:
1215:#warning 指令:<实体>
1217:“transparent_union”属性只适用于联合,<type>不是联合
1218: “transparent_union”属性在不完整的类型上被忽略
1219:<type> 不能透明,因为 <entity> 的大小与第一个字段的大小不同
1220:<type> 不能是透明的,因为它有一个类型为 <type> 的字段,该字段的大小与第一个字段的大小不同
1222:属性<属性>不适用于局部变量
1224:函数定义中不允许使用属性
1226:大小写范围中的第二个常量必须大于第一个常量
1227:函数定义中不允许使用 ASM 名称
1228:在 typedef 中忽略 ASM 名称
1229:未知注册名称“<entity>”
1230:修饰符字母“<entity>在 ASM 操作数中被忽略
1231:未知的 ASM 约束修饰符“<entity>”
1232:未知的 ASM 约束字母“<entity>”
1233:ASM 操作数没有约束字母
1234:ASM 输出操作数必须具有“=”或“+”修饰符之一
1235:ASM 输入操作数可能没有“=”或“+”修饰符
1237:ASM 语句中的冒号过多
1238:注册“<entity>”多次使用
1239:寄存器“<entity>”既被使用又被破坏
1240:注册“<实体>”不止一次被破坏
1241:注册“<entity>”具有固定用途,不得在ASM声明中使用
1242:寄存器“<entity>”有固定用途,不得在ASM声明中删减
1243:必须完全省略空的 clobbers 列表
1244:预期有 ASM 操作数
1245:期待寄存器敲击
1246:“format”属性需要省略号参数
1247:第一个替换参数不是第一个变量参数
1248:格式参数索引大于参数数
1249:format 参数没有字符串类型
1250:用于消除句法歧义的“template”关键字只能在模板中使用
1253:属性不适用于非函数类型 <type>
1254:指向 void 或函数类型的指针上的算术运算
1255:存储类必须是自动或寄存器
1256:<type> 在通过省略号参数传递时,将提升为 <type>;请改用后一种类型
1257:<entity> 不是基类成员
1258:__super不能出现在 \“::\” 之后
1259:__super 只能在类范围内使用
1260:__super 后面必须跟 \“::\”
1262:残缺的名字太长了
1263:偏移量必须与半字对齐
1264:偏移量必须双字对齐
1265:不允许使用 --fpu=none 与浮点类型相互转换
1266:操作数应为常量表达式
1267:隐式物理寄存器<实体>应定义为变量
1268:声明别名为未定义的实体 <entity>
1269:声明与其别名 <entity> 不匹配
1270:声明为别名的实体不能有定义
1271:可变长度数组字段类型将被视为零长度数组字段类型
1272:忽略左值上的非标准强制转换
1273:无法识别的旗帜名称
1274:void 返回类型无法限定
1275:此处忽略自动说明符(在标准 C/C++ 中无效)
1276:忽略没有“packed”属性的对齐减少
1277:对应于<实体>的成员模板在另一个翻译单元中被声明为不同类型的模板
1278:忽略多余的初始值设定项
1279:va_start只能出现在带有省略号参数的函数中
1280:“short_enums”选项只在 GNU C 和 GNU C++ 模式下有效
1281: 导出信息文件 %sq1 在行号 %s2 处无效
1282:变量<实体>不能在寄存器范围内使用
1283:这里需要一个物理寄存器名称
1284:此处不能指定寄存器范围
1285:未定义隐式物理寄存器<实体>
1286:LDRD/STRD 指令将扩展
当 LDRD 和 STRD 指令用于内联汇编程序时,编译器会将它们扩展为两个 LDR 或 STR 指令,然后再通过编译器优化阶段。
优化阶段通常将两个LDR或STR指令组合回单个LDRD或STRD指令,但在某些情况下可能不使用 LDRD或STRD。
1287:LDM/STM指令可以扩展
编译器在经过编译器优化阶段之前,将内联汇编代码中的 LDM 和 STM 指令扩展为多个 LDR 或 STR 指令。
优化阶段通常会将 LDR 或 STR 指令改回 LDM 或 STM 指令,但在某些情况下可能不使用单个 LDM 或 STM 指令。
1288:由于名称冲突,未定义隐式 ARM 寄存器<实体>
1289:语句表达式只允许在块作用域中使用
1291:在非寄存器自动变量上忽略 ASM 名称
1293:在条件中分配
在需要布尔值的上下文中,例如,在 if、while 或 for 语句的控制表达式中,或条件表达式的第一个操作数中,该表达式包含以下值之一:
-
按位非运算符 (
~)。很可能是逻辑非运算符 (!) 的意图。 -
赋值运算符 (
=)。这可能是键入错误的相等运算符 (==)。例如:int main(void) { int a,b; if (a=b); }
无论哪种情况,如果有意使用运算符,都可以通过添加与零的显式比较来禁止显示警告。
例如,将示例中的 if 语句更改为:
if ((a=b)!=0);
也可以使用 --diag_suppress 1293 选项来抑制此警告。
另请参阅消息编号 187,该消息在与常量进行比较时适用。
1294:旧式函数<实体>
编译器接受旧式和新式函数声明。以下示例显示了它们之间的区别:
// new style
int add2(int a, int b)
{ return a+b;
}
// old style
int oldadd2(a,b)
int a;
int b;
{ return a+b;
}
在 C 模式下编译旧式函数时,编译器会报告:
Warning: #1294-D: Old-style function oldadd2
1295:弃用声明 <entity> - 给出 arg 类型
当在 ANSI C 模式下遇到没有参数类型的声明时,通常会发出此警告。在 ANSI C 中,不推荐使用此类声明。但是,在移植旧代码时,使用 --diag_suppress 1295 选项禁止显示此警告有时很有用。
在 C++ 中:
void foo();
方法:
void foo(void);
并且不会生成任何警告。
1296:使用的扩展常量初始值设定项
用作常量初始值设定项的表达式可能不可移植。
这警告说,存在一个不遵循 ANSI C 严格规则的常量初始值设定项。
解决方案是重写代码以符合 ANSI。
以下示例显示了生成此警告的代码,并建议了使用 ANSI C 兼容代码实现相同目标的潜在替代方法。
使用 --diag_suppress 1296 进行编译会禁止显示警告。
示例 1:
当 x 和 y 是静态对象(即全局变量或静态局部变量)时,此代码会生成警告 1296,因为 C 标准不允许在常量表达式中强制转换指向整数的指针:
int x;
int y = (int) &x;
ANSI C 要求静态对象的初始值设定项是常量表达式。(int) &x 不被视为常量表达式。
请注意,地址不是算术类型,因此 ANSI C 不允许使用此示例 C 代码。 不幸的是,这是其他编译器中常见的 ANSI 不合规,并且可能导致在将旧代码移植到 ARM 时出现问题。这就是 ARM 编译器发出警告而不是错误的原因。
符合 ANSI C 的替代方法是重写代码,使 y 成为指向 x 的指针:
int x;
int* y = &x;
示例 2:
使用 --c90 开关编译的此代码会生成警告 1296:
const int foo_table[] = { (int)"foo", 0, 1, 2};
符合 ANSI C 的替代方法是重写代码,如下所示:
const char* foo_table[] = { "foo", 0, (char*)1, (char*)2};
示例 3:
此代码生成警告 1296,因为 C 标准不允许在常量表达式中强制转换指向长整数的指针:
char value;
long array[] = {(long)&value,(long)"string"
};
符合 ANSI C 的替代方法是重写代码以使用指针:
char value;
char *array[] = {(char*)&value,(char*)"string"
};
此解决方案之所以有效,是因为 C 语言中允许指针到指针的强制转换。
1297:头文件未防止多重包含
当 #included 未受保护的头文件时,会发出此警告。
未受保护的头文件是未包装在声明中的头文件,例如:
#ifdef foo_h
#define foo_h
/* body of include file */
#endif
默认情况下,此警告处于关闭状态。可以通过以下方式启用它:
--diag_warning 1297
1298: 头文件由“<entity>”保护,但不 #define 它
例:
#ifndef MYHEADER_H
//#define MYHEADER_H
#endif
若要更正代码,请删除注释斜杠 (//)。默认情况下,此警告处于关闭状态。可以通过以下方式启用它:
--diag_warning 1298
1299:成员和基类将按声明顺序初始化,而不是按成员初始化列表顺序初始化
1300:<entity> 继承隐式虚拟
当派生类的非虚拟成员函数隐藏父类的虚拟成员时,会发出此警告。例如:
struct Base { virtual void f(); };
struct Derived : Base { void f(); };
结果显示以下消息:
Warning: #1300-D: f inherits implicit virtual
struct Derived : Base { void f(); };^
在派生类中添加 virtual 关键字可防止出现警告。对于C++,指定 --diag_suppress 1300 选项会禁止隐式虚拟警告。
1301:在结构中插入填充<实体>
为了使结构的成员正确对齐,在成员之间插入了一些填充。默认情况下,此警告处于关闭状态,可以使用 --diag_warning 1301 或 --remarks 启用。
例如:
struct X {char x;int y;
}
结果显示以下消息:
Warning: #1301-D: padding inserted in struct X
编译器还可以警告在结构末尾或结构之间添加填充,请参阅消息编号 2530。
1302:类型太大,无法在寄存器中返回 - __value_in_regs忽略
1303:使用 --force_new_nothrow:添加了 “throw()”
1304:操作员新缺少异常规范
1305:使用 --force_new_nothrow:添加了“(::std::nothrow)”
1307:不允许使用 --fpu=none 的浮点参数
1308: 必须__packed__packed类<类型>的基类<类型>
1309:无法识别的 UPC 编译指示
1310:共享块大小与先前指定的块大小不匹配
1311:括号内的表达式被假定为块大小规范,而不是数组维度
1312: 共享阵列的块大小必须大于零
1313:不允许多个块大小
1314:严格或宽松需要共享
1315:在此上下文中不允许使用线程
1316: 指定的块大小超出了 <entity 的最大值>
1317:不允许函数返回共享
1319:当线程数非常数时,共享类型数组的一个维度必须是 THREADS 的倍数
1320:不允许在结构或联合中使用共享类型
1321:参数可能没有共享类型
1322:动态 THREADS 维度需要确定的块大小
1323:共享变量必须是静态的或外部的
1324:upc_blocksizeof的参数是指向共享类型(不是共享类型本身)的指针
1325:嵌套upc_forall中忽略的亲和力表达式
1326:不允许分支到upc_forall环路或分支出
1327:亲和表达式必须具有共享类型或指向共享类型
1328:关联具有共享类型(不是指向共享的指针)
1329:共享的空洞*类型只能进行比较以达到相等性
1330:UPC 模式与 C++ 和 K&R 模式不兼容
1331:忽略输入行中的空(零)字符
1332:字符串或字符常量中的空(零)字符
1333:标头名称中的空(零)字符
1334:for-initializer 中的声明隐藏了周围作用域中的声明
1335:隐藏的声明是<实体>
1336:<entity>fd 的原型声明在重新声明后被忽略
1338:<entity>pd 必须具有外部 C 链接
1339:变量声明隐藏 for-initializer 中的声明
1340:typedef <entity> 不能用于详细说明的类型说明符
1341:忽略零常量的调用
1342:参数<实体>不能在函数 try 块的 catch 子句中重新声明
1343:必须在包含模板的命名空间中声明<实体>的初始显式专用化
1344:\“cc\” clobber 被忽略
1345:“template”后面必须跟一个标识符
1346:在此上下文中不允许使用 MYTHREAD
1347:布局限定符无法限定指向共享的指针
1348:布局限定符无法限定不完整的数组
1349:声明<实体>隐藏处理程序参数
1350:忽略非标准强制转换为数组类型
1351:此编译指示不能在_Pragma运算符中使用(必须使用 #pragma 指令)
1352:字段使用基类的尾部填充
1353:GNU C++ 编译器可能使用位字段填充
1355: 抽象类 <type> 具有非虚拟析构函数,在指向此类的指针上调用 delete 是未定义的行为
1356:非静态成员声明中不允许使用 ASM 名称
1357:使用 <entity> 的地址静态初始化 <entity>可能会导致链路失败 -ropi
请参阅错误编号 1359。
1358:对于 ROPI,不能降低使用 <entity> 地址的外部常量 <entity> 的静态初始化
1359: 使用<entity>地址对<entity>进行静态初始化可能会导致链路故障 -rwpi
警告 1357 和 1359 突出显示了与位置无关 (PI) 的代码构造,这些构造可能会导致后续链接步骤失败。
使用 --apcs /ropi 编译时,以下代码:
char *str = "test"; /* global pointer */
结果显示以下消息:
Warning: #1357-D: static initialisation of variable "str" using address of string literal may cause link failure --ropi
因为全局指针 str 必须初始化为 .constdata 部分中 char 字符串测试的地址,但绝对地址不能在 PI 系统中使用。
使用 --apcs /rwpi 编译时,以下代码:
int bar;
int *foo = &bar; /* global pointer */
结果显示以下消息:
Warning: #1359-D: static initialisation of variable "foo" using address of bar may cause link failure --rwpi
因为全局指针 foo 必须初始化为 .data 部分中 bar 的地址,但绝对地址不能在 PI SYSTEM 中使用。
以下解决方法是可能的:
-
更改代码以避免使用全局指针。例如,您可以改用全局数组或本地指针。
-
在运行时进行初始化,例如:
int bar; int *foo;然后在设置
foo = &bar;的函数中编写代码。这是因为在生成代码而不是静态初始化数据时,编译器可以绕过 ROPI/RWPI 约束。
另请参阅链接器错误 L6248E。
1360:对于RWPI,不能降低使用<entity>地址的外部常量<entity>的静态初始化
例如,当使用 --apcs /rwpi 编译时:
extern int y;
int* const x = &y;
int* foo()
{return(x);
}
生成警告,因为 Y 前面加上 extern 会阻止编译器在变量 x 和 y 之间定义直接地址偏移。
1361:<entity> 被宣布为“已弃用”
1362:忽略无法识别的格式函数类型<实体>
1363:基类 <entity> 使用基类 <entity> 的尾部填充
1364:“init_priority\”属性只能用于定义类类型的静态数据成员和命名空间范围变量
1365:请求的初始化优先级保留供内部使用
1366:这个匿名的联合/结构字段被<实体隐藏>
1367:无效的错误号
1368:无效的错误标记
1369:应为错误号或错误标记
1370:类的大小受尾部填充的影响
1371:标签只能在函数定义中引用
1372:不允许将控制权转移到语句表达式中
1374:此语句不允许在语句表达式中
1375:语句表达式中不允许使用非 POD 类定义
1376:语句表达式中不允许存在可破坏的实体
1377:语句表达式中不允许使用动态初始化的局部静态变量
1378:语句表达式中不允许有可变长度的数组
1379:默认参数中不允许使用语句表达式
1381: 结果操作数的类型比实际结果窄
1382:指向函数的指针和指向数据的指针之间的非标准转换
1383:接口类型不能有虚拟基类
1384: 接口类型不能指定“私有”或“受保护”
1385:接口类型只能派生自其他接口类型
1386:<type> 是接口类型
1387:接口类型不能有 typedef 成员
1388: 接口类型不能有用户声明的构造函数或析构函数
1389:接口类型不能有用户声明的成员算子
1390:不能在函数中声明接口类型
1392:接口类型不能有数据成员
1393:接口类型不能包含友元声明
1395:接口类型不能是嵌套类类型
1396:接口类型不能有成员模板
1397:接口类型不能有静态成员函数
1398:此编译指示不能在__pragma运算符中使用(必须使用 #pragma 指令)
1399:限定符必须是 <type 的基类>
1400:声明必须对应于指定基类中的纯虚拟成员函数
1401:由于<类型的大小或复杂性,内部计算中出现整数溢出>
1402:内部计算中的整数溢出
1403:__w64 只能在 int、long 和指针类型上指定
1404:在 int、long 或指针类型宽度为 64 位的环境中编译时,可能会缩小转换范围
1405:编译指示包的当前值为<实体>
1406:忽略 pragma pack(show) 的参数
1409:忽略较早的 __declspec(align(...))
1410:应为 <entity> 属性参数的参数值
1411: <entity> 属性参数的参数值无效
1412:应为 <entity> 属性参数的布尔值
1413: 位置参数不能跟在属性中的命名参数后面
1414:属性<entity>没有名为 <entity> 的参数
1415:预期为 <entity> 属性的参数列表
1416:应为“,”或“]”
1417:属性参数 <entity> 已被赋予值
1418:无法将值分配给 <entity> 属性
1419: 抛出表达式可能没有指向不完整类型的指针
1420:应用于不完整类型的对齐运算符
1421:<实体>只能用作独立属性
此处不能使用 1422:<entity> 属性
1424:此处不允许使用属性
1425:<entity> 属性参数的参数值无效
1426:属性参数过多
1427:不允许从不可访问的基类<类型>转换
1428:“导出”选项需要不同的模板签名
1429:具有不同字符类型的字符串文字不能连接
1430: GNU 布局错误未被模拟,因为它将虚拟基础 <entity> 置于 <entity> 对象边界之外
1431:虚拟基础<实体>放置在<实体>对象边界之外
1432:命名空间成员声明中的非标准限定名称
1433:忽略对齐减少
1434:忽略 const 限定符
1436:__breakpoint 参数必须是整数编译时常量
1437:__breakpoint 编译 ARM 时,参数必须在 0-65535 之间
1438:__breakpoint 编译 Thumb 时,参数必须在 0-255 之间
1439:目标体系结构/处理器不支持 BKPT 指令
1440:超大位域布局将更改 -- 请考虑以“<entity>:0;”开头
1441:左值上的非标准铸造
C 规范指出“赋值运算符应具有可修改的左左值”和“强制转换不产生左值”。
1442:如果要将多态基类用于导出派生,则需要导出它们
1443:需要导出通过虚拟派生继承的多态基类
1444:通过虚派生继承的多态基类需要导出所有虚函数
1445: 无效的 GNU asm 限定符
1446:通过省略号传递的非 POD 类类型
1447: 非 POD 类类型无法被va_arg提取
ISO C++ 标准定义可变参数函数的非必需参数必须是普通旧数据 (POD) 类型,例如 int 或 char,但不能是结构或类。
为了避免错误或警告,可以改为提供类或结构的地址。
1448:在定点文字中,“u”或“U”后缀必须出现在“l”或“L”后缀之前
1449:选项“fixed_point”只能在编译 C 时使用
1450: 整数操作数可能导致定点溢出
1451:定点常数超出范围
1452:定点值无法准确表示
1453:常量对于长长来说太大;给定无符号长长类型(非标准)
1454:布局限定符无法限定指向共享无效的指针
1455:多维数组类型的重复 THREADS
1456: 强 using 指令可能只出现在命名空间作用域中
1457:<entity>声明一个非模板函数 -- 添加<>以引用模板实例
1458:操作可能导致定点溢出
1459:表达式必须具有积分类型、枚举类型或定点类型
1460:表达式必须具有整数或定点类型
1461:用“noreturn”声明的函数返回
1462:ASM 名称被忽略,因为它与以前的声明冲突
1463:类成员 typedef 不能重新声明
1464:获取临时地址
1465:属性在不是定义的类声明中被忽略
1466:隐式转换为浮点类型的定点值
1467:定点类型没有分类
1468: 模板参数可能没有定点类型
1469:不允许使用十六进制浮点常量
1470:选项“named_address_spaces”只能在编译 C 时使用
1471:浮点值不适合所需的定点类型
1472:值不能完全转换为定点值
1473:定点转换导致符号变化
1474:整数值不适合所需的定点类型
1475:定点运算结果超出范围
1476:多个命名地址空间
1477:具有自动存储持续时间的变量不能存储在命名地址空间中
1478:不能使用命名地址空间限定类型
1479:函数类型不能用命名地址空间限定
1480:字段类型不能用命名地址空间限定
1481:定点值不适合所需的浮点类型
1482:定点值不适合所需的整数类型
1483:值不适合所需的定点类型
1484:选项“named_registers”只能在编译 C 时使用
1485:此处不允许使用命名寄存器存储类
1486:<实体>使用不兼容的命名寄存器存储类重新声明
1487:不能为别名变量指定 named-register 存储类
1488:named-register 存储说明符已在使用中
1489:选项“embedded_c”不能与控制单个嵌入式 C 功能的选项组合使用
1490:无效EDG_BASE目录:
1492: <entity>行的预定义宏条目无效: <reason>
1493: 无效的宏模式名称 <entity>
1494:预定义宏<实体>的不兼容重定义
1495:重新声明<实体>缺少命名寄存器存储类
1496:命名寄存器对于变量的类型来说太小
1497:不能使用命名寄存器存储类声明数组
1498:const_cast枚举类型是非标准的
1499:选项“embedded_c”只能在编译 C 时使用
1500:__svc 参数 <entity> 不在 Thumb SVC 指令的允许范围内(0 到 )
1501:__svc或__svc_indirect函数的参数过多
1502:__svc或__svc_indirect函数的参数必须具有整数类型
1503:__svc_indirect函数必须有参数
1504:函数的第一个参数必须具有整__svc_indirect类型
1505:__svc或__svc_indirect函数的结果必须在整数寄存器中返回
1506:源文件<实体>格式不正确
1507:写入 <entity> 文件时出错:<reason>
1508:不能重载仅由函数限定符区分的函数
1509:函数限定符 <entity> 不允许在虚拟成员函数上使用
1510:函数“__attribute__((__<entity>__))”存在于覆盖的虚函数<entity>上必须存在于覆盖函数上
1511:函数限定符 <entity> 在重写的虚拟函数 <entity> 上不相同
1512:函数限定符 <entity> 存在于覆盖的虚函数 <entity> 上必须存在于覆盖函数上
1513:此处不允许使用命名地址空间限定符
1514: 空初始值设定项对于未指定绑定的数组无效
1515:函数返回不完整的类类型 <type>
1516:<entity> 已初始化;类外初始值设定项将被忽略
1517:声明隐藏<实体>
1518: 不能在命名地址空间中分配参数
1519:定点或浮点常量上的后缀无效
1520: 寄存器变量不能在命名地址空间中分配
1521:预期的“SAT”或“默认”
1522:<entity>没有相应的成员运算符 delete<entity>(如果在初始化已分配对象期间引发异常,则调用)
1523: 线程局部变量不能用“dllimport”或“dllexport”声明
1524: 函数返回类型不能使用命名地址空间进行限定
1525: 不能为元素具有非平凡析构函数的灵活数组成员指定初始值设定项
1526: 不能为间接灵活数组成员指定初始值设定项
1527:无效的 GNU 版本号:
1528:忽略在带括号的初始值设定项之后出现的变量属性
1529:此转换的结果不能用作左值
1530:否定无符号定点值
1531:此时不允许使用此运算符;使用括号
1533:寄存器名称只能用于寄存器变量
1534:named-register 变量不能具有 void 类型
1536:参数不能有链接范围说明符
1537:多链接范围说明符
1538:链接范围说明符只能出现在具有外部链接的函数和变量上
1539:重新声明不能削弱链接范围
1540:此声明不允许使用链接范围说明符
1541:全局范围声明中的非标准限定名称
1542:将 64 位整数类型隐式转换为更小的整数类型(潜在的可移植性问题)
1543:将 64 位整数类型显式转换为较小的整数类型(潜在的可移植性问题)
1544:从指针转换为相同大小的整数类型(潜在的可移植性问题)
1546:类定义中不允许使用友元说明符;忽略友元说明符
1547:只有静态变量和外部变量可以使用线程本地存储
1548:多个线程本地存储说明符
1549:未定义虚拟<实体>(并且无法在其他地方定义,因为它是未命名命名空间的成员)
1550:注释或字符/字符串文本之外的源行中的回车符
1551:表达式必须具有定点类型
1552:访问说明符的无效使用被忽略
1553:指针转换为布尔值
1554:指向成员的指针转换为 bool
1555:存储说明符被忽略
1556:在类模板上忽略 DLLEXPORT 和 DLLIMPORT
1557:基类 DLLexport/DLLIMPORT 规范与派生类的规范不同
1558:重新声明无法将 dllexport/dllimport 添加到 <entity>
如果禁止显示此消息,则行为就像省略了 dllexport 或 dllimport 一样。例如:
void f(void);
__declspec(dllimport) void f(void) { } /* suppress treats asvoid f(void) { } */
1559:假定 dllexport/dllimport 与 <entity>od; dllexport 冲突
这表示实体同时标记为 dllimport 和 dllexport。在这种情况下,编译器假定实体是 dllexport。
在以下示例中,函数定义 foo() 与声明 __declspec(dllimport) void foo() 冲突。在这种情况下,编译器假定 dllexport。
---test.cpp---
__declspec(dllimport) void foo();
void foo()
{
}
------------
armcc -c test.cpp
"test.cpp", line 3: Warning: #1559-D: dllexport/dllimport conflict with "foo" (declared at line 1); dllexport assumed
fromelf -s test.o
...
# Symbol Name Value Bind Sec Type Vis Size
====================================================================
6 _Z3foov 0x00000000 Gb 1 Code Pr 0x4
...
警告消息和符号可见性表明函数 foo() 是假定为 dllexport 的。
1560:无法定义 dllimport 实体
1561:DLLexport/DLLIMPORT 需要外部链接
1562:用 dllexport/dllimport 声明的类的成员本身不能用这样的说明符声明
1563:在具有 DLL 接口的类中使用不带 DLL 接口的类类型的字段
1564:括号内的成员声明不规范
1565:忽略行拼接中的反斜杠和换行符之间的空格
1566:dllexport/dllimport 与 <entity>od; dllimport/dllexport 冲突已删除
1567: 匿名成员类的无效成员 -- 类<类型>具有不允许的成员函数
1568:非标准reinterpret_cast
1569:位置格式说明符不能为零
1570: 局部类无法从封闭函数引用可变长度数组类型
1571:成员<实体>已具有显式 dllexport/dllimport 说明符
1572: 函数返回类型中不允许使用可变长度数组
1573:指向类型为 <type> 的成员的指针中不允许使用可变长度数组类型
1574: 语句表达式的结果不能具有涉及可变长度数组的类型
1575:内联汇编程序不支持加载/存储转换。使用嵌入式汇编程序或离线汇编程序
1576: 内联汇编程序不支持标志设置乘法指令。使用嵌入式汇编程序或离线汇编程序
1577:内联汇编程序不支持使用常量操作数设置标志的 MOV/MVN 指令。使用嵌入式汇编程序或离线汇编程序
1578: 自动变量上忽略 ASM 名称
1579:无法内联:未知的异常处理代码
1581:无法优化:此函数禁止循环分析 - 需要最大值作为内部函数
1582:无法优化:此可变大小专用数组禁止并发
1583: 不允许写入输出文件。输出抑制
1584:无法优化:无法转换临时变量
1585:与功能相关的错误
1586:用户禁用一个循环中的混合数据大小
1587:无法优化:此行中的数据类型会阻止循环优化
1588:无法优化:无法转换此循环出口
1589:非法数组维度
1590:无法优化:太大而无法优化 - 减小文件或循环大小
1591:非法算术表达式
1592:不平衡括号
1593:无法优化:使用无符号索引会阻止优化
1594:无法优化:循环参数必须为整数才能进行完全优化
1595:内在函数的参数数量非法
1596:无法优化:函数引用阻止高级循环优化
1597:不允许长度为 0 的字符串
1598:无法优化:从一个循环传递到另一个循环传递的标量值反馈
1599:无法优化:没有足够的有用工作来优化
1600:无法优化:无法转换此类型转换
1601:不正确的 elseif 语句
1602:非法子程序
1603:循环嵌套不当
1604:无法优化:引用此函数会禁止优化
1605:语句将行扩展超过缓冲区的大小
1606:写入输出文件时出现问题 -- 检查权限
1607:数组未声明
1608:切换错误 - 关键字不正确
1609:无法优化:例程对于某些优化来说太大
1610:环路没有出口
1611:规范语句中的语法非法
1612:无法优化:潜在的多存储冲突
1613:无法优化:多存储冲突
1614:非法符号
1615:无法优化:循环迭代之间的潜在反馈
1616:无法优化:数组元素的反馈
1617:无法优化:循环太复杂
1618:无法优化:具有非单位步幅的混合数据类型
1619:声明和使用的下标数量不匹配
1620:内部故障:转换失败。请联系您的供应商
1621:优化:消除死代码
1622:未引用的标签
1623:缺少标签
1624:无法优化:重叠条件过多,无法进行高效翻译
1625:未处理条件散射
1627:无法优化:循环参数太复杂
1628:无法优化:字符数据类型阻止优化
1629:无法优化:迭代计数太短,无法进行数组优化
1630:缺少>
1631:未知语句
1632:优化:取消了提升标量
1633:没有为此符号提供隐式数据类型
1634:无法优化:分支到循环
1635:无法优化:循环嵌套太深
1636:无法优化:变量的复杂使用
1637:未知编译指示 - 忽略
1638: 无法确定临时标量的最后一个值
1639:如果可能,使用 nolstval 指令
1640:无法优化:在不同条件下使用标量会导致反馈
1641:无法优化:数据依赖关系问题过多
1642:可能无法优化:由于等效性,可能存在数据依赖性 - 请检查
1643:优化:推广环绕标量
1644:预期的左括号
1645:预期的变量名称
1646:预期的数组下标
1647:预期的右括号
1648:预计生产线结束
1649:等价错误
1651:无法优化:此循环中使用的数据类型不可用
1652:全局流遍历(前向)失败
1653:全局流遍历(向后)失败
1654:形式参数可能不等价
1655:优化:使用运行时单位步幅测试制作的矢量版本
1656:编译指示语法中的问题
1657:内在函数参数的类型错误
1658:硬件不支持 32 位整数乘法
1659:无法优化:存储重叠加载 - 无法分析对齐方式
1661:无法优化:无法优化向后传输
1662:无法优化:需要提升标量的最后一个值
1663:无法优化:循环外的分支阻止转换
1665:优化:消除重复子表达式
1666:参数形状不匹配
1667:间接寻址已关闭
1668:优化:阵列去线性化
1669:非法函数语句
1670:优化:if循环转换为for循环
1671:找不到输入文件
1672:无法优化:不支持大于 int 的数据大小
1673:优化:If 循环转换为 while 循环
1674:不允许使用假定的形状、大小、可分配或指针
1675:无法优化:外循环已使用循环索引
1676:无法优化:此语句阻止循环优化
1677: 内部错误:未知的词法处理状态。请联系您的供应商
1678:无法优化:此循环无法进行矢量化
1679:优化:循环矢量化
1680:共同数组的维数值必须为常数
1681:开关输入错误
1682:无法优化:拆分条件缩减会阻止循环转换
1683:无法优化:存储到函数中
1684:忽略数组上的 & 运算符
1685:操作数和运算符不匹配
1686:无法优化:冒号语法阻止分析
1687:无法优化:约简函数被抑制 - 需要关联转换
1688:已解决不明确的下标问题
1689:不支持的操作
1690:无法优化:显式向量运算不支持的数据类型
1691:优化:循环与上一个循环融合
1692:空 int
1693:零大小的物体
1694:无法优化:循环过大
1695:非法字符:
1696:数组元素的反馈,第 %s1 行发生冲突。(%s2)
1697:无法优化:此 I/O 语句阻止循环优化
1698:回报不可优化
1699:停止不可优化
1700: 不能为常量参数赋值
1701:优化:使用分支删除
1702:已使用但此时未定义的变量
1703:未使用此定义
1704:此处不允许使用用户功能
1705:已使用但从未定义的变量
1706:非法声明
1707:无法优化:分支太复杂,无法在此优化级别进行优化
1708:无法优化:行太长 - 拆分为更小的行
1709:无法优化:条件标量阻止优化外部循环
1710:无法优化:迭代计数中的用户函数引用
1711:空循环体
1712:内部临时淘汰
1713:无法优化:外部循环设置内部循环迭代计数
1714:无法优化:外循环有条件地执行内循环
1715:无法优化:自动阵列阻止内联扩展
1716:无法优化:行太长 - 拆分为更小的行
1717:内部故障:程序转换停止。请联系您的供应商
1718:无法优化:与循环变量关联的指针会阻止分析
1719:自动阵列不能放在公共区域
1720:无法优化:此语句禁止循环转换
1724:用户逻辑指令阻止翻译
1729:存储到位宽变量的潜在位溢出
1730:沿此循环未执行索引
1731:无法优化:内部依赖产生外部依赖
1732:常量是数字或字符过多
1733:在指令中使用但未声明的数组
1734:不平衡端
1735:缺少 endif(s)
1736:无法优化:分支到 if 块
1739:编译指示后面的多余字符
1740:变量已定义但从未使用
1741:无法优化:潜在反馈(等价)
1742:无法优化:数组元素的反馈(等价数组)
1743:无法优化:循环参数在循环中重置
1745:无法优化:由于指针导致的潜在数据依赖性,如果正常,请使用限制限定符
1746: 子程序名称不能用作变量
1749:函数引用中的参数数量不一致
1750:优化:循环重新滚动
1751:可能无法优化:输入包含保留字
1752:非法使用 =
1754:不处理 Dim 和 mask 参数
1755:无法优化:无法处理这些向量常量
1756:无法优化:无法转换此转换函数
1757:优化:处理此函数所需的关联转换
1759:无法优化:非单位步幅干扰矢量优化
1760:此指令的指定范围无效 - 忽略
1771:无法优化:挥发性项目阻止分析
1773:无法优化:生成的表达式太复杂
1774:超出优化后允许的最大符号数
1775:无法优化:GNU 扩展阻止内联
1789:无法优化:数组维度太小,无法优化
1790:无效的参数语句
1791:未找到例程的源
1792:读取扩展文件时出错
1793:扩展例程太大,无法自动扩展
1794:解析扩展例程时遇到错误
1795:扩展调用时的参数表达式无效
1796:参数目录表溢出
1797:调用和扩展例程之间的参数不匹配
1798:无法优化:嵌套级别太深,无法自动扩展
1799:内部故障:生成的新标签过多。请联系您的供应商
1800:无法优化:超出了扩展函数的最大数量
1801:优化:功能扩展
1802:在输入文件中找不到函数的源
1803:无法优化:循环增量为 0
1805:无法优化:未处理位常量
1807:无法优化:内联扩展中的表溢出
1808:变量仅作为形式参数出现
1809:扩展例程中的函数与非函数冲突
1810:迭代计数表达式中的溢出
1811:赋值语句左侧的参数常数
1812:参数数量冲突的函数引用
1813:函数定义冲突
1814:无法优化:代码大小影响优化
1816:缺少 if 或大括号
1819年:缺少 的结尾
1820: 这两种数据类型之间无法转换
1821:逻辑表达式错误
1822:无法优化:数据太复杂,无法进行此缩减操作的矢量化
1823:无法优化:函数作为参数传递
1824:无法优化:没有足够的向量运算来证明翻译的合理性
1825:无法优化:无法矢量化复杂条件
1826:无法优化:并行语法阻止扩展
1828:在这种情况下,字符是非法的
1829:无法优化:字节数据类型不支持矢量化
1831:优化:常数传播
1832年:定义已删除
1833:生成函数的声明冲突
1834:打开输出文件时出错(权限可能被拒绝)
1835:指令放置不当 - 被忽略
1838:排列指令的不恰当参数 - 被忽略
1840年:算术运算的顺序可能已更改
1841年:此循环需要剥离挖掘
1842:重复的重新维度声明 - 指令被忽略
1843:扩展例程中的重复标签
1844年:扩展例程中的标签过多
1845:算术表达式减少为非法除以 0
1846:整数常数不在允许的范围内
1847:无法优化:使用指针变量
1849:参数必须是非负整数常量或参数
1850:无法优化:展开参数过大
1853:无法优化:循环包含太多语句,无法展开
1858:无法优化:约简标量类型不匹配
1861:无法优化:此存储到数组中会阻止优化外部循环
1864:无法优化:没有足够的工作来证明并发优化的合理性
1866:无法优化:非整数下标
1877:无法优化:在循环外使用循环索引
1885:无法优化:循环边界超出数组尺寸
1886:优化:使用并行截面优化的循环
1887年:需要预订
1888:无法优化:矢量化数据类型不合适
1889:无法优化:由于程序大小,禁止生成备用代码
1890:嵌套大于 9 的命令文件
1891:程序语句无效
1892:无法优化:使用逻辑数组会阻止矢量化
1893:-k 选项中的错误 -- 忽略
1894:优化:为了避免依赖,迭代从循环中剥离出来
1895:优化:如果消除,则为冗余
1896年:优化:简化逻辑子句
1902年:实际参数维度小于临时参数维度
1903:参数的数据类型不匹配
1904:无法优化:标量实际参数传递给临时数组参数
1909:无法优化:临时数组的宽度与实际数组的宽度不匹配
1910:无法优化:语句抑制扩展
1911:无法优化:用作函数引用的子例程
1912:无法优化:调用语句中使用的函数阻止扩展
1913年:指令中的参数列表不正确
1915:无法优化:Switch 使用字符参数抑制扩展
1916:无法优化:常量参数抑制内联扩展
1917:无法优化:常量参数是读取的目标
1918:无法优化:用户并行指令禁止转换
1919:无法优化:无法确定字符子字符串长度
1920:不允许在 include 语句上使用标签
1921:可在定义之前使用
1922:无法优化:无法确定临时数组和/或实际数组的宽度
1923:无法优化:如果语句未展开,则算术中的函数
1924:实际阵列宽度和临时阵列宽度之间的潜在差异
1925年:非法使用未下标的阵列
1926年:不能在赋值的左侧有常量或函数
1927年:赋值左侧的参数是非法的
1928年:作业的左侧有1个以上的操作数
1930年:预期等号,忽略行的余数
1931年:预期的右括号,假设一个
1932:无法优化:自动扩展的符号太多
1933年:无法优化:传递给 do-loop 索引的数组或常量参数会阻止扩展
1935年:指令具有无效或缺失的参数列表
1936:预期的正整数 - 无效的参数
1937:预期变量 - 参数无效
1938:未找到变量
1939年:表溢出
1942:无法优化:没有足够的可矢量化工作来证明翻译的合理性
1945年:无法优化:找到内联装配块
1947:无法优化:无法转换数据类型和操作的这种组合
1948年:PGO:热循环;优化默认值被覆盖。
1949年:PGO:冷回路;优化被抑制。
1950年:PGO:热函数;优化默认值被覆盖。
1951年:PGO:冷功能;优化被抑制。
1952年:PGO:热回路;不变IF去除完成。
1953年:PGO:冷回路;抑制不变的IF去除。
1954年:PGO:热循环;默认内联条件被覆盖。
1955年:PGO:冷回路;内联抑制。
1956年:PGO:热循环;启用展开。
1970:无法优化:符合性问题
1971年:不允许重复开关参数
1972:无法优化:语句函数包含优化抑制剂
1973年:优化:在内部循环之外移动不变
1974年:优化:剥离内环,剥离环移出外环
1975年:无法优化:存储到缺少下标的数组中会抑制外部循环
1976年:无法优化:无法使条件数组符合
1977年:无法优化:内循环问题阻止了外循环的优化
1978:无法优化:无法优化用户选择的循环
1979:无法优化:此操作禁止循环转换
1980年:优化:在外循环之外移动不变
1981年:无法优化:不兼容的选项(固定、免费)阻止扩展
1982年:无法优化:不兼容的选项(onetrip、noonetrip)阻止扩展
1983年:无法优化:不兼容的选项(混合、混合)阻止扩展
1984年:无法优化:不兼容的选项(autodbl)阻止扩展
1985年:优化:循环切碎(大小)
1986年:优化:循环斩断(固有)
1987年:优化:循环切换
1988年:优化:生成替代代码
1991年:数据语句中数据项多于变量
1992年:数据语句中的变量多于数据项
1993年:参数数量不匹配
1994年:参数数据类型不匹配
1995年:常量或表达式传递给修改后的变量
1997年:优化:展开恒定长度循环
1999:优化:循环将被拆分,以避免数组之间的缓存冲突
2000:声明了局部变量,但从未使用