1 ===================================== 2 Clang 3.4 (In-Progress) Release Notes 3 ===================================== 4 5 .. contents:: 6 :local: 7 :depth: 2 8 9 Written 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 17 Introduction 18 ============ 19 20 This document contains the release notes for the Clang C/C++/Objective-C 21 frontend, part of the LLVM Compiler Infrastructure, release 3.4. Here we 22 describe the status of Clang in some detail, including major 23 improvements from the previous release and new feature work. For the 24 general LLVM release notes, see `the LLVM 25 documentation <http://llvm.org/docs/ReleaseNotes.html>`_. All LLVM 26 releases may be downloaded from the `LLVM releases web 27 site <http://llvm.org/releases/>`_. 28 29 For more information about Clang or LLVM, including information about 30 the latest release, please check out the main please see the `Clang Web 31 Site <http://clang.llvm.org>`_ or the `LLVM Web 32 Site <http://llvm.org>`_. 33 34 Note that if you are reading this file from a Subversion checkout or the 35 main Clang web page, this document applies to the *next* release, not 36 the current one. To see the release notes for a specific release, please 37 see the `releases page <http://llvm.org/releases/>`_. 38 39 What's New in Clang 3.4? 40 ======================== 41 42 Some of the major new features and improvements to Clang are listed 43 here. Generic improvements to Clang as a whole or to its underlying 44 infrastructure are described first, followed by language-specific 45 sections with improvements to Clang's support for those languages. 46 47 Major New Features 48 ------------------ 49 50 Improvements to Clang's diagnostics 51 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 52 53 Clang's diagnostics are constantly being improved to catch more issues, 54 explain them more clearly, and provide more accurate source information 55 about them. The improvements since the 3.3 release include: 56 57 - ... 58 59 New Compiler Flags 60 ------------------ 61 62 - ... 63 64 C Language Changes in Clang 65 --------------------------- 66 67 - Added new checked arithmetic builtins for security critical applications. 68 69 C11 Feature Support 70 ^^^^^^^^^^^^^^^^^^^ 71 72 ... 73 74 C++ 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 83 C++11 Feature Support 84 ^^^^^^^^^^^^^^^^^^^^^ 85 86 ... 87 88 Objective-C Language Changes in Clang 89 ------------------------------------- 90 91 ... 92 93 Internal API Changes 94 -------------------- 95 96 These are major API changes that have happened since the 3.3 release of 97 Clang. If upgrading an external codebase that uses Clang as a library, 98 this section should help get you past the largest hurdles of upgrading. 99 100 Wide Character Types 101 ^^^^^^^^^^^^^^^^^^^^ 102 103 The ASTContext class now keeps track of two different types for wide character 104 types: WCharTy and WideCharTy. WCharTy represents the built-in wchar_t type 105 available in C++. WideCharTy is the type used for wide character literals; in 106 C++ it is the same as WCharTy, but in C99, where wchar_t is a typedef, it is an 107 integer type. 108 109 ... 110 111 libclang 112 -------- 113 114 ... 115 116 Static Analyzer 117 --------------- 118 119 The static analyzer (which contains additional code checking beyond compiler 120 warnings) has improved significantly in both in the core analysis engine and 121 also in the kinds of issues it can find. 122 123 Core Analysis Improvements 124 ========================== 125 126 - ... 127 128 New Issues Found 129 ================ 130 131 - ... 132 133 Python Binding Changes 134 ---------------------- 135 136 The following methods have been added: 137 138 - ... 139 140 Significant Known Problems 141 ========================== 142 143 Additional Information 144 ====================== 145 146 A wide variety of additional information is available on the `Clang web 147 page <http://clang.llvm.org/>`_. The web page contains versions of the 148 API documentation which are up-to-date with the Subversion version of 149 the source code. You can access versions of these documents specific to 150 this release by going into the "``clang/docs/``" directory in the Clang 151 tree. 152 153 If you have any questions or comments about Clang, please feel free to 154 contact us via the `mailing 155 list <http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev>`_. 156