1===================================== 2Clang 3.9 (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 3.9 release. You may 14 prefer the `Clang 3.8 Release Notes 15 <http://llvm.org/releases/3.8.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 3.9. 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 3.9? 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- Feature1... 51 52Improvements to Clang's diagnostics 53^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 54 55Clang's diagnostics are constantly being improved to catch more issues, 56explain them more clearly, and provide more accurate source information 57about them. The improvements since the 3.7 release include: 58 59- ... 60 61New Compiler Flags 62------------------ 63 64The option .... 65 66 67New Pragmas in Clang 68----------------------- 69 70Clang now supports the ... 71 72Windows Support 73--------------- 74 75Clang's support for building native Windows programs ... 76 77TLS is enabled for Cygwin defaults to -femulated-tls. 78 79 80C Language Changes in Clang 81--------------------------- 82The -faltivec and -maltivec flags no longer silently include altivec.h on Power platforms. 83 84... 85 86C11 Feature Support 87^^^^^^^^^^^^^^^^^^^ 88 89... 90 91C++ Language Changes in Clang 92----------------------------- 93 94- ... 95 96C++11 Feature Support 97^^^^^^^^^^^^^^^^^^^^^ 98 99... 100 101Objective-C Language Changes in Clang 102------------------------------------- 103 104... 105 106OpenCL C Language Changes in Clang 107---------------------------------- 108 109... 110 111Internal API Changes 112-------------------- 113 114These are major API changes that have happened since the 3.8 release of 115Clang. If upgrading an external codebase that uses Clang as a library, 116this section should help get you past the largest hurdles of upgrading. 117 118- ... 119 120AST Matchers 121------------ 122 123- hasAnyArgument: Matcher no longer ignores parentheses and implicit casts on 124 the argument before applying the inner matcher. The fix was done to allow for 125 greater control by the user. In all existing checkers that use this matcher 126 all instances of code ``hasAnyArgument(<inner matcher>)`` must be changed to 127 ``hasAnyArgument(ignoringParenImpCasts(<inner matcher>))``. 128 129... 130 131libclang 132-------- 133 134... 135 136Static Analyzer 137--------------- 138 139... 140 141Core Analysis Improvements 142========================== 143 144- ... 145 146New Issues Found 147================ 148 149- ... 150 151Python Binding Changes 152---------------------- 153 154The following methods have been added: 155 156- ... 157 158Significant Known Problems 159========================== 160 161Additional Information 162====================== 163 164A wide variety of additional information is available on the `Clang web 165page <http://clang.llvm.org/>`_. The web page contains versions of the 166API documentation which are up-to-date with the Subversion version of 167the source code. You can access versions of these documents specific to 168this release by going into the "``clang/docs/``" directory in the Clang 169tree. 170 171If you have any questions or comments about Clang, please feel free to 172contact us via the `mailing 173list <http://lists.llvm.org/mailman/listinfo/cfe-dev>`_. 174