1======================================= 2Clang 4.0.0 (In-Progress) Release Notes 3======================================= 4 5.. contents:: 6 :local: 7 :depth: 2 8 9Written by the `LLVM Team <http://llvm.org/>`_ 10 11.. warning:: 12 13 These are in-progress notes for the upcoming Clang 4.0.0 release. You may 14 prefer the `Clang 3.9 Release Notes 15 <http://llvm.org/releases/3.9.0/tools/clang/docs/ReleaseNotes.html>`_. 16 17Introduction 18============ 19 20This document contains the release notes for the Clang C/C++/Objective-C 21frontend, part of the LLVM Compiler Infrastructure, release 4.0.0. Here we 22describe the status of Clang in some detail, including major 23improvements from the previous release and new feature work. For the 24general LLVM release notes, see `the LLVM 25documentation <http://llvm.org/docs/ReleaseNotes.html>`_. All LLVM 26releases may be downloaded from the `LLVM releases web 27site <http://llvm.org/releases/>`_. 28 29For more information about Clang or LLVM, including information about 30the latest release, please check out the main please see the `Clang Web 31Site <http://clang.llvm.org>`_ or the `LLVM Web 32Site <http://llvm.org>`_. 33 34Note that if you are reading this file from a Subversion checkout or the 35main Clang web page, this document applies to the *next* release, not 36the current one. To see the release notes for a specific release, please 37see the `releases page <http://llvm.org/releases/>`_. 38 39What's New in Clang 4.0.0? 40========================== 41 42Some of the major new features and improvements to Clang are listed 43here. Generic improvements to Clang as a whole or to its underlying 44infrastructure are described first, followed by language-specific 45sections with improvements to Clang's support for those languages. 46 47Major New Features 48------------------ 49 50- ... 51 52Improvements to Clang's diagnostics 53^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 54 55- ... 56 57New Compiler Flags 58------------------ 59 60The option -Og has been added to optimize the debugging experience. 61For now, this option is exactly the same as -O1. However, in the future, 62some other optimizations might be enabled or disabled. 63 64 65The option .... 66 67New Pragmas in Clang 68----------------------- 69 70Clang now supports the ... 71 72 73Attribute Changes in Clang 74-------------------------- 75 76- ... 77 78Windows Support 79--------------- 80 81Clang's support for building native Windows programs ... 82 83 84C Language Changes in Clang 85--------------------------- 86 87- ... 88 89... 90 91C11 Feature Support 92^^^^^^^^^^^^^^^^^^^ 93 94... 95 96C++ Language Changes in Clang 97----------------------------- 98 99... 100 101C++1z Feature Support 102^^^^^^^^^^^^^^^^^^^^^ 103 104... 105 106Objective-C Language Changes in Clang 107------------------------------------- 108 109... 110 111OpenCL C Language Changes in Clang 112---------------------------------- 113 114... 115 116OpenMP Support in Clang 117---------------------------------- 118 119... 120 121Internal API Changes 122-------------------- 123 124These are major API changes that have happened since the 3.9 release of 125Clang. If upgrading an external codebase that uses Clang as a library, 126this section should help get you past the largest hurdles of upgrading. 127 128- ... 129 130AST Matchers 131------------ 132 133... 134 135libclang 136-------- 137 138... 139 140With the option --show-description, scan-build's list of defects will also 141show the description of the defects. 142 143 144Static Analyzer 145--------------- 146 147... 148 149Core Analysis Improvements 150========================== 151 152- ... 153 154New Issues Found 155================ 156 157- ... 158 159Python Binding Changes 160---------------------- 161 162The following methods have been added: 163 164- ... 165 166Significant Known Problems 167========================== 168 169Additional Information 170====================== 171 172A wide variety of additional information is available on the `Clang web 173page <http://clang.llvm.org/>`_. The web page contains versions of the 174API documentation which are up-to-date with the Subversion version of 175the source code. You can access versions of these documents specific to 176this release by going into the "``clang/docs/``" directory in the Clang 177tree. 178 179If you have any questions or comments about Clang, please feel free to 180contact us via the `mailing 181list <http://lists.llvm.org/mailman/listinfo/cfe-dev>`_. 182