1
我们最近碰到一个在我们构建重复在不同的位置以下编译器错误:什么原因导致“遗漏但未输入”GCC编译器错误?
line-map.c: file "<a source_file name>" left but not entered
源文件是在构建不同位置有不同。过了一段时间,编译器终于引发了以下错误:
<header file>: In function `<function name that is not present within the given header file>':
<same header file>:-117020: internal compiler error: in final_scan_insn, at final.c:1790
大量的调查后,我们发现,这个错误在不同的头文件所引起的一些#define语句:
#define GEOGRAPHIC_LOC_TYPE_CGI 0
#define GEOGRAPHIC_LOC_TYPE_SAI 1
#define GEOGRAPHIC_LOC_TYPE_RAI 2
#define GEOGRAPHIC_LOC_TYPE_TAI 128
#define GEOGRAPHIC_LOC_TYPE_ECGI 129
#define GEOGRAPHIC_LOC_TYPE_TAI_AND_ECGI 130
我们将这些#define从它们当前存在的头文件移到.c文件中,这是它们当前正在使用的唯一位置。然后,我们再也看不到编译器错误了。
任何人都可以解释上述编译器错误的含义和为什么此修复程序工作?
感谢, 瑞安
有时,内部编译器错误可能是完全随机的,在这种情况下,最可能的解释是内存芯片失效。 – 2009-12-05 23:03:28