本文介绍: C++ Support in ClangClang – C++ Programming Language StatusClang implements the following published and upcoming ISO C++ standards:Language Standard Flag Available in Clang? C++98 / C++03 –std=c++98 Yes (other thanexport) C++11 -..

关于clang

https://en.wikipedia.org/wiki/Clang

7 September 2017 Clang 5.0.0 released
19 January 2018 Clang becomes default compiler in OpenBSD 6.3 on arm.[54]
5 March 2018 Clang is now used to build Google Chrome for Windows.[55]
8 March 2018 Clang 6.0.0 released
5 September 2018 Clang is now used to build Firefox for Windows.[56]
19 September 2018 Clang 7.0.0 released
20 March 2019 Clang 8.0.0 released
1 July 2019 Clang becomes default compiler in OpenBSD 6.6 on mips64.[57]
19 September 2019 Clang 9.0.0 released with officiaRISC-V target support.[58]
29 February 2020 Clang becomes the only C compiler in the FreeBSD base system, with the removal of GCC.[59]
24 March 2020 Clang 10.0.0 released
2 April 2020 Clang becomes default compiler in OpenBSD 6.7 on powerpc.[60]
12 October 2020 Clang 11.0.0 released
21 December 2020 Clang becomes default compiler in OpenBSD 6.9 on mips64el.[61]
14 April 2021 Clang 12.0.0 released
4 October 2021 Clang 13.0.0 released
25 March 2022 Clang 14.0.0 released

 关于LLVM

在 Xcode 中,LLVM 编译器使用 Clang 前端(LLVM.org基于 C 的语言项目)来解析源代码并将其转换临时格式然后 LLVM 代码生成层(后端)将该临时格式转换为最终的机器代码。Xcode 还包括 LLVM GCC 编译器,它使用 GCC 编译前端以获得最大兼容性,以及 LLVM 后端,它利用 LLVM 的高级代码生成器。这显示基于库的编译开发方法的灵活性。由于采用 LLVM,Xcode可以使用许多其他功能例如链接时间优化、更详细诊断信息,甚至静态分析

LLVM Compiler Overview

The LLVM Compiler Infrastructure Project

Download LLVM releases

 

C++ Support in Clang

Clang – C++ Programming Language Status

Clang implements the following published and upcoming ISO C++ standards:

Language Standard Flag Available in Clang?
C++98 / C++03 std=c++98 Yes (other than export)
C++11 std=c++11 Clang 3.3
C++14 std=c++14 Clang 3.4
C++17 std=c++17 Clang 5
C++20 std=c++20 Partial
C++2b (tentatively C++23) std=c++2b Partial

apple clang

It’s just that Apple Clang and LLVM Clang use different release cycles. So one release 13.0 is not the same as the other release 13.0…

You can compare them here

Compiler support for C++20 – cppreference.com

 Compiler support for C++20

Compiler support for C++20 – cppreference.com

 C++ 编译支持

C++ compiler support – cppreference.com

 Xcodeclang版本关系

Xcode clang version record · GitHub

https://en.wikipedia.org/wiki/Xcode#Toolchain_versions

macOS 系统与Xcode版本关系概览

XcodeVersionInfo – MacPorts

Xcode Release Notes Clang相关更新

Apple Developer Documentation

Xcode 13

Apple clang version 13.0.0 (clang-1300.0.29.3)
包括适用于 iOS 15、iPadOS 15、tvOS 15、watchOS 8 和 macOS Big Sur 11.3 的 SDK。Xcode 13 版本支持 iOS 9 及更高版本、tvOS 9 及更高版本以及 watchOS 2 及更高版本的设备调试
Xcode 13 需要运行 macOS 11.3 或更高版本的 Mac

Xcode 13.3

Apple clang version 13.1.6 (clang-1316.0.21.2)

包括适用于 iOS 15.4、iPadOS 15.4、tvOS 15.4、watchOS 8.5 和 macOS Monterey 12.3 的 SDK。Xcode 13.3 版本支持 iOS 15.4、iPadOS 15.4、tvOS 15.4、watchOS 8.5 及更高版本的设备调试。Xcode 13.3 需要运行 macOS Monterey 12 或更高版本的 Mac

功能

解决问题

Xcode 12.5

Apple clang version 12.0.5 (clang-1205.0.22.9)

包括适用于 iOS 14.5、iPadOS 14.5、tvOS 14.5、watchOS 7.4 和 macOS Big Sur 11.3 的 SDK。Xcode 12.5 版本支持 iOS 9 及更高版本、tvOS 9 及更高版本以及 watchOS 2 及更高版本的设备上调试。Xcode 12.5 需要运行 macOS Big Sur 11 或更高版本的 Mac。

功能

Xcode 11

Apple clang version 11.0.0 (clang-1100.0.33.8)

可在 Mac App Store 中获得,包括适用于 iOS 13、macOS Catalina 10.15、watchOS 6 和 tvOS 13 的 SDK。Xcode 11 支持对运行 iOS 13.1 的设备进行开发。Xcode 11 支持 iOS 8 及更高版本、tvOS 9 及更高版本以及 watchOS 2 及更高版本的设备上调试。Xcode 11 需要运行 macOS Mojave 10.14.4 或更高版本的 Mac。

Xcode 11.5

Apple clang version 11.0.3 (clang-1103.0.32.62)

可在 Mac App Store 中获取,包括适用于 iOS 13.5、iPadOS 13.5、tvOS 13.4、watchOS 6.2 和 macOS Catalina 10.15.4 的 SDK。Xcode 11.5 版本支持 iOS 8 及更高版本、tvOS 9 及更高版本以及 watchOS 2 及更高版本的设备上调试。Xcode 11.5 需要运行 macOS Catalina 10.15.2 或更高版本的 Mac。

解决问题

Xcode 10

Apple LLVM version 10.0.0 (clang-1000.11.45.2)

已在 Mac App Store 中提供,包括适用于 iOS 12、watchOS 5、macOS 10.14 和 tvOS 12 的 SDK。Xcode 10 支持 iOS 8 及更高版本、tvOS 9 及更高版本以及 watchOS 2 及更高版本的设备上调试。Xcode 10 需要运行 macOS 10.13.6 或更高版本的 Mac。

功能

已解决的问题

弃用

Xcode 10.2

Apple LLVM version 10.0.1 (clang-1001.0.46.3)

包括适用于 iOS 12.2、watchOS 5.2、macOS 10.14.4 和 tvOS 12.2 的 SDK。Xcode 10.2 支持 iOS 8 及更高版本、tvOS 9 及更高版本以及 watchOS 2 及更高版本的设备上调试。Xcode 10.2 需要运行 macOS 10.14.3 或更高版本的 Mac。

功能

已解决的问题

 Clang 14.0.0 Release Notes

Clang 14.0.0 Release Notes — Clang 14.0.0 documentation

Clang 15.0.0git documentation

Clang 15.0.0git documentation

“libc++” C++ Standard Library 

“libc++” C++ Standard Library — libc++ 15.0.0git documentation

Libc++ aims to support common compilers that implement the C++11 Standard. In order to strike a good balance between stability for users and maintenance cost, testing coverage and development velocity, libc++ drops support for older compilers as newer ones are released.

Compiler Versions Restrictions Support policy
Clang 13, 14 latest two stable releases per LLVM’s release page
AppleClang 13 latest stable release per Xcode’s release page
Open XL 17.1 (AIX) latest stable release per Open XL’s documentation page
GCC 11 In C++11 or later only latest stable release per GCC’s release page

Libc++ also supports common platforms and architectures:

Target platform Target architecture Notes
macOS 10.9+ i386, x86_64, arm64 Building the shared library itself requires targetting macOS 10.11+
FreeBSD 10+ i386, x86_64, arm
Linux i386, x86_64, arm, arm64
Windows i386, x86_64 Both MSVC and MinGW style environments
AIX powerpc, powerpc64

关于Clang

Clang Compiler User’s Manual

Clang – Getting Started

原文地址:https://blog.csdn.net/liang890319/article/details/124880339

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_44278.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注