作者: Hanspeter Mössenböck , Bram Adams , Stefan Marr , Manuel Rigger
DOI:
关键词: Feature (computer vision) 、 Implementation 、 Computer science 、 Software engineering 、 Compiler
摘要: C programs can use compiler builtins to provide functionality that the language lacks. On Linux, GCC provides several thousands of are also supported by other mature compilers, such as Clang and ICC. Maintainers tools lack guidance on whether which should be implemented support popular projects. To assist tool developers who want builtins, we analyzed builtin in 4,913 projects from GitHub. We found 37% these relied at least one builtin. Supporting an increasing proportion requires exponentially number builtins; however, implementing only 10 already covers over 30% Since many our corpus remained unused, effort needed 90% is moderate, requiring about 110 implemented. For each project, evolution time majority mostly added builtins. This suggests not a legacy feature must future tools. Systematic testing existing revealed lacked for either partially or completely; discovered incorrect implementations various tools, including formally verified CompCert compiler.