Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
194 views
in Technique[技术] by (71.8m points)

c++ - What do internal compiler error messages mean, and what can I do?

I was trying to compile my C++ program, which uses MPICH and NAG C library (I use NAG to generate random numbers), with a pgCC compiler.

However, the compiler gave me the following error message:

PGCC-S-0000-Internal compiler error. linearize: bad ili #:       0 (mpisim.C: 225)
PGCC-S-0000-Internal compiler error. gen_aili: unrec. ili opcode:       0 (mpisim.C: 225)
PGCC-S-0000-Internal compiler error. linearize: bad ili #:       0 (mpisim.C: 266)
PGCC-S-0000-Internal compiler error. gen_aili: unrec. ili opcode:       0 (mpisim.C: 266)
PGCC/x86 Linux 12.4-0: compilation completed with severe errors

I have no idea what these messages are referring to. Can someone explain to me what they mean?

Is there a way for me to figure out the position of the problematic line(s)? Does the 255 in (mpisim.C: 225) indicate the line number in my code?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

An internal compiler error is a bug in the compiler. There's not much you can do short of raising the problem with the compiler vendor.

Usually, ICEs happen when you attempt to compile incorrect code, but it is also entirely conceivable for a compiler to choke on valid C++. The language is so complex that it is hard to test every possible feature in all possible combinations.

If you manage to figure out the line of code that's causing the crash, you could try and rewrite it in simpler terms (e.g. by introducing additional local variables or typedefs).


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...