GCC测试包的原理
来源:互联网 发布:js的加载顺序 编辑:程序博客网 时间:2024/06/03 13:37
在GCC testsuite目录下的测试程序,有下面特点
1对测试时,GCC工作到哪一步的指示,是写在注释里的,例如注释“// { dg-do compile }”表示对当前C文件只编译而不运行,“// { dg-do run }”表示编译并运行。
2对前端的测试也在注释中指定,例如对下面程序行
printf ("%hhn", s); /* { dg-warning "format" "%hhn plain char" } */
行尾的注释表示编译该行时,应产生一条warning信息,以及warning信息应匹配的格式。类似的,dg-error表示编译对应程序行时,应产生一条error信息。
3对于运行结果是否正确的验证,有一部分是写在程序里,当比较的结果不对时直接调用abort()
另一部分与输入/输出有关的验证,可能是通过Expect脚本也完成的。Expect脚本中启动这个程序(用spawn命令),当程序要求输入时,用send “string”命令将一个字符串发送给程序,之后调用expect ”outstring”命令等待程序的输出时与预期是否匹配,outstring可以是一个正规式,比如expect –re “.*abc$”表示输出结果应以abc结尾
4还有一些注释是指定目标机的,例如注释{ target { powerpc*-*-* && lp64 } }
表示当前机器仅是这些目标机时,才测试当前C程序。
这些指示性注释在GCC INTERNAL 6.4.2节
- GCC测试包的原理
- GCC -lm 的原理
- GCC编译程序的原理
- gcc profiling的工作原理
- gcc profiling的工作原理
- gcc profiling的工作原理
- gcc 的性能测试工具
- GCC的优化效果测试
- 闭包的原理
- GCC原理
- 安装gcc时的依赖包
- linux安装gcc需要的依赖包
- 安装gcc、make的rpm包
- 测试:递归的原理
- 透析avr-gcc的中断处理原理
- 透析avr-gcc的中断处理原理
- gcc 的过程及原理 -o
- GCC的优化效果测试:2
- Cg(C for Graphic)语言概述
- 新时代新潮流WebOS 【8】手机OS,上三路与下三路
- javaBean+JSP+JS+XML实现从发布文章中自动提取图片在首页轮换效果
- oracle cursor_sharing参数
- 英语语法:名词性从句讲解
- GCC测试包的原理
- cg profiles,什么是profiles,以及如何使用CGC编译Cg语言
- 书讯 —《庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术》第二次印刷已经出版发行
- 新时代新潮流WebOS 【9】脸谱的故事
- vc++中“fatal error C1075: end of file found before the left brace '{'”错误的解决方法
- Eclipse以及MyEclipse中防止代码格式化时出现换行的情况
- Delphi源码免杀定位MAP的方法
- 新时代新潮流WebOS 【10】为什么需要Webkit?
- 新时代新潮流WebOS 【11】何为性感何为炫?