57段让编译器崩溃的C语言代码

导读:本文由犹他州大学的计算机系的 John Regehr 整理。

虽然我不清楚到底有多少人喜欢看让编译器崩溃的程序,但这篇文章就是给这些的人(包括我)。我们讨论编译器Bug测试案例的论文就包括很多这种崩溃型的Bug。下文是就是这些 C 语言代码段,由工具逐字输出,代码格式上肯定会有些问题。(代码段后面申明了对应被崩溃的编译器,有读者问为什么没有 MSVC 编译器的,Regehr 回复说他们并没有测试MSVC 。)

看完这些程序,我们就能总结出什么东西吗?这很难说…… 很多 C 语言代码段是不容易看出来有问题,如果了解其中问题,我们需要知道一个特定编译器内部解析代码的细节。

C1 : Crashes Clang 2.6 at -O0:

C2 : Crashes Clang 2.6 at -O2:

C3 : Crashes Clang 2.6 at -O2:

C4 : Crashes Clang 2.6 at -O3:

C5 : Crashes Clang 2.6 at -O2:

C6 : Crashes Clang 2.6 at -O0:

C7 : Crashes Clang 2.6 at -O1:

C8 : Crashes Clang 2.6 at -O1:

C9 : Crashes Clang 2.6 at -O2:

C10 : Crashes Clang 2.6 at -O1:

C11 : Crashes Clang 2.7 at -O1:

C12 : Crashes Clang 2.7 at -O0:

C13 : Crashes Clang 2.7 at -O2:

C14 : Crashes GCC 3.2.0 at -O1:

C15 : Crashes GCC 3.2.0 at -O3:

C16 : Crashes GCC 3.2.0 at -O3:

C17 : Crashes GCC 3.2.0 at -O2:

C18 : Crashes GCC 3.2.0 at -O1:

C19 : Crashes GCC 3.2.0 at -O3:

C20 : Crashes GCC 3.3.0 at -O3:

C21 : Crashes GCC 3.4.0 at -O3:

C22 : Crashes GCC 3.4.0 at -O3:

C23 : Crashes GCC 4.0.0 at -O2:

C24 : Crashes GCC 4.0.0 at -O2:

C25 : Crashes GCC 4.0.0 at -O0:

C26 : Crashes GCC 4.0.0 at -O1:

C27 : Crashes GCC 4.0.0 at -O0:

C28 : Crashes GCC 4.0.0 at -O2:

C29 : Crashes GCC 4.1.0 at -O1:

C30 : Crashes GCC 4.1.0 at -O1:

C31 : Crashes GCC 4.1.0 at -O2:

C32 : Crashes GCC 4.1.0 at -O1:

C33 : Crashes GCC 4.1.0 at -O1:

C34 : Crashes GCC 4.1.0 at -O3:

C35 : Crashes GCC 4.2.0 at -O1:

C36 : Crashes GCC 4.2.0 at -O1:

C37 : Crashes GCC 4.3.0 at -O1:

C38 : Crashes GCC 4.3.0 at -O2:

C39 : Crashes GCC 4.3.0 at -O3:

C40 : Crashes GCC 4.3.0 at -O1:

C41 : Crashes GCC 4.3.0 at -O3:

C42 : Crashes Intel CC 12.0.5 at -O1:

C43 : Crashes Open64 4.2.4 at -O3:

C44 : Crashes Open64 4.2.4 at -O3:

C45 : Crashes Open64 4.2.4 at -O3:

C46 : Crashes Open64 4.2.4 at -O2:

C47 : Crashes Open64 4.2.4 at -O3:

C48 : Crashes Open64 4.2.4 at -O3:

C49 : Crashes Open64 4.2.4 at -O3:

C50 : Crashes Sun CC 5.11 at -xO4:

C51 : Crashes Sun CC 5.11 at -fast:

C52 : Crashes Sun CC 5.11 at -xO4:

C53 : Crashes Sun CC 5.11 at -fast:

C54 : Crashes Sun CC 5.11 at -xO0:

C55 : Crashes Sun CC 5.11 at -xO3:

C56 : Crashes Sun CC 5.11 at -xO4:

C57 : Crashes Sun CC 5.11 at -fast:

 

英文原文:John Regehr     编译:伯乐在线 – 黄利民

【如需转载,请标注并保留原文链接、译文链接和译者等信息,谢谢合作!】

 

1 收藏 评论

关于作者:黄利民

伯乐在线联合发起人,关注 IT 和互联网。 个人主页 · 我的文章 · 97 ·  

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部