1===================================== 2Clang 3.4 (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.4 release. You may 14 prefer the `Clang 3.3 Release Notes 15 <http://llvm.org/releases/3.3/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.4. 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.4? 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 50Improvements to Clang's diagnostics 51^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 52 53Clang's diagnostics are constantly being improved to catch more issues, 54explain them more clearly, and provide more accurate source information 55about them. The improvements since the 3.3 release include: 56 57- ... 58 59New Compiler Flags 60------------------ 61 62- ... 63 64C Language Changes in Clang 65--------------------------- 66 67- Added new checked arithmetic builtins for security critical applications. 68 69C11 Feature Support 70^^^^^^^^^^^^^^^^^^^ 71 72... 73 74C++ Language Changes in Clang 75----------------------------- 76 77- Fixed an ABI regression, introduced in Clang 3.2, which affected 78 member offsets for classes inheriting from certain classes with tail padding. 79 See PR16537. 80 81- ... 82 83C++11 Feature Support 84^^^^^^^^^^^^^^^^^^^^^ 85 86... 87 88Objective-C Language Changes in Clang 89------------------------------------- 90 91... 92 93Internal API Changes 94-------------------- 95 96These are major API changes that have happened since the 3.3 release of 97Clang. If upgrading an external codebase that uses Clang as a library, 98this section should help get you past the largest hurdles of upgrading. 99 100Wide Character Types 101^^^^^^^^^^^^^^^^^^^^ 102 103The ASTContext class now keeps track of two different types for wide character 104types: WCharTy and WideCharTy. WCharTy represents the built-in wchar_t type 105available in C++. WideCharTy is the type used for wide character literals; in 106C++ it is the same as WCharTy, but in C99, where wchar_t is a typedef, it is an 107integer type. 108 109... 110 111libclang 112-------- 113 114... 115 116Static Analyzer 117--------------- 118 119The static analyzer (which contains additional code checking beyond compiler 120warnings) has improved significantly in both in the core analysis engine and 121also in the kinds of issues it can find. 122 123Core Analysis Improvements 124========================== 125 126- ... 127 128New Issues Found 129================ 130 131- ... 132 133Python Binding Changes 134---------------------- 135 136The following methods have been added: 137 138- ... 139 140Significant Known Problems 141========================== 142 143Additional Information 144====================== 145 146A wide variety of additional information is available on the `Clang web 147page <http://clang.llvm.org/>`_. The web page contains versions of the 148API documentation which are up-to-date with the Subversion version of 149the source code. You can access versions of these documents specific to 150this release by going into the "``clang/docs/``" directory in the Clang 151tree. 152 153If you have any questions or comments about Clang, please feel free to 154contact us via the `mailing 155list <http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev>`_. 156