LLVM Clang 9.0将附带OpenCL C++ 17的实验性支持
LLVM 9.0的稳定版本预计将在未来几周内与Clang 9.0等子项目一起发布。根据发行说明,即将推出的Clang 9.0版本将提供对OpenCL中的C++ 17功能的实验性支持,asm goto支持等等。
Clang 9.0.0中有什么新功能
OpenCL中对C++ 17功能的实验支持
Clang 9.0.0将为OpenCL中的C++ 17功能提供实验支持。实验支持包括在大多数C++特性中改进的地址空间行为。支持特定于OpenCL的类型,例如图像,采样器,事件和管道。此外,使用特定的编译器生成的内核可以从主机端调用全局构造函数。
Clang中的C语言更新
Clang 9.0.0包含__FILE_NAME__宏作为所有C系列语言支持的Clang特定扩展。它与__FILE__宏非常相似,只是它会在可能的情况下始终提供最后一个路径组件。
另一个特定于C语言的更新是对asm goto语句的初始支持,以控制从内联汇编到标签的流程。该构造将主要由Linux内核(CONFIG_JUMP_LABEL=y)和glib使用。
使用Clang 9.0构建Linux内核
随着asm goto支持的增加,x86_64的主线Linux内核现在可以与Clang 9一起构建和启动。该团队补充道,“Android和ChromeOS Linux发行版已经开始用Clang构建他们的Linux内核,谷歌目前正在测试Clang为他们的Linux内核生成内核。“
构建系统更改
以前,install-clang-headers目标用于安装clang的资源目录头。使用Clang 9.0,此安装将由install-clang-resource-headers目标完成。
“旧的install-clang-headers目标的用户应切换到新的install-clang-resource-headers目标。 install-clang-headers目标现在安装clang的API头文件(对应于它的库),这与install-llvm-headers目标一致。“
要了解Clang 9.0还有哪些内容,请查看其官方发行说明。
- LLVM/Clang 9.0增加对Zen 2 “znver2”处理器的支持
- llvm+clang 添加 LTO(Link Time Optimization) 支持
- LLVM Clang 9.0添加“-ftime-trace”以生成有用的时间跟踪分析数据
- C++ 编译器对C++11、14、17的支持情况
- 英特尔为BFloat16添加GCC 10和LLVM Clang 9编译器支持
- 升级Win下工具链以支持C++17
- 升级工作环境并支持C++17
- LLVM 9.0-RC2 发布,LLVM 10切换到C++ 14
- C++的多维数组(MultiArray)实现,附带实验性实作
- IBM正在考虑向LLVM/Clang添加AIX支持
- LLVM Clang 9.0采用初始C2x语言模式
- GCC 6.1带来新的C++17特性、完全支持OpenMP、改进了OpenACC
- 现代C++(11/14/17)对并发的支持
- opencl:改造C++接口增加对内存编译(compile)的支持
- 转:windows下使用gvim搭建简单的IDE编译环境(支持C/C++/Python等)
- FireBreak框架: 用C++打造多浏览器支持的插件
- error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat)
- 读书笔记 effective c++ Item 17 使用单独语句将new出来的对象放入智能指针
- VC9.0 Express下如何创建支持VB6的DLL,以及字符串传递
- c++ 17介绍